(57)【要約】      （修正有）【課題】第１の基本ソフトウェア上に仮想化されたコンピュータ装置を機能させる第２の基本ソフトウェアにおいて、全体の処理速度を高速化する情報処理装置を提供する。【解決手段】仮想化手段１２ｅにより仮想化されたコンピュータ装置（ＶＭ）におけるアプリケーションソフトウェア２２からの入力に応じて、仮想化手段１２ｅにより第１の基本ソフトウェア１２用の一時記憶手段１２ｃに確保された第２の基本ソフトウェア２１用の仮想化された記憶領域に記憶されたデータの読み書きを操作する第２の操作手段２１ｂ、を有する第２の基本ソフトウェア２１と、を備えた。【選択図】図２
2015215782.tif 000002
【特許請求の範囲】
【請求項１】
情報を処理する情報処理部と、入力を行う入力装置と、データを記憶する記憶装置と、を有するコンピュータ装置と、
前記コンピュータ装置においてアプリケーションソフトウェアを機能させる第１の基本ソフトウェアであって、前記記憶装置からのデータの読み書きの制御を行う装置制御手段と、前記装置制御手段で読み出されたデータを一時的に記憶する一時記憶手段と、アプリケーションソフトウェアからの入力に応じて前記装置制御手段を介して前記記憶装置に記憶されたデータの読み書きを操作する操作手段であって、読み出し対象のデータが前記一時記憶手段に記憶されている場合には前記一時記憶手段からデータを読み出す前記操作手段と、前記コンピュータ装置を仮想化する仮想化手段と、を有する第１の基本ソフトウェアと、
前記仮想化手段により仮想化されたコンピュータ装置においてアプリケーションソフトウェアを機能させる第２の基本ソフトウェアであって、前記仮想化されたコンピュータ装置におけるアプリケーションソフトウェアからの入力に応じて、前記仮想化手段により前記第１の基本ソフトウェア用の一時記憶手段に確保された前記第２の基本ソフトウェア用の仮想化された記憶領域に記憶されたデータの読み書きを操作する第２の操作手段、を有する前記第２の基本ソフトウェアと、
を備えたことを特徴とする情報処理装置。
【請求項２】
情報を処理する情報処理部と、入力を行う入力装置と、データを記憶する記憶装置と、を有するコンピュータ装置と、
前記コンピュータ装置においてアプリケーションソフトウェアを機能させる第１の基本ソフトウェアであって、前記記憶装置からのデータの読み書きの制御を行う装置制御手段と、前記装置制御手段で読み出されたデータを一時的に記憶する一時記憶手段と、アプリケーションソフトウェアからの入力に応じて前記装置制御手段を介して前記記憶装置に記憶されたデータの読み書きを操作する操作手段であって、読み出し対象のデータが前記一時記憶手段に記憶されている場合には前記一時記憶手段からデータを読み出す前記操作手段と、前記コンピュータ装置を仮想化する仮想化手段と、を有する第１の基本ソフトウェアと、
前記仮想化手段により仮想化されたコンピュータ装置においてアプリケーションソフトウェアを機能させる第２の基本ソフトウェアであって、前記仮想化されたコンピュータ装置におけるアプリケーションソフトウェアからの入力に応じて前記第１の基本ソフトウェアの前記装置制御手段を介して前記記憶装置に記憶されたデータの読み書きを操作する第２の操作手段であって、読み出し対象のデータが前記第１の基本ソフトウェアの前記一時記憶手段に記憶されている場合には前記一時記憶手段からデータを読み出す前記第２の操作手段、を有する前記第２の基本ソフトウェアと、
を備え、
前記仮想化手段は、前記第１のソフトウェア用の一時記憶手段に、前記第２の基本ソフトウェア用の仮想化された記憶領域を確保する
ことを特徴とする情報処理装置。
【請求項３】
不揮発性メモリにより構成された前記記憶装置、
を備えたことを特徴とする請求項１または２に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を処理する情報処理装置に関し、特に、第１の基本ソフトウェア上に情報処理装置を仮想化して仮想化された情報処理装置に第２の基本ソフトウェアが組み込まれた情報処理装置に関する。
【背景技術】
【０００２】
近年、ますます重要性が高まるクラウド環境（ネットワークに接続された複数のコンピュータ装置で情報の処理や提供等が可能な環境）におけるビッグデータ（大容量のデジタルデータ）処理のため、高性能と省電力化を両立するためのハードウェアとして、小型・単純化された省電力ＣＰＵマシンの高集積クラスタ（省電力クラスタ）が登場しつつある。クラウド環境は、仮想化された情報処理装置（ＶＭ：Virtual  Machine）を用いて構築されることが一般的である。また、ビッグデータ処理においては、ストレージ（情報の記憶装置）として高速な不揮発性メモリ（ＮＶＭ：Non-Volatile  Memory）を使用したストレージ（ＳＳＤ: Solid State Drive）が用いられつつある。
省電力クラスタ上では、ＶＭ上でオペレーティングシステム（ＯＳ：基本ソフトウェア）を実行する際に、ＶＭにおけるＣＰＵ個々の性能は低下するため、ソフトウェアとしての高性能化を図ることが課題である。
【０００３】
図７は従来のコンピュータ装置の仮想化技術の一例の説明図であり、図７Ａはハイパーバイザー型の仮想化技術の説明図であり、図７ＢはＯＳのカーネルに仮想化ソフトウェアが組み込まれた仮想化技術の説明図である。
図７において、従来のコンピュータ装置を仮想化する技術では、図７Ａに示すように、ストレージ等の記憶装置やキーボード等の入力装置、ディスプレイ等の出力装置を含むハードウェア０１は、ハイパーバイザー（上位の管理者）０２のみが直接操作し、複数のＯＳ（ゲストＯＳ）０３は、すべて、ハイパーバイザー０２上で併存し、動作する構成が知られている。アプリケーションソフトウェア０４は、各ＯＳ０３にそれぞれ組み込まれている（インストールされている）。なお、図７Ａに示す技術の一例として、Ｖｍｗａｒｅ（登録商標）−ＥＳＸＩが知られている。
【０００４】
図７Ｂに示すように、ハードウェア０１に対して第１のＯＳ（ホストＯＳ）０２１が組み込まれ、ホストＯＳ０２１の中核（Kernel）の部分に、仮想化手段０２２の機能が内蔵された構成も知られている。仮想化手段０２２は、ゲストＯＳ０２３用に、ＣＰＵ（中央演算装置、情報処理部）やＲＡＭ（ランダムアクセスメモリ、一時記憶媒体）、ストレージ等を仮想化する。図７Ｂに示す構成では、ホストＯＳ０２１上に、第２のＯＳ（ゲストＯＳ）０２３が組み込まれる。そして、各ＯＳ０２１，０２３には、ホストＯＳ０２１上で機能するアプリケーションソフトウェア０２６や、ゲストＯＳ０２３上で機能するアプリケーションソフトウェア０２７が組み込まれる。
【０００５】
図７Ｂに示す技術の一例として、Ｖｍｗａｒｅ （登録商標）−ＷｏｒｋｓｔａｔｉｏｎやＶｉｒｔｕａｌ  Ｂｏｘ（商標）等が知られている。また、仮想化手段０２２をカーネルに内蔵された部分とホストＯＳ０２１上でアプリケーションとして組み込まれた部分とで分割された構成として、カーネルに内蔵された部分としては、ＫＶＭ（Kernel-based Virtual Machine）が知られており、アプリケーションとして組み込まれた部分としては、ＱＥＭＵ（商標）が知られている。また、ホストＯＳ０２１をハイパーバイザと特権ゲストＯＳで構成した例として、ＸＥＮ（登録商標）やＨｙｐｅｒ−Ｖ（商標）が知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
（従来技術の問題点）
図７Ａに示すハイパーバイザー型の仮想化技術では、ハイパーバイザー０２がハードウェア０１を制御するため、ハイパーバイザー０２がハードウェア０１に対応するソフトウェア（デバイスドライバ）を有する必要がある。よって、対応可能なハードウェア０１が少なくなりがちであり、ハイパーバイザー０２に対応するハードウェア０１を準備する必要があったり、新しいハードウェア０１への対応も不十分な場合もある。
一方で、図７Ｂに示す仮想化技術では、例えば、ゲストＯＳ０２３上のアプリケーションソフトウェア０２７がハードウェア０１の記憶装置から情報を読み出す場合に、ゲストＯＳ０２３、仮想化手段０２２、ホストＯＳ０２１を経由するため、全体として処理速度が遅くなる問題がある。
【０００７】
しかしながら、図７Ｂに記載された技術のように、ホストＯＳ上でゲストＯＳが機能する構成は、重複する機能が多く、オーバーヘッドが大きく、従来のＯＳ構成を変えない準仮想化やアウトソーシングといった軽量化手法には限界がある。また、ハードウェアによる仮想化支援機構はストレージについては十分対応していない。従来のＯＳにおけるブロックデバイス層は、ハードディスク（ＨＤＤ：Hard Disk  Drive）等のストレージの大きな遅延（ｍｓオーダー）を隠ぺいする機構としては有効であるが、不揮発性メモリストレージ(ＳＳＤ)はＨＤＤよりも数桁高速（μsオーダー）である。
【０００８】
本発明は、第１の基本ソフトウェア上に仮想化されたコンピュータ装置を機能させる第２の基本ソフトウェアにおいて、全体の処理速度を高速化することを技術的課題とする。
【課題を解決するための手段】
【０００９】
前記技術的課題を解決するために、請求項１に記載の発明の情報処理装置は、
情報を処理する情報処理部と、入力を行う入力装置と、データを記憶する記憶装置と、を有するコンピュータ装置と、
前記コンピュータ装置においてアプリケーションソフトウェアを機能させる第１の基本ソフトウェアであって、前記記憶装置からのデータの読み書きの制御を行う装置制御手段と、前記装置制御手段で読み出されたデータを一時的に記憶する一時記憶手段と、アプリケーションソフトウェアからの入力に応じて前記装置制御手段を介して前記記憶装置に記憶されたデータの読み書きを操作する操作手段であって、読み出し対象のデータが前記一時記憶手段に記憶されている場合には前記一時記憶手段からデータを読み出す前記操作手段と、前記コンピュータ装置を仮想化する仮想化手段と、を有する第１の基本ソフトウェアと、
前記仮想化手段により仮想化されたコンピュータ装置においてアプリケーションソフトウェアを機能させる第２の基本ソフトウェアであって、前記仮想化されたコンピュータ装置におけるアプリケーションソフトウェアからの入力に応じて、前記仮想化手段により前記第１の基本ソフトウェア用の一時記憶手段に確保された前記第２の基本ソフトウェア用の仮想化された記憶領域に記憶されたデータの読み書きを操作する第２の操作手段、を有する前記第２の基本ソフトウェアと、
を備えたことを特徴とする。
【００１０】
前記技術的課題を解決するために、請求項２に記載の発明の情報処理装置は、
情報を処理する情報処理部と、入力を行う入力装置と、データを記憶する記憶装置と、を有するコンピュータ装置と、
前記コンピュータ装置においてアプリケーションソフトウェアを機能させる第１の基本ソフトウェアであって、前記記憶装置からのデータの読み書きの制御を行う装置制御手段と、前記装置制御手段で読み出されたデータを一時的に記憶する一時記憶手段と、アプリケーションソフトウェアからの入力に応じて前記装置制御手段を介して前記記憶装置に記憶されたデータの読み書きを操作する操作手段であって、読み出し対象のデータが前記一時記憶手段に記憶されている場合には前記一時記憶手段からデータを読み出す前記操作手段と、前記コンピュータ装置を仮想化する仮想化手段と、を有する第１の基本ソフトウェアと、
前記仮想化手段により仮想化されたコンピュータ装置においてアプリケーションソフトウェアを機能させる第２の基本ソフトウェアであって、前記仮想化されたコンピュータ装置におけるアプリケーションソフトウェアからの入力に応じて前記第１の基本ソフトウェアの前記装置制御手段を介して前記記憶装置に記憶されたデータの読み書きを操作する第２の操作手段であって、読み出し対象のデータが前記第１の基本ソフトウェアの前記一時記憶手段に記憶されている場合には前記一時記憶手段からデータを読み出す前記第２の操作手段、を有する前記第２の基本ソフトウェアと、
を備え、
前記仮想化手段は、前記第１のソフトウェア用の一時記憶手段に、前記第２の基本ソフトウェア用の仮想化された記憶領域を確保する
ことを特徴とする。
【００１１】
請求項３に記載の発明は、請求項１または２に記載の情報処理装置において、
不揮発性メモリにより構成された前記記憶装置、
を備えたことを特徴とする。
【発明の効果】
【００１２】
請求項１，２に記載の発明によれば、従来の構成に比べて、第１の基本ソフトウェア上に仮想化されたコンピュータ装置を機能させる第２の基本ソフトウェアにおいて、全体の処理速度を高速化することができる。
請求項３に記載の発明によれば、記憶装置が不揮発性メモリにより構成されない場合に比べて、全体の処理速度を高速化することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は本発明の実施例１の情報処理システムの全体説明図である。
【図２】図２は本発明の実施例１の情報処理システムを構成する各装置の機能をブロック図（機能ブロック図）で示した説明図である。
【図３】図３は実施例１のメモリの仮想化の説明図である。
【図４】図４は図７Ｂに示す従来の構成におけるデータの読み出しに関する機能ブロック図である。
【図５】図５は実施例２の情報処理システムの機能ブロック図であり、実施例１の図２に対応する図である。
【図６】図６は従来の情報処理システムの機能ブロック図であり、実施例１の図４に対応する図である。
【図７】図７は従来のコンピュータ装置の仮想化技術の一例の説明図であり、図７Ａはハイパーバイザー型の仮想化技術の説明図であり、図７ＢはＯＳのカーネルに仮想化ソフトウェアが組み込まれた仮想化技術の説明図である。
【発明を実施するための形態】
【００１４】
次に図面を参照しながら、本発明の実施の形態の具体例（以下、実施例と記載する）を説明するが、本発明は以下の実施例に限定されるものではない。
なお、以下の図面を使用した説明において、理解の容易のために説明に必要な部材や手段以外の図示は適宜省略されている。
【実施例１】
【００１５】
図１は本発明の実施例１の情報処理システムの全体説明図である。
図１において、本発明の実施例１の情報処理システムＳは、情報処理装置の一例としてのパーソナルコンピュータ１を有する。パーソナルコンピュータ１は、通信回線の一例としてのインターネット２を介して、他の情報処理装置の一例としてのサーバー３等に情報の送受信が可能に接続されている。
【００１６】
実施例１のパーソナルコンピュータ１は、コンピュータ装置の一例としてのコンピュータ本体Ｈ１、出力装置の一例としてのディスプレイＨ２、入力装置の一例としてのキーボードＨ３、マウスＨ４を有する。実施例１のコンピュータ本体Ｈ１は、外部との信号の入出力および入出力信号レベルの調節等を行うＩ／Ｏ（入出力インターフェース）や、起動に必要な処理を行うためのプログラムおよびデータ等が記憶されたＲＯＭ（リードオンリーメモリ、記録媒体）、必要なデータ及びプログラムを一時的に記憶するためのＲＡＭ（ランダムアクセスメモリ、一時記録媒体）、ＲＯＭ等に記憶されたプログラムに応じた処理を行う情報処理部の一例としてのＣＰＵ（中央演算処理装置）、プログラムやデータ等を記憶する記憶装置の一例としてのストレージ、ＤＶＤ（Digital Versatile Disc）ドライブ等を有する。
【００１７】
なお、実施例１のコンピュータ本体Ｈ１では、ストレージの一例としての不揮発性メモリストレージ（ＳＳＤ）が使用されている。
また、実施例１のコンピュータ本体Ｈ１では、ＣＰＵとして、仮想化支援機能を有するＣＰＵが採用されている。仮想化支援機能を有するＣＰＵとしては、Ｉｎｔｅｌ（登録商標）−ＶＴやＡＭＤ（登録商標）−Ｖを採用する従来公知のＣＰＵを採用可能である。なお、これらの仮想化支援機能を有するＣＰＵでは、後述するゲストＯＳ２１におけるＣＰＵが仮想化される。したがって、ゲストＯＳ２１が仮想化されたＣＰＵを、ＣＰＵとして認識し、実際のＣＰＵの一部の処理能力が、ゲストＯＳ２１の仮想化されたＣＰＵに割り当てられる。
【００１８】
（実施例１の制御部の説明）
図２は本発明の実施例１の情報処理システムを構成する各装置の機能をブロック図（機能ブロック図）で示した説明図である。
図２において、パーソナルコンピュータ１は、前記ＲＯＭ及びＲＡＭ等に記憶されたプログラムを実行することにより種々の機能を実現することができる。
【００１９】
（パーソナルコンピュータ１の制御部の説明）
図２において、パーソナルコンピュータ１のストレージ１１には、パーソナルコンピュータ１の基本動作を制御する第１の基本ソフトウェア（オペレーティングシステム）の一例としてのホストＯＳ１２が記憶されている。なお、実施例１では、ホストＯＳ１２として、Ｌｉｎｕｘ（登録商標）を使用したが、これに限定されず、任意のＯＳを採用可能である。
ホストＯＳ１２には、ホストＯＳ上で機能するアプリケーションソフトウェアの一例として、ホームページの閲覧や文書作成、製図等を行うためのアプリケーションソフトウェア１３が組み込まれている（インストールされている）。
【００２０】
実施例１のホストＯＳ１２は、第１の中核部の一例としてのホストカーネル１２ａを有する。ホストカーネル１２ａは、ストレージ１１やＲＡＭ（メモリ）のリソースの管理、アプリケーションソフトウェア１３の監視、割り込み処理等のホストＯＳ１２の基本機能を提供する。
ホストカーネル１２ａは、装置制御手段の一例としてのブロックデバイスドライバ１２ｂと、一時記憶手段の一例としてのページキャッシュ１２ｃと、操作手段の一例としてのファイルシステム１２ｄとを有する。
【００２１】
ブロックデバイスドライバ１２ｂは、ストレージ１１からのデータの読み書きの制御を行う。ページキャッシュ１２ｃは、ブロックデバイスドライバ１２ｂによりストレージ１１から読み出されたデータやアプリケーションソフトウェア１３や後述するゲストＯＳ２１から書き込まれたデータを一時的に記憶する。ファイルシステム１２ｄは、アプリケーションソフトウェア１３からの入力に応じて、ブロックデバイスドライバ１２ｂを介してストレージ１１に記憶されたデータの読み書きを操作する。なお、ファイルシステム１２ｄは、読み出し対象のデータがページキャッシュ１２ｃに記憶されている場合にはページキャッシュ１２ｃからデータを読み出すことで、読み出しを高速化する。
なお、ホストＯＳ１２のブロックデバイスドライバ１２ｂは、アプリケーションソフトウェア１３等によりページキャッシュ１２ｃに書き込まれて記憶されているデータを、別のデータの読み出しが行われてページキャッシュ１２ｃの容量が不足する場合等の所定のタイミングで、適宜ストレージ１１に書き込んで保存する。
【００２２】
また、実施例１のホストカーネル１２ａは、パーソナルコンピュータ１を仮想化する第１の仮想化手段１２ｅを有する。実施例１の第１の仮想化手段１２ｅは、ホストカーネル１２ａに組み込まれた仮想化手段の一例としてのＫＶＭ（商標）を改修したものにより構成されているが、同様の構成を有する仮想化手段であれば、他の仮想化手段を採用可能である。
なお、実施例１の第１の仮想化手段１２ｅは、コンピュータ装置においてＣＰＵが直接アクセス可能なメモリ（揮発性）を仮想化する。すなわち、仮想化されたメモリ（揮発性）は、後述するゲストＯＳ２１にメモリ（揮発性）として認識される。
【００２３】
図３は実施例１のメモリの仮想化の説明図である。
また、実施例１の第１の仮想化手段１２ｅは、ゲストＯＳ２１のメモリ（揮発性）に加えて、ゲストＯＳ用の記憶領域の一例として、ゲストＯＳから不揮発性とみなせるメモリも仮想化する。すなわち、第１の仮想化手段１２ｅは、ゲストＯＳから不揮発性とみなせるメモリ（例えば、仮想化されたフラッシュメモリ）も提供する。
図３において、実施例１の第１の仮想化手段１２ｅは、ゲストＯＳ２１から不揮発性とみなせるメモリにおいてデータが記憶される住所、番地に相当する物理アドレスからなる物理アドレス空間（記憶領域）３１と、ページキャッシュ１２ｃ（ホストＯＳ１２の物理アドレス空間）との対応関係を特定する情報の一例としてのページテーブル３２を作成し、管理する。ページキャッシュ１２ｃには、前述のように、ブロックデバイスドライバ１２ｂによりストレージ１１から読み出された情報が一時的に記憶される。
【００２４】
したがって、実施例１では、ホストＯＳ１２のページキャッシュ１２ｃを、ゲストＯＳ２１のメモリ（不揮発性）としてマップしたものである。すなわち、実施例１の第１の仮想化手段１２ｅは、ホストＯＳ１２のページキャッシュ１２ｃに、ゲストＯＳ２１用の仮想化された不揮発性とみなせるメモリ（記憶領域）を確保する。
そして、実施例１では、ページキャッシュ１２ｃはストレージ１１とリンクしている。よって、ページキャッシュ１２ｃは、一時記憶領域であり揮発性であるが、ゲストＯＳ２１がページキャッシュ１２ｃに書き込んだデータは、ホストＯＳ１２がページキャッシュ１２ｃからストレージ１１へ適宜書き込むため、ゲストＯＳ２１からみると、不揮発性とみなせる。
【００２５】
図２において、実施例１のパーソナルコンピュータ１では、ホストＯＳ１２上に、第１の仮想化手段１２ｅを介して、第２の基本ソフトウェアの一例としてのゲストＯＳ２１が組み込まれている。なお、実施例１では、ゲストＯＳ２１として、Ｌｉｎｕｘ（登録商標）が使用されているが、任意のＯＳを採用可能である。また、ホストＯＳ１２とゲストＯＳ２１とは、同一のＯＳを採用することも可能であるし、異なるＯＳを採用することも可能である。また、Ｌｉｎｕｘ（登録商標）においても、同一のディストリビューションのＯＳを採用することも可能であるし、異なるディストリビューションのＯＳを採用することも可能である。
ゲストＯＳ２１には、ゲストＯＳ２１上で機能するアプリケーションソフトウェアの一例としてＨａｄｏｏｐ（商標）や、ホームページの閲覧や文書作成、製図等を行うためのアプリケーションソフトウェア２２を組み込み可能である（インストール可能である）。
【００２６】
また、実施例１のパーソナルコンピュータ１では、ホストＯＳ１２上に、第２の仮想化手段２３が組み込まれている。実施例１の第２の仮想化手段２３は、ホストＯＳ１２上にインストール可能な仮想化手段の一例としてのＱＥＭＵ（商標）により構成されているが、同様の構成を有する仮想化手段であれば、他の仮想化手段を採用可能である。なお、実施例１の第２の仮想化手段２３は、コンピュータ装置の入出力（Ｉ／Ｏ）が仮想化される。
したがって、実施例１のゲストＯＳ２１は、仮想化支援機能を有するＣＰＵにより仮想化されたＣＰＵと、第１の仮想化手段１２ｅにより仮想化されたメモリ（揮発性および不揮発性）と、第２の仮想化手段２３で仮想化されたＩ／Ｏと、を有する仮想化されたコンピュータ装置（ＶＭ: Virtual Machine）において、基本ソフトウェアとして機能する。
【００２７】
実施例１のゲストＯＳ２１は、第２の中核部の一例としてのゲストカーネル２１ａを有する。ゲストカーネル２１ａは、ホストカーネル１２ａと同様に、仮想化されたコンピュータ装置におけるゲストＯＳ２１の基本機能を提供する。
実施例１のゲストカーネル２１ａは、第２の操作手段の一例としてのファイルシステム２１ｂを有する。
【００２８】
実施例１のゲストカーネル２１ａのファイルシステム２１ｂは、ゲストＯＳ２１上のアプリケーションソフトウェア２２からの入力に応じて、ホストＯＳ１２のブロックデバイスドライバ１２ｂを介してストレージ１１に記憶されたデータの読み書きを操作する。ゲストＯＳ２１のファイルシステム２１ｂは、ゲストＯＳ２１の物理アドレス空間３１を通じて、ストレージ１１のデータを読み出す。したがって、ゲストＯＳ２１のファイルシステム２１ｂは、読み出し対象のデータがホストＯＳ１２のページキャッシュ１２ｃに記憶されている場合には、ページキャッシュ１２ｃからデータを読み出す。ページキャッシュ１２ｃに読み出し対象のデータが記憶されていない場合には、ブロックデバイスドライバ１２ｂを介して、ストレージ１１からデータを読み出す。
【００２９】
（実施例１の作用）
前記構成を備えた実施例１のパーソナルコンピュータ１では、ゲストＯＳ２１上でのアプリケーションソフトウェア２２における処理に伴って、ストレージ１１に記憶されたデータの読み書きが行われる場合、ゲストＯＳ２１のファイルシステム２１ｂが、ホストＯＳ１２のページキャッシュ１２ｃやブロックデバイスドライバ１２ｂを介して、ストレージ１１からデータを読み出す。
【００３０】
図４は図７Ｂに示す従来の構成におけるデータの読み出しに関する機能ブロック図である。
図４において、図７Ｂに示す従来の構成では、ホストＯＳ０２１のカーネル０２１ａは、ファイルシステム０２１ｂ、ページキャッシュ０２１ｃ、ブロックデバイスドライバ０２１ｄを有し、ゲストＯＳ０２３のカーネル０２３ａも、ホストＯＳ０２１のカーネル０２１ａと同様に、ファイルシステム０２３ｂ、ページキャッシュ０２３ｃ、仮想ブロックデバイスドライバ０２３ｄを有している。第２の仮想化手段０２４は、ゲストＯＳ０２３用の仮想ブロックデバイス（仮想化された記憶装置）０３１を仮想化している。
【００３１】
したがって、図４に示す従来の構成では、ゲストＯＳ０２３のアプリケーションソフトウェア０２７からの入力に応じてデータを読み出す場合には、ゲストＯＳ０２３のファイルシステム０２３ｂ、ページキャッシュ０２３ｃ、仮想ブロックデバイスドライバ０２３ｄを経由して、第１の仮想化手段０２２に読み出しの要求信号が行われ、第１の仮想化手段０２２は、仮想ブロックデバイス０３１から読み出そうとする。仮想ブロックデバイス０３１からデータを読み出そうとする要求がされた場合には、ホストＯＳ０２１のファイルシステム０２１ｂ、ページキャッシュ０２１ｃ、ブロックデバイスドライバ０２１ｄを介して、ストレージ０１からデータが読み出される。
【００３２】
ストレージ０１から読み出されたデータは、要求の信号が経由した経路を逆に辿ってアプリケーションソフトウェア０２７に送信される。なお、ページキャッシュ０２３ｃ，０２１ｃに読み出し対象のデータが記憶されていた場合には、ページキャッシュ０２３ｃ，０２１ｃから読み出す。
したがって、従来の構成では、ゲストＯＳ０２３上のアプリケーションソフトウェア０２７がデータを読み出そうとした場合には、重複するファイルシステム０２１ｂ，０２３ｂ、ページキャッシュ０２１ｃ，０２３ｃ、ブロックデバイスドライバ０２１ｄ，０２３ｄを経由する必要があり、全体の処理速度が低下する問題があった。
【００３３】
これに対して、実施例１のパーソナルコンピュータ１では、ゲストＯＳ２１のファイルシステム２１ｂがホストＯＳ１２のページキャッシュ１２ｃやブロックデバイスドライバ１２ｂを介して、ストレージ１１からデータを読み出している。よって、実施例１では、従来の構成に比べて、読み出しにかかる工数、段階が減る。したがって、ＯＳオーバーヘッド（処理の負荷）の削減およびスループット（単位時間あたりの処理能力）が向上し、全体の処理の負荷が軽量化される。また、重複する構成が削減されており、全体のソフトウェアの構成自体もシンプルになり、ソフトウェア容量の軽量化も可能である。特にページキャッシュ０２１ｃ，０２３ｃの重複が解消されており、メモリの使用効率が向上する。
【００３４】
また、従来のＨＤＤでは、データの読み出しにかかる時間（シークタイム）がｍｓオーダーであり、ＣＰＵでの処理速度がｎｓオーダーであったため、ＣＰＵの処理により読み出しの要求がされても、ＨＤＤからデータを読み出すまでに時間がかかっていた。よって、従来は、ＣＰＵは、読み出し要求を行ったあと、データが読み出されるまでの間に、他の処理（別のシーケンス）に切り替えて処理を行っていた。よって、全体の処理速度はさらに遅くなっていた。
【００３５】
しかしながら、不揮発性メモリを使用したＳＳＤでは、データの読み出しにかかる時間がμsオーダーに向上しているものもあり、処理の内容によっては、データが読み出されるまでの間に、他の処理をするのではなく、データの読み出しを待っていたほうが全体の処理が高速化する場合も発生してきている。よって、ＨＤＤを使用する場合に比べて、ＳＳＤを使用した実施例１では、ゲストＯＳ２１上のアプリケーションソフトウェア２２の処理において、他の処理が行われることに伴う遅延が低減され、アプリケーションソフトウェア２２の処理が高速化される。
【実施例２】
【００３６】
図５は実施例２の情報処理システムの機能ブロック図であり、実施例１の図２に対応する図である。
次に本発明の実施例２の説明をするが、この実施例２の説明において、前記実施例１の構成要素に対応する構成要素には同一の符号を付して、その詳細な説明は省略する。
この実施例２は下記の点で、前記実施例１と相違しているが、他の点では前記実施例１と同様に構成される。
【００３７】
図５において、実施例２の情報処理システムＳでは、ゲストＯＳのカーネル２１ａ′は、ファイルシステム２１ｂに加えて、ＲＡＭディスクドライバ２１ｃを有する。ＲＡＭディスクドライバ２１ｃは、第１の仮想化手段１２ｅで仮想化された不揮発性とみなせるメモリを、ＲＡＭディスクとしてアクセスする。よって、実施例２のＲＡＭディスクドライバ２１ｃは、第１の仮想化手段１２ｅで仮想化された不揮発性とみなせるメモリを通し、実施例１と同様に、ゲストＯＳ２１の物理アドレス空間３１を通じて、ストレージ１１のデータを読み出す。なお、実施例２のゲストＯＳ２１のファイルシステム２１ｂは、従来構成のファイルシステム２３ｂを用いることができ、ページキャッシュを設けることも可能である。
【００３８】
（実施例２の作用）
前記構成を備えた実施例２の情報処理システムＳでは、ゲストＯＳのＲＡＭディスクからデータを読み出す場合に、ホストＯＳのページキャッシュ１２ｃに直接通じて、ページキャッシュ１２ｃまたはストレージ１１からデータを読み出すことが可能である。
【００３９】
図６は従来の情報処理システムの機能ブロック図であり、実施例１の図４に対応する図である。
図６において、従来のゲストＯＳのＲＡＭディスク０４１では、ＲＡＭディスク０４１と、ストレージ１１とをリンク（連携）させる機能は存在しなかった。したがって、従来の構成では、ゲストＯＳ０２３上のＲＡＭディスク０４１にデータを格納する場合、ゲストＯＳ０２３用の仮想ブロックデバイス０３１から、ＲＡＭディスク０４１にデータをコピーする必要があり、結局、仮想ブロックデバイス０３１が必要となっていた。
【００４０】
これに対して、実施例２の情報処理システムＳでは、従来の構成と異なり、仮想ブロックデバイス０３１が不要となり、全体として、構成がシンプルになるとともに、遅延が低減され、処理を高速化することが可能である。
【００４１】
以上、本発明の実施例を詳述したが、本発明は、前記実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内で、種々の変更を行うことが可能である。
例えば、前記実施例において、仮想化手段として、ＣＰＵの仮想化支援機能と、第１の仮想化手段１２ｅ、第２の仮想化手段２３の３つからなる構成を例示したが、これに限定されず、１つの仮想化手段で実現することも可能である。また、第１の仮想化手段１２ｅと第２の仮想化手段２３を統合して１つにしたり、逆に、第１の仮想化手段１２ｅや第２の仮想化手段２３の機能を細分化して複数の仮想化手段にする等、仮想化手段の構成は、任意に変更可能である。また、仮想化支援機能を有するCPUを使用して、ハードウェアでＣＰＵの仮想化を行う構成を例示したが、これに限定されず、仮想化支援機能を有しないＣＰＵを使用し、ＣＰＵを仮想化手段でソフトウェア的に仮想化する構成とすることも可能である。
【００４２】
前記実施例において、ストレージ１１としてＳＳＤを使用することが望ましいが、ＨＤＤを使用することも可能である。また、ＣＤ（Compact  Disk）やＤＶＤ等の記憶媒体を使用することも可能である。
【符号の説明】
【００４３】
１…情報処理装置、
１１…記憶装置、
１２…第１の基本ソフトウェア、
１２ｂ…装置制御手段、
１２ｃ…一時記憶手段、
１２ｄ…操作手段、
１２ｅ…仮想化手段、
１３…アプリケーションソフトウェア、
２１…第２の基本ソフトウェア、
２１ｂ…第２の操作手段、
２２…アプリケーションソフトウェア、
Ｈ１…コンピュータ装置、
Ｈ３，Ｈ４…入力装置、
ＶＭ…仮想化されたコンピュータ装置。
【図１】
2015215782.tif 000003
【図２】
2015215782.tif 000004
【図３】
2015215782.tif 000005
【図４】
2015215782.tif 000006
【図５】
2015215782.tif 000007
【図６】
2015215782.tif 000008
【図７】
2015215782.tif 000009