(57)【特許請求の範囲】
【請求項１】
少なくともＣＰＵ、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第１のオペレーティングシステムと、この第１のオペレーティングシステム上で動作する第２のオペレーティングシステムと、この第２のオペレーティングシステム上で動作するプロセスとを備えて成る仮想計算機システムであって、
前記プロセスからの前記ストレージ装置に対するアクセス要求を受付て、当該アクセス要求を前記第１のオペレーティングシステムに備えられたファイルシステムに適合するように変換するアクセス要求変換手段を、前記第１のオペレーティングシステムに備えると共に、
この第１のオペレーティングシステムには、予めファイルシステム対応情報が利用可能に設置されており、
前記アクセス要求変換手段は、前記アクセス要求が前記第１のオペレーティングシステムで処理することができる内容か否かを前記ファイルシステム対応情報に基づいて判別する機能と、前記アクセス要求が前記第１のオペレーティングシステムで処理することができる内容であると判断した場合に前記アクセス要求を前記第１のオペレーティングシステムに備えられたファイルシステムに適合するように変換する機能とを有すると共に、
このアクセス要求変換手段は、前記プロセスからの前記アクセス要求を前記第１のオペレーティングシステムで処理できないと判断した場合には、当該アクセス要求を前記第２のオペレーティングシステムのファイルシステムに適合するよう変換し差し戻すよう構成されていることを特徴とした仮想計算機システム。
【請求項２】
請求項１に記載の仮想計算機システムにおいて、
前記アクセス要求変換手段が、
前記プロセスからの前記アクセス要求を受付けるアクセス要求受付機能と、前記アクセス要求が前記第１、第２の何れのオペレーティングシステムで処理すべきかを前記ファイルシステム対応情報に基づいて判別する判別機能とを備えると共に、
この判別結果に基づいて前記アクセス要求を変換処理するように構成されていることを特徴とした仮想計算機システム。
【請求項３】
少なくともＣＰＵ、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第１のオペレーティングシステムと、この第１のオペレーティングシステム上で動作する第２のオペレーティングシステムと、この第２のオペレーティングシステム上で動作するプロセスとを備えて成る仮想計算機システムにあって、前記プロセスから前記ストレージ装置に対してアクセスするストレージ用アクセス方法において、
前記プロセスからの前記ストレージ装置に対するアクセス要求を前記第１のオペレーティングシステムが受付ける第１の工程と、
このアクセス要求が前記第１のオペレーティングシステムで処理できるか否かをファイルシステム対応情報に基づいて第１のオペレーティングシステムのアクセス要求変換手段が判別する第２の工程と、
この第２の工程で前記第１のオペレーティングシステムで処理できると判別された場合に前記アクセス要求を前記第１のオペレーティングシステムのファイルシステムに適合するように前記アクセス要求変換手段が変換する第３の工程とを設けると共に、
第２の工程と第３の工程の間に、
前記第２の工程で、前記第１のオペレーティングシステムで処理できないと前記アクセス要求変換手段により判別された場合には、前記アクセス要求を、前記アクセス要求変換手段が前記第２のオペレーティングシステムのファイルシステムに適合するよう変換して差し戻すアクセス要求差し戻し工程を設けたことを特徴とするストレージ用アクセス方法。
【請求項４】
少なくともＣＰＵ、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第1 のオペレーティングシステムと、この第１のオペレーティングシステム上で動作する第２のオペレーティングシステムと、この第２のオペレーティングシステム上で動作するプロセスとを備えて成る仮想計算機システムにあって、
前記プロセスからの前記ストレージ装置に対するアクセス要求を前記第１のオペレーティングシステムで受付けるアクセス要求受付機能、
この受付けたアクセス要求が前記第１のオペレーティングシステムで処理できるか否かをファイルシステム対応情報に基づいて判別する適応性判別機能、
及びこの適応性判別機能にて前記アクセス要求が前記第１のオペレーティングシステムで処理できると判別された場合には当該アクセス要求を前記第１のオペレーティングシステムのファイルシステムに適合するよう変換する適合変換処理機能、
および前記適応性判別機能の実行過程で前記第１のオペレーティングシステムで処理できないと判別された場合には、前記アクセス要求を前記第２のオペレーティングシステムのファイルシステムに適合するよう変換して差し戻すアクセス要求差戻し機能を有し、
これらの各機能をコンピュータに実行させるように構成したことを特徴とするストレージアクセス用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機システムに係り、特にファイルシステムを高速化した仮想計算機システム及びそのファイルシステム高速化方法に関する。
【背景技術】
【０００２】
近年、古いプログラムをそのままで新しい計算機ハードウェア上で動作させたり、異なるオペレーティングシステム（Operating Systems：ＯＳ）で動いているサーバ等をそのまま一つの計算機ハードウェア上に統合して運用するなど仮想計算機の応用範囲が広がりつつある。
【０００３】
仮想計算機は、ＣＰＵ、メモリ等の計算機ハードウェアの上で動くオペレーティングシステム（「ホストＯＳ」と称する）上に仮想的なハードウェアを実現し、その仮想的なハードウェアとその上で動くオペレーティングシステム（「ゲストＯＳ」と称する）で構成されており、その上で動作するプロセス（アプリケーションプログラム等）を実行することでハードウェア資源の稼働率および運用性を高めることが可能である。
【０００４】
このような仮想計算機では、その利便性を引き出すための仮想化技術が、性能上のオーバーヘッドを引き起こし実用性に大きな影響を及ぼす。例えば、ゲストＯＳ上で動作するプログラム（プロセス）が、ディスク装置等のストレージ装置や入出力装置に対して入出力処理（Ｉ／Ｏ処理）を行うためＩ／Ｏアクセス要求（「アクセス要求」ともいう）を出した場合、まず、ゲストＯＳ内でそのアクセス要求が解釈され変換された後、ホストＯＳにそのアクセス要求が発行される。この場合、さらに、ホストＯＳ内でそのアクセス要求が解釈され変換された後に、実際のハードウェアに対してそのアクセス要求が発行される。
【０００５】
そのため、仮想計算機でのＩ／Ｏ処理は、実計算機上で動作するＯＳおよびプログラムと比較して時間がかかるなど性能が劣化してしまうという不都合が生じる。
【０００６】
また、ＯＳ上のプロセスがファイルシステムにアクセスする場合、一般に計算機では、ＯＳがユーザモードからカーネルモード（特権モード）に移行するためそのモード移行処理の時間がかかる。仮想計算機では、ゲストＯＳ上で動作するプロセスがファイルシステムにアクセスする場合、プロセスからゲストＯＳに処理が移行する際と、さらに、ゲストＯＳからホストＯＳへ処理が移行する際の２回のカーネルモード移行が行われる。そのため、実計算機の場合よりもカーネルモード移行が１回多く行われ、仮想計算機上のファイルアクセスは性能が劣化するという問題を抱えていた。
【０００７】
ここで関連する具体例として、特許文献１に開示されたファイルシステム仮想化技術がある。このシステムは、アプリケーションプログラム、入出力システムサービス、仮想ファイルシステム変換ドライバ、ファイルシステムドライバ、ディスクドライバ等を備えて構成されており、次のように動作する。すなわち、アプリケーションプログラムから入出力システムサービスに対してファイルシステム要求が発行されると、仮想ファイルシステム変換ドライバがファイルシステム要求を変換し、ファイルシステムドライバに入出力要求を伝達することによって、ディスク装置等のハードウェア特性を仮想化した仮想ファイルを提供している。
【０００８】
また、特許文献２では、仮想計算機を仮想サーバエミュレータとして用いる技術が開示されている。このシステムは、仮想サーバ、仮想サーバ制御部、ハードディスクエミュレータ部、ハードディスク等を備えて構成されており、さらに仮想サーバは、仮想ＢＩＯＳ、ドライバ群、アプリケーションから構成されている。このファイルシステムの動作は、アプリケーションがファイルシステムへのアクセスを実行すると、ドライバ群が入出力要求を処理し、仮想ＢＩＯＳに要求が伝達され、仮想ＢＩＯＳが発行した入出力要求は、仮想サーバによってその入出力要求が解釈され、ハードディスクエミュレータ部に伝達され、ハードディスクに対して入出力要求が実行される。
【特許文献１】特開２００１−２２９０５６号公報
【特許文献２】特開２００１−１９５２７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述の特許文献１に開示された構成では、仮想計算機の提供は行なわれていないため、ゲストＯＳとして複数の仮想マシンを実行するとき、それらファイルシステムの共用ができないという不都合がある。
【００１０】
また、上述の特許文献２に開示された構成では、入出力要求処理への変換が仮想サーバ上の仮想ＢＩＯＳとハードディスクエミュレータ部で実行されるため、ハードディスク装置へのアクセス性能が低下してしまうという、最初に述べた仮想計算機上のファイルアクセスの問題点は解決されていない。
【００１１】
以上のように、仮想計算機では、ゲストＯＳ上のプロセスからのファイルシステムへのアクセス要求は、仮想計算機のゲストＯＳと実計算機のホストＯＳのファイルシステムで処理されるため、その解釈と変換、及び２度のユーザモードからカーネルモードへの変換のために時間がかかり、実計算機（ホストＯＳ）でのファイルシステムアクセスと比較して性能が劣化してしまうという問題を抱えていた。
【００１２】
（発明の目的）
本発明は、上記問題点に鑑み、ゲストＯＳ上のプロセスからのストレージアクセス要求を高速に処理できる仮想計算機システム及びその方法を提供し、仮想計算機システムの性能向上を図ることを、その目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明に係る仮想計算機システムは、少なくともＣＰＵ、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第１のオペレーティングシステムと、この第１のオペレーティングシステム上で動作する第２のオペレーティングシステムと、この第２のオペレーティングシステム上で動作するプロセスとを備えて成る。そして、前記プロセスからの前記ストレージ装置に対するアクセス要求を受付て、当該アクセス要求を前記第１のオペレーティングシステムに備えられたファイルシステムに適合するように変換するアクセス要求変換手段を、前記第１のオペレーティングシステムに備える。又、この第１のオペレーティングシステムには、予めファイルシステム対応情報が利用可能に設置されている。
上記アクセス要求変換手段は、前記アクセス要求が前記第１のオペレーティングシステムで処理することができる内容か否かを前記ファイルシステム対応情報に基づいて判別する機能と、前記アクセス要求が前記第１のオペレーティングシステムで処理することができる内容であると判断した場合に前記アクセス要求を前記第１のオペレーティングシステムに備えられたファイルシステムに適合するように変換する機能とを有する。
そして、このアクセス要求変換手段は、前記プロセスからの前記アクセス要求を前記第１のオペレーティングシステムで処理できないと判断した場合には、当該アクセス要求を前記第２のオペレーティングシステムのファイルシステムに適合するよう変換し差し戻すよう構成されていることを特徴とする。
【００１４】
上記課題を解決するため、本発明に係るストレージ用アクセス方法は、
少なくともＣＰＵ、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第１のオペレーティングシステムと、この第１のオペレーティングシステム上で動作する第２のオペレーティングシステムと、この第２のオペレーティングシステム上で動作するプロセスとを備えて成る仮想計算機システムにあって、前記プロセスから前記ストレージ装置に対してアクセスする方法であって、
前記プロセスからの前記ストレージ装置に対するアクセス要求を前記第１のオペレーティングシステムが受付ける第１の工程と、
このアクセス要求が前記第１のオペレーティングシステムで処理できるか否かをファイルシステム対応情報に基づいて第１のオペレーティングシステムのアクセス要求変換手段が判別する第２の工程と、
この第２の工程で前記第１のオペレーティングシステムで処理できると判別された場合に前記アクセス要求を前記第１のオペレーティングシステムのファイルシステムに適合するように前記アクセス要求変換手段が変換する第３の工程とを設けると共に、
第２の工程と第３の工程の間に、
前記第２の工程で、前記第１のオペレーティングシステムで処理できないと前記アクセス要求変換手段により判別された場合には、前記アクセス要求を、前記アクセス要求変換手段が前記第２のオペレーティングシステムのファイルシステムに適合するよう変換して差し戻すアクセス要求差し戻し工程を設けたことを特徴とする。
【００１５】
上記課題を解決するため、本発明に係るストレージ用アクセス用プログラムは、
少なくともＣＰＵ、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第1 のオペレーティングシステムと、この第１のオペレーティングシステム上で動作する第２のオペレーティングシステムと、この第２のオペレーティングシステム上で動作するプロセスとを備えて成る仮想計算機システムにあって、
前記プロセスからの前記ストレージ装置に対するアクセス要求を前記第１のオペレーティングシステムで受付けるアクセス要求受付機能、
この受付けたアクセス要求が前記第１のオペレーティングシステムで処理できるか否かをファイルシステム対応情報に基づいて判別する適応性判別機能、
及びこの適応性判別機能にて前記アクセス要求が前記第１のオペレーティングシステムで処理できると判別された場合には当該アクセス要求を前記第１のオペレーティングシステムのファイルシステムに適合するよう変換する適合変換処理機能、
および前記適応性判別機能の実行過程で前記第１のオペレーティングシステムで処理できないと判別された場合には、前記アクセス要求を前記第２のオペレーティングシステムのファイルシステムに適合するよう変換して差し戻すアクセス要求差戻し機能を有し、
これらの各機能をコンピュータに実行させるように構成したことを特徴とする。
【発明の効果】
【００１６】
本発明は、以上のように構成されているので、ゲストＯＳ上のプロセスからのストレージへのアクセス要求の処理の高速化が図れ、仮想計算機システム全体の高性能化に貢献する。
【発明を実施するための最良の形態】
【００１７】
次に、本発明の一実施形態に係る仮想計算機システムについて図面に基づいて説明する。図１は、本仮想計算機システム１の基本的な階層構成を示したブロック図である。
【００１８】
図１において、本仮想計算機システム１は、ＣＰＵ、メモリ、及びストレージ装置（二次記憶装置）４５等の計算機ハードウェア４０と、その上で動作するプログラムであるホストＯＳ（第１のオペレーティングシステム）１０と、さらにその上で動作するプログラムプロセスであるゲストＯＳ（第２のオペレーティングシステム）２０、及び、その上で動作するアプリケーションプログラム等のプロセス３０を備えて構成されている。
【００１９】
ホストＯＳ（第１のオペレーティングシステム）１０は、その上で動作するプログラムプロセスに対してファイルシステムサービスを提供するファイルシステム１１と、そのファイルシステム１１からのストレージ装置（具体的にはディスク装置）４５に対するアクセスを処理するディスクシステム１２と、ファイルシステム１１からディスクシステム１２へのアクセスの際に、対応情報として参照されるファイルシステム情報１３を備え構成されている。
【００２０】
さらに、ホストＯＳ１０には、ゲストＯＳ２０上のプロセス３０からのアクセス要求をファイルシステム１１へと仲介するアクセス要求変換手段１４と、その手段１４が変換処理の際参照するファイルシステム対応情報１５とが設けられている。これらは、本仮想計算機システムに特徴的なファイルアクセスの高速化を実現している重要な要素であり、後ほど詳しく説明する。
【００２１】
ゲストＯＳ（第２のオペレーティングシステム）２０は、ホストＯＳ１０上で動作するプロセスであり、このゲストＯＳ２０上で動作するプログラムプロセスに対してファイルシステムサービスを提供するファイルシステム２１と、そのファイルシステム２１からのディスク装置に対するアクセスを処理するディスクシステム２２、ファイルシステム２１からディスクシステム２２へのアクセスの際対応情報として参照されるファイルシステム情報２３と、ディスクシステム２２からはストレージ装置と認識されるファイルシステム１１が提供する仮想ストレージ装置１６とを備えて構成されている。
【００２２】
プロセス３０は、アプリケーションプログラム又はシステムユーティリティ・プログラムであり、必要に応じて情報を永続的に保持したり利用したりするために、ホストＯＳ１０もしくはゲストＯＳ２０が提供するファイルシステムサービスを用いて情報をストレージ装置４５に保存し又読み出しをおこなう。
【００２３】
ここで、前述したアクセス要求変換手段１４の構成について図２に基づいて説明する。図２にアクセス要求変換手段１４の機能ブロック構成を示す。
【００２４】
この図２において、アクセス要求変換手段１４は、ゲストＯＳ２０上のプロセス３０からのアクセス要求がゲストＯＳ２０から転送されるとそれを受付けるアクセス要求受付機能１４Ａと、受付けたアクセス要求がホストＯＳ１０、ゲストＯＳ２０の何れのオペレーティングシステムで処理すべきかをファイルシステム対応情報１５に基づいて判別する判別機能１４Ｂと、この判別結果に基づいてアクセス要求を変換処理する変換機能１４Ｃを備えて構成されている。このため、プロセス３０からのアクセス要求が直接ホストＯＳ１０のファイルシステム１１で処理できるようになりファイルアクセスの高速化が図れる。なお、アクセス要求変換手段１４は、本実施形態ではホストＯＳの構成要素でその実体はプログラムである。
【００２５】
上述した構成を備える本仮想計算機システム１は、ゲストＯＳ２０上のプロセス３０からのストレージ装置４５に対するアクセス要求を受付て、このアクセス要求をホストＯＳ（第1のオペレーティングシステム）１０に備わるファイルシステム１１に適合するよう変換するアクセス要求変換手段１４をホストＯＳ（第1のオペレーティングシステム）１０に備えているため、アクセス要求の解釈が、ゲストＯＳ２０ではなく、ホストＯＳ１０における１回だけで済む。又そのため、ユーザモードから時間のかかるカーネルモードへの変換もホストＯＳ１０における１回だけで済み、ファイルアクセスの高速化が図れ、ひいては仮想計算機システム全体の性能向上につながるという点を特徴としている。
【００２６】
また、本仮想計算機システム１は、ホストＯＳ（第1のオペレーティングシステム）１０にファイルシステム対応情報１５が利用可能に設置され、アクセス要求変換手段１４は、プロセス３０からのアクセス要求がホストＯＳ１０で処理することができるか否かをこのファイルシステム対応情報１５に基づいて判別するよう構成することもできる。このとき、アクセス要求がホストＯＳ１０で処理することができる内容であると判断した場合には、アクセス要求をホストＯＳ１０に備えられたファイルシステム１１に適合するように変換する。また、ホストＯＳ１０で処理できないと判断したときは、アクセス要求をゲストＯＳ（第２のオペレーティングシステム）２０のファイルシステム２１に適合するよう変換し差し戻すよう構成することもできる。
【００２７】
これによって、アクセス要求が直接ホストＯＳ１０で処理できる場合はホストＯＳ１０で処理をおこない、アクセス要求が直接ホストＯＳ１０で処理できない場合には、ゲストＯＳ２０のファイルシステム２１を介することによって処理できるので、本仮想計算機システムの適用範囲が広がる。また、アクセス要求がホストＯＳ１０で処理できないと判断したときのみ、ゲストＯＳ２０のファイルシステム２１で処理するので、ファイルアクセスの高速化が図れるという点を特徴とするものであり、以下において動作説明と併せてこれらの点についても詳述する。
【００２８】
（動作の説明）
本仮想計算機システム１におけるファイルシステムへのアクセス動作について、先ず、基本的な動作フローを説明し、その後、詳細な説明を行なう。図３に、本ファイルシステムへの基本的なアクセス動作フローを示す。
【００２９】
この図３の仮想計算機システム１において、先ず、ゲストＯＳ２０上のプロセス３０からファイルシステムにアクセスするためアクセス要求が出されると、実線矢印で示すように、ホストＯＳ１０のアクセス要求変換手段１４にて受付けられる。そして、アクセス要求を二つのオペレーティングシステムのファイルシステム１１，２１のうちいずれで処理すべきかが判別される。ホストＯＳ１０のファイルシステム１１で直接処理できる場合には、アクセス要求はホストＯＳ１０のファイルシステム１１での処理に適合するよう変換されて、ホストＯＳ１０上のファイルシステム１１に引き渡され、ディスクシステム１２を介して最終的にはストレージ装置４５にアクセスされる。
【００３０】
これによって、点線矢印によって示した既存のファイルアクセス方式と比較すると分かるように、ゲストＯＳ２０のファイルシステム２１の経由がないので、通常２回必要なアクセス要求の解釈がホストＯＳ１０のファイルシステム１１での1回で済み、また、時間のかかるユーザモードからカーネルモードへの変換もホストＯＳ１０での1回の変換で済むので、高速なファイルアクセスが可能になるという効果が得られる。
【００３１】
また、アクセス要求が、ホストＯＳ１０のファイルシステム１１で直接処理できない場合には、この要求はゲストＯＳ２０のファイルシステム２１に転送され、既存の仮想計算機システムと同様に、ゲストＯＳとホストＯＳを介してストレージ装置４５にアクセスされる。このようなホストＯＳ１０のファイルシステム１１で直接処理できないファイルの割合が少なければ、全体的にみてファイルアクセスの性能は向上することになる。
【００３２】
次に、上述した基本的な動作フローを、図４に基づいて更に詳細に説明する。図４にファイルアクセスの動作フローの詳細なフローチャート図を示す。
【００３３】
この図４に示すように、本仮想計算機システム１のファイルアクセス動作においては、先ず、ゲストＯＳ２０上のプロセス３０がファイルシステムにアクセスするためアクセス要求を発行する（ステップＳ１００）。
【００３４】
このアクセス要求は、ゲストＯＳ２０に対するもの（システムコール）である。この場合、このアクセス要求（システムコール）は全て、本システム１においては、ホストＯＳ１０に対するアクセス要求（システムコール）として転送される（ステップＳ１０１）。
【００３５】
そしてこのアクセス要求は、ホストＯＳ１０のアクセス要求変換手段１４にて受付けられる（アクセス要求受付工程、第１の工程）。そして、このアクセス要求変換手段１４において、ファイルシステム対応情報１５に基づいて、アクセス要求がホストＯＳ１０のファイルシステム１１で処理が可能か、あるいはゲストＯＳ２０のファイルシステム２１で解析する必要があるかが判断される（ステップＳ１０２、適応性判別工程、第２の工程）。
【００３６】
ここで、ファイルシステム対応情報１５は、図５に示すように、要求元のゲストＯＳ名と、要求先のファイルシステムと、変換後のホストＯＳ１０でのファイルシステム情報との欄を備えた対応表（テーブル）の形でメモリ上に保持されている。そして、例えば、アクセス要求変換手段１４に対するアクセス要求が受付けられると、このファイルシステム対応情報１５が参照され、要求元のゲストＯＳ名、要求先のファイルシステムが一致する行から、変換後のホストＯＳ１０でのファイルシステム情報が検索され、アクセス要求がそれに合うよう変換される。また、読出しのアクセス要求がなされ、要求元のゲストＯＳ名、要求先のファイルシステムが一致する行がない場合や、一致しても変換後のホストＯＳ１０でのファイルシステム情報がない場合には、ホストＯＳ１０でのファイルシステム１１での処理はできないので、ゲストＯＳ２０へアクセス要求は差し戻される。
【００３７】
次に、ゲストＯＳ２０にて処理する必要があると判断されると、ゲストＯＳ２０のファイルシステム２１にアクセス要求を転送し（ステップＳ１０３、アクセス要求差し戻し工程）、ゲストＯＳ２０のファイルシステム２１およびディスクシステム２２により要求は処理される（ステップＳ１０４）。この場合、さらに、ゲストＯＳ２０に対してストレージデバイスサービスを提供しているホストＯＳ１０に対して処理が発行される（ステップＳ１０５）。このステップＳ１０３からステップＳ１０５までは、既存の手法と同じであり、これら処理工程を備えたことで、直接ホストＯＳ１０上のファイルシステム１１で処理できないプロセス３０からのアクセス要求にも対応可能となる。
【００３８】
また、アクセス要求変換手段（プログラム）１４において、ホストＯＳ１０で直接処理が実行できると判断された場合は、このアクセス要求変換手段１４にアクセス要求をした要求元ゲストＯＳ２０と要求先のファイルシステム情報に基づいて、ファイルシステム対応情報１５から変換後のホストＯＳ１０でのファイルシステム情報を取得し、それに基づいてホストＯＳ１０内でのアクセス要求として変換し（ステップＳ１０６、適合変換工程、第３の工程）、ホストＯＳ１０のファイルシステム１１に対して要求を転送する。
【００３９】
このステップＳ１０６により、ゲストＯＳ２０上のファイルシステム２１を介さないで済むため、アクセス要求の解釈が1回に減り、また、ユーザモードからカーネルモードへの移行もホストＯＳ１０での1回だけで済み、カーネルモードへの切替時間も短縮でき、高速なアクセス要求が達成できる。
【００４０】
ステップＳ１０５もしくはステップＳ１０６において発行されたアクセス要求は、ホストＯＳ１０のファイルシステム１１で要求が解析され（ステップＳ１０７）、ストレージ装置４５へのアクセス要求としてディスクシステム１２に対する要求に変換され（ステップＳ１０８）、ストレージ装置４５に対するアクセス要求が実行される。これによって、プロセス３０からのファイルへのアクセス要求の処理は終わる。
【００４１】
引き続き、ストレージ装置４５に対するアクセス要求の処理が完了した後の本仮想計算機システム１の動作について、先ず基本の動作フローを説明し、その後、詳細に説明する。
【００４２】
図６は、本仮想計算機システム１におけるストレージ装置４５へのアクセス動作が完了した後の動作フローの基本を説明する図である。
【００４３】
この図６において、ストレージ装置４５に対するアクセス要求が完了した場合、ホストＯＳ１０上のファイルシステム１１は、完了通知を処理した後、完了したアクセス要求がゲストＯＳ２０のファイルシステム２１を介して要求されたものか、アクセス要求変換手段１４から直接ファイルシステム１１に発行されたものかを判断する。
【００４４】
その結果によって、処理結果をアクセス要求発行元であるゲストＯＳ２０に返却するか、処理結果をアクセス要求変換手段１４に伝達し、アクセス要求変換手段１４においてファイルシステム対応情報１５からホストＯＳ１０内での処理要求として変換し、結果をプロセス３０に対して返却する。
【００４５】
次に、上述のアクセス要求完了後の詳細な動作について図７に基づいて説明する。図７にその詳細なフローチャートを示す。
この図７において、ストレージ装置４５に対する要求が完了すると、先ず、ディスクシステム１２はファイルシステム１１に対して要求が完了したことを通知する（ステップＳ２０１）。
【００４６】
ファイルシステム１１は完了通知を処理した後（ステップＳ２０２）、完了した要求がゲストＯＳ２０上のプロセス３０からゲストＯＳ２０のファイルシステム２１を通して発行されたものか確認する（ステップＳ２０３）。
【００４７】
ゲストＯＳ２０のファイルシステム２１を介して発行されたものである場合は、アクセス要求発行元であるゲストＯＳ２０に結果を返却し（ステップＳ２０４）、ゲストＯＳ２０内のディスクシステム２２およびファイルシステム２１が処理結果を解析して（ステップＳ２０５）、最終的に、アクセス要求発行元であるプロセス３０に結果が返却される（ステップＳ２０７）。
【００４８】
完了した要求が、アクセス要求変換手段１４を通してファイルシステム１１に要求されていたものである場合、ファイルシステム１１は処理結果をアクセス要求変換手段１４に伝達し、アクセス要求変換手段１４は処理発行元のゲストＯＳ２０と要求先のファイルシステムを基にファイルシステム対応情報１５からホストＯＳ１０内での処理要求として変換し（ステップＳ２０６）、結果をプロセス３０に対して返却する（ステップＳ２０７）。
【００４９】
以上の動作によって、ゲストＯＳ２０上のプロセス３０からのアクセス要求によるストレージ動作の結果がプロセス３０に戻されてファイルアクセス動作は完了する。
【００５０】
ここで、上述の仮想計算機システム１の動作における第１の工程、第２の工程及び第３の工程を備えた方法が、本仮想計算機システムにおける一のストレージ用アクセス方法である。
すなわち、本ストレージ用アクセス方法は、プロセス３０からのストレージ装置４５に対するアクセス要求をホストＯＳ（第１のオペレーティングシステム）１０で受付ける第1の工程と、このアクセス要求がホストＯＳ（第１のオペレーティングシステム）１０で処理できるか否かをファイルシステム対応情報１５に基づいて判別する第２の工程と、この第２の工程でホストＯＳ（第1のオペレーティングシステム）１０で処理できると判別された場合にアクセス要求をホストＯＳ（第1のオペレーティングシステム）１０のファイルシステム１１に適合するように変換する第３の工程とを設けたことを特徴とする。
【００５１】
これによって、ゲストＯＳ２０上のファイルシステム２１への経由動作がないので、２回必要であったアクセス要求の解釈が1回で済み、また、時間のかかるカーネルモードへの変換もホストＯＳでの変換1回で済むので、高速なファイルアクセスが可能になるという効果が得られる。
【００５２】
さらに、他のストレージ用アクセス方法として、前述の第２の工程で、ホストＯＳ（第1のオペレーティングシステム）１０で処理できないと判別された場合には、アクセス要求をゲストＯＳ（第２のオペレーティングシステム）２０のファイルシステム２１に適合するよう変換し差し戻すアクセス要求差し戻し工程（ステップＳ１０３）を付加してもよい。
【００５３】
これによって、直接ホストＯＳ１０上のファイルシステム１１で処理できないプロセス３０からのアクセス要求にも対応可能となる。そして、本仮想計算機システム１でゲストＯＳ上のプロセス３０からのファイルシステムへのアクセス要求を全体として高速で処理することが可能になる。
【００５４】
また、ここで、上述したアクセス要求受付工程、適応性判別工程、適合変換工程の各工程の処理機能を計算機ハードウェア４０上で動くようプログラム化したものが、ストレージアクセス用プログラムである。図８にこのストレージアクセス用プログラムのフローチャート図を示す。
【００５５】
すなわち、本仮想計算機システムにあって、ストレージアクセス用プログラムは、プロセス３０からのストレージ装置４５に対するアクセス要求をホストＯＳ（第１のオペレーティングシステム）１０で受付けるアクセス要求受付機能２０１、この受付けたアクセス要求がホストＯＳ（第１のオペレーティングシステム）１０で処理できるか否かをファイルシステム対応情報１５に基づいて判別する適応性判別機能２０２、及びこの適応性判別機能２０２にてアクセス要求がホストＯＳ（第１のオペレーティングシステム）１０で処理できると判別された場合には当該アクセス要求をホストＯＳ（第１のオペレーティングシステム）１０のファイルシステム１１に適合するよう変換する適合変換処理機能２０３をコンピュータに実行させるように構成したことを特徴とする。
【００５６】
さらに、上述の動作フローの説明における適応性判別工程の実行過程で、ホストＯＳ１０で処理できないと判別された場合に、アクセス要求をゲストＯＳ２０のファイルシステム２１に適合するよう変換して差し戻すアクセス要求差戻し工程（ステップＳ１０３）が設けられているが、このアクセス要求差戻し工程の処理機能を、上述のストレージアクセス用プログラムに付加してもよい。
【００５７】
すなわち、上述のストレージアクセス用プログラムにおいて、適応性判別機能２０２の処理過程でホストＯＳ１０で処理できないと判別された場合に機能し、アクセス要求をゲストＯＳ２０（第２のオペレーティングシステム）のファイルシステム２１に適合するよう変換して差し戻すアクセス要求差戻し機能２０４を設け、これらをコンピュータに実行させるように構成してもよい。
【００５８】
これによって、ストレージアクセス用プログラムは、具体的に上記の処理を行なうことで、仮想計算機システムのゲストＯＳ上のプロセスからのファイルアクセスの高速化を図っている。なお、このストレージアクセス用プログラムは、プログラムとして実現されたアクセス要求変換手段１４と実質的に同じものである。
【００５９】
なお、これまでの説明では、説明の便宜上、ホストＯＳ１０上のゲストＯＳ２０があたかも1つのように説明してきたが、一のホストＯＳ上に異なるゲストＯＳが複数存在してもよい。このような仮想計算機システムでは、ゲストＯＳからのファイルシステムアクセスがホストＯＳでのファイルシステムアクセスに変換され、全てのファイルシステムアクセス要求処理が唯一のホストＯＳ内で実行されるように構成されている。このため、ホストＯＳとゲストＯＳの間で同一のファイルシステムを共有することができるのみならず、複数のゲストＯＳ間でも、ホストＯＳの唯一のファイルアクセス要求処理を介して、同一のファイルシステムを共有することができるというメリットを有している。
【００６０】
以上の構成と動作に基づく本仮想計算機システムの効果は以下の通りである。
本仮想計算機システムでは、ホストＯＳでゲストＯＳ上のプロセスに対するファイルシステム処理を実行できる場合、ゲストＯＳ内のファイルシステムおよびディスクシステムでの処理が発生しないよう構成されているため、ファイルシステムへの要求処理の際時間のかかるファイルシステム要求解析およびディスクシステム要求解析を省略することができ、かつユーザモードからカーネルモードへのモード移行も１回ですむために処理時間を短縮することができ、システム性能向上が図れる。
【００６１】
また、本仮想計算機システムでは、ゲストＯＳからのファイルシステムアクセスがホストＯＳでのファイルシステムアクセスに変換され、全てのファイルシステム要求処理がホストＯＳ内で実行されるように構成されているため、ホストＯＳとゲストＯＳの間で同一のファイルシステムを共有することができる。
【００６２】
さらにまた、本仮想計算機システムでは、複数のゲストＯＳ間で同一のファイルシステムを共有することができるという効果もある。それは、上述したようにゲストＯＳとホストＯＳ間のファイルシステム共有が実現しているので、これを用いることで複数のゲストＯＳの間でもファイルシステムの共有が可能なためである。
【産業上の利用可能性】
【００６３】
また、本発明は、エミュレータによる仮想計算機を実行させる際に、ファイルシステムの性能を向上させるといった一般的な用途に適用することが可能である。また、複数の仮想計算機間でファイルシステムを共有するといった用途にも適用可能である。
【図面の簡単な説明】
【００６４】
【図１】本発明の一実施形態に係る仮想計算機システムの階層構成を示すブロック図である。
【図２】アクセス要求変換手段の機能ブロック構成図である。
【図３】図1に開示した仮想計算機システムのファイルアクセスの基本的な動作フローを説明する図である。
【図４】図３に開示したファイルアクセス動作の詳細なフローチャート図である。
【図５】ファイルシステム対応情報の構成を示す対応表（テーブル）である。
【図６】図1に開示した仮想計算機システムのファイルアクセス要求完了後の基本的な動作フローを説明する図である。
【図７】図６に開示したファイルアクセス要求完了後の動作のフローチャート図である。
【図８】ストレージアクセス用プログラムのフローチャート図である。
【符号の説明】
【００６５】
１    仮想計算機システム
１０    ホストＯＳ（第１のオペレーティングシステム）
１１    （ホストＯＳ上の）ファイルシステム
１２    （ホストＯＳ上の）ディスクシステム
１４    アクセス要求変換プログラム（アクセス要求変換手段）
１４Ａ  アクセス要求受付機能
１４Ｂ  判別機能
１４Ｃ  変換機能
１５    ファイルシステム対応情報
１６    仮想ストレージシステム
２０    ゲストＯＳ（第２のオペレーティングシステム）
２１    （ゲストＯＳ上の）ファイルシステム
２２    （ゲストＯＳ上の）ディスクシステム
３０    プロセス
４０    計算機ハードウェア
４５    ストレージ装置
２０１  アクセス要求受付機能
２０２  適応性判別機能
２０３  適合変換機能
２０４  アクセス要求差戻し機能
【図１】
0004670889.tif 000002
【図２】
0004670889.tif 000003
【図３】
0004670889.tif 000004
【図４】
0004670889.tif 000005
【図５】
0004670889.tif 000006
【図６】
0004670889.tif 000007
【図７】
0004670889.tif 000008
【図８】
0004670889.tif 000009