JP4670889B2 - 仮想計算機におけるファイルシステム高速化方法及びそのシステム - Google Patents

仮想計算機におけるファイルシステム高速化方法及びそのシステム Download PDF

Info

Publication number
JP4670889B2
JP4670889B2 JP2008096204A JP2008096204A JP4670889B2 JP 4670889 B2 JP4670889 B2 JP 4670889B2 JP 2008096204 A JP2008096204 A JP 2008096204A JP 2008096204 A JP2008096204 A JP 2008096204A JP 4670889 B2 JP4670889 B2 JP 4670889B2
Authority
JP
Japan
Prior art keywords
access request
operating system
file system
access
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008096204A
Other languages
English (en)
Other versions
JP2009251735A (ja
Inventor
大輔 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008096204A priority Critical patent/JP4670889B2/ja
Publication of JP2009251735A publication Critical patent/JP2009251735A/ja
Application granted granted Critical
Publication of JP4670889B2 publication Critical patent/JP4670889B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、仮想計算機システムに係り、特にファイルシステムを高速化した仮想計算機システム及びそのファイルシステム高速化方法に関する。
近年、古いプログラムをそのままで新しい計算機ハードウェア上で動作させたり、異なるオペレーティングシステム(Operating Systems:OS)で動いているサーバ等をそのまま一つの計算機ハードウェア上に統合して運用するなど仮想計算機の応用範囲が広がりつつある。
仮想計算機は、CPU、メモリ等の計算機ハードウェアの上で動くオペレーティングシステム(「ホストOS」と称する)上に仮想的なハードウェアを実現し、その仮想的なハードウェアとその上で動くオペレーティングシステム(「ゲストOS」と称する)で構成されており、その上で動作するプロセス(アプリケーションプログラム等)を実行することでハードウェア資源の稼働率および運用性を高めることが可能である。
このような仮想計算機では、その利便性を引き出すための仮想化技術が、性能上のオーバーヘッドを引き起こし実用性に大きな影響を及ぼす。例えば、ゲストOS上で動作するプログラム(プロセス)が、ディスク装置等のストレージ装置や入出力装置に対して入出力処理(I/O処理)を行うためI/Oアクセス要求(「アクセス要求」ともいう)を出した場合、まず、ゲストOS内でそのアクセス要求が解釈され変換された後、ホストOSにそのアクセス要求が発行される。この場合、さらに、ホストOS内でそのアクセス要求が解釈され変換された後に、実際のハードウェアに対してそのアクセス要求が発行される。
そのため、仮想計算機でのI/O処理は、実計算機上で動作するOSおよびプログラムと比較して時間がかかるなど性能が劣化してしまうという不都合が生じる。
また、OS上のプロセスがファイルシステムにアクセスする場合、一般に計算機では、OSがユーザモードからカーネルモード(特権モード)に移行するためそのモード移行処理の時間がかかる。仮想計算機では、ゲストOS上で動作するプロセスがファイルシステムにアクセスする場合、プロセスからゲストOSに処理が移行する際と、さらに、ゲストOSからホストOSへ処理が移行する際の2回のカーネルモード移行が行われる。そのため、実計算機の場合よりもカーネルモード移行が1回多く行われ、仮想計算機上のファイルアクセスは性能が劣化するという問題を抱えていた。
ここで関連する具体例として、特許文献1に開示されたファイルシステム仮想化技術がある。このシステムは、アプリケーションプログラム、入出力システムサービス、仮想ファイルシステム変換ドライバ、ファイルシステムドライバ、ディスクドライバ等を備えて構成されており、次のように動作する。すなわち、アプリケーションプログラムから入出力システムサービスに対してファイルシステム要求が発行されると、仮想ファイルシステム変換ドライバがファイルシステム要求を変換し、ファイルシステムドライバに入出力要求を伝達することによって、ディスク装置等のハードウェア特性を仮想化した仮想ファイルを提供している。
また、特許文献2では、仮想計算機を仮想サーバエミュレータとして用いる技術が開示されている。このシステムは、仮想サーバ、仮想サーバ制御部、ハードディスクエミュレータ部、ハードディスク等を備えて構成されており、さらに仮想サーバは、仮想BIOS、ドライバ群、アプリケーションから構成されている。このファイルシステムの動作は、アプリケーションがファイルシステムへのアクセスを実行すると、ドライバ群が入出力要求を処理し、仮想BIOSに要求が伝達され、仮想BIOSが発行した入出力要求は、仮想サーバによってその入出力要求が解釈され、ハードディスクエミュレータ部に伝達され、ハードディスクに対して入出力要求が実行される。
特開2001−229056号公報 特開2001−195270号公報
しかしながら、上述の特許文献1に開示された構成では、仮想計算機の提供は行なわれていないため、ゲストOSとして複数の仮想マシンを実行するとき、それらファイルシステムの共用ができないという不都合がある。
また、上述の特許文献2に開示された構成では、入出力要求処理への変換が仮想サーバ上の仮想BIOSとハードディスクエミュレータ部で実行されるため、ハードディスク装置へのアクセス性能が低下してしまうという、最初に述べた仮想計算機上のファイルアクセスの問題点は解決されていない。
以上のように、仮想計算機では、ゲストOS上のプロセスからのファイルシステムへのアクセス要求は、仮想計算機のゲストOSと実計算機のホストOSのファイルシステムで処理されるため、その解釈と変換、及び2度のユーザモードからカーネルモードへの変換のために時間がかかり、実計算機(ホストOS)でのファイルシステムアクセスと比較して性能が劣化してしまうという問題を抱えていた。
(発明の目的)
本発明は、上記問題点に鑑み、ゲストOS上のプロセスからのストレージアクセス要求を高速に処理できる仮想計算機システム及びその方法を提供し、仮想計算機システムの性能向上を図ることを、その目的とする。
上記課題を解決するため、本発明に係る仮想計算機システムは、少なくともCPU、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第1のオペレーティングシステムと、この第1のオペレーティングシステム上で動作する第2のオペレーティングシステムと、この第2のオペレーティングシステム上で動作するプロセスとを備えて成る。そして、前記プロセスからの前記ストレージ装置に対するアクセス要求を受付て、当該アクセス要求を前記第1のオペレーティングシステムに備えられたファイルシステムに適合するように変換するアクセス要求変換手段を、前記第1のオペレーティングシステムに備える。又、この第1のオペレーティングシステムには、予めファイルシステム対応情報が利用可能に設置されている。
上記アクセス要求変換手段は、前記アクセス要求が前記第1のオペレーティングシステムで処理することができる内容か否かを前記ファイルシステム対応情報に基づいて判別する機能と、前記アクセス要求が前記第1のオペレーティングシステムで処理することができる内容であると判断した場合に前記アクセス要求を前記第1のオペレーティングシステムに備えられたファイルシステムに適合するように変換する機能とを有する
そして、このアクセス要求変換手段は、前記プロセスからの前記アクセス要求を前記第1のオペレーティングシステムで処理できないと判断した場合には、当該アクセス要求を前記第2のオペレーティングシステムのファイルシステムに適合するよう変換し差し戻すよう構成されていることを特徴とする。
上記課題を解決するため、本発明に係るストレージ用アクセス方法は、
少なくともCPU、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第1のオペレーティングシステムと、この第1のオペレーティングシステム上で動作する第2のオペレーティングシステムと、この第2のオペレーティングシステム上で動作するプロセスとを備えて成る仮想計算機システムにあって、前記プロセスから前記ストレージ装置に対してアクセスする方法であって
前記プロセスからの前記ストレージ装置に対するアクセス要求を前記第1のオペレーティングシステム受付ける第1の工程と、
このアクセス要求が前記第1のオペレーティングシステムで処理できるか否かをファイルシステム対応情報に基づいて第1のオペレーティングシステムのアクセス要求変換手段が判別する第2の工程と、
この第2の工程で前記第1のオペレーティングシステムで処理できると判別された場合に前記アクセス要求を前記第1のオペレーティングシステムのファイルシステムに適合するように前記アクセス要求変換手段が変換する第3の工程とを設けると共に
第2の工程と第3の工程の間に、
前記第2の工程で、前記第1のオペレーティングシステムで処理できないと前記アクセス要求変換手段により判別された場合には、前記アクセス要求を、前記アクセス要求変換手段が前記第2のオペレーティングシステムのファイルシステムに適合するよう変換して差し戻すアクセス要求差し戻し工程を設けたことを特徴とする。
上記課題を解決するため、本発明に係るストレージ用アクセス用プログラムは、
少なくともCPU、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第1 のオペレーティングシステムと、この第1のオペレーティングシステム上で動作する第2のオペレーティングシステムと、この第2のオペレーティングシステム上で動作するプロセスとを備えて成る仮想計算機システムにあって、
前記プロセスからの前記ストレージ装置に対するアクセス要求を前記第1のオペレーティングシステムで受付けるアクセス要求受付機能、
この受付けたアクセス要求が前記第1のオペレーティングシステムで処理できるか否かをファイルシステム対応情報に基づいて判別する適応性判別機能、
及びこの適応性判別機能にて前記アクセス要求が前記第1のオペレーティングシステムで処理できると判別された場合には当該アクセス要求を前記第1のオペレーティングシステムのファイルシステムに適合するよう変換する適合変換処理機能、
および前記適応性判別機能の実行過程で前記第1のオペレーティングシステムで処理できないと判別された場合には、前記アクセス要求を前記第2のオペレーティングシステムのファイルシステムに適合するよう変換して差し戻すアクセス要求差戻し機能を有し、
これらの各機能をコンピュータに実行させるように構成したことを特徴とする。
本発明は、以上のように構成されているので、ゲストOS上のプロセスからのストレージへのアクセス要求の処理の高速化が図れ、仮想計算機システム全体の高性能化に貢献する。
次に、本発明の一実施形態に係る仮想計算機システムについて図面に基づいて説明する。図1は、本仮想計算機システム1の基本的な階層構成を示したブロック図である。
図1において、本仮想計算機システム1は、CPU、メモリ、及びストレージ装置(二次記憶装置)45等の計算機ハードウェア40と、その上で動作するプログラムであるホストOS(第1のオペレーティングシステム)10と、さらにその上で動作するプログラムプロセスであるゲストOS(第2のオペレーティングシステム)20、及び、その上で動作するアプリケーションプログラム等のプロセス30を備えて構成されている。
ホストOS(第1のオペレーティングシステム)10は、その上で動作するプログラムプロセスに対してファイルシステムサービスを提供するファイルシステム11と、そのファイルシステム11からのストレージ装置(具体的にはディスク装置)45に対するアクセスを処理するディスクシステム12と、ファイルシステム11からディスクシステム12へのアクセスの際に、対応情報として参照されるファイルシステム情報13を備え構成されている。
さらに、ホストOS10には、ゲストOS20上のプロセス30からのアクセス要求をファイルシステム11へと仲介するアクセス要求変換手段14と、その手段14が変換処理の際参照するファイルシステム対応情報15とが設けられている。これらは、本仮想計算機システムに特徴的なファイルアクセスの高速化を実現している重要な要素であり、後ほど詳しく説明する。
ゲストOS(第2のオペレーティングシステム)20は、ホストOS10上で動作するプロセスであり、このゲストOS20上で動作するプログラムプロセスに対してファイルシステムサービスを提供するファイルシステム21と、そのファイルシステム21からのディスク装置に対するアクセスを処理するディスクシステム22、ファイルシステム21からディスクシステム22へのアクセスの際対応情報として参照されるファイルシステム情報23と、ディスクシステム22からはストレージ装置と認識されるファイルシステム11が提供する仮想ストレージ装置16とを備えて構成されている。
プロセス30は、アプリケーションプログラム又はシステムユーティリティ・プログラムであり、必要に応じて情報を永続的に保持したり利用したりするために、ホストOS10もしくはゲストOS20が提供するファイルシステムサービスを用いて情報をストレージ装置45に保存し又読み出しをおこなう。
ここで、前述したアクセス要求変換手段14の構成について図2に基づいて説明する。図2にアクセス要求変換手段14の機能ブロック構成を示す。
この図2において、アクセス要求変換手段14は、ゲストOS20上のプロセス30からのアクセス要求がゲストOS20から転送されるとそれを受付けるアクセス要求受付機能14Aと、受付けたアクセス要求がホストOS10、ゲストOS20の何れのオペレーティングシステムで処理すべきかをファイルシステム対応情報15に基づいて判別する判別機能14Bと、この判別結果に基づいてアクセス要求を変換処理する変換機能14Cを備えて構成されている。このため、プロセス30からのアクセス要求が直接ホストOS10のファイルシステム11で処理できるようになりファイルアクセスの高速化が図れる。なお、アクセス要求変換手段14は、本実施形態ではホストOSの構成要素でその実体はプログラムである。
上述した構成を備える本仮想計算機システム1は、ゲストOS20上のプロセス30からのストレージ装置45に対するアクセス要求を受付て、このアクセス要求をホストOS(第1のオペレーティングシステム)10に備わるファイルシステム11に適合するよう変換するアクセス要求変換手段14をホストOS(第1のオペレーティングシステム)10に備えているため、アクセス要求の解釈が、ゲストOS20ではなく、ホストOS10における1回だけで済む。又そのため、ユーザモードから時間のかかるカーネルモードへの変換もホストOS10における1回だけで済み、ファイルアクセスの高速化が図れ、ひいては仮想計算機システム全体の性能向上につながるという点を特徴としている。
また、本仮想計算機システム1は、ホストOS(第1のオペレーティングシステム)10にファイルシステム対応情報15が利用可能に設置され、アクセス要求変換手段14は、プロセス30からのアクセス要求がホストOS10で処理することができるか否かをこのファイルシステム対応情報15に基づいて判別するよう構成することもできる。このとき、アクセス要求がホストOS10で処理することができる内容であると判断した場合には、アクセス要求をホストOS10に備えられたファイルシステム11に適合するように変換する。また、ホストOS10で処理できないと判断したときは、アクセス要求をゲストOS(第2のオペレーティングシステム)20のファイルシステム21に適合するよう変換し差し戻すよう構成することもできる。
これによって、アクセス要求が直接ホストOS10で処理できる場合はホストOS10で処理をおこない、アクセス要求が直接ホストOS10で処理できない場合には、ゲストOS20のファイルシステム21を介することによって処理できるので、本仮想計算機システムの適用範囲が広がる。また、アクセス要求がホストOS10で処理できないと判断したときのみ、ゲストOS20のファイルシステム21で処理するので、ファイルアクセスの高速化が図れるという点を特徴とするものであり、以下において動作説明と併せてこれらの点についても詳述する。
(動作の説明)
本仮想計算機システム1におけるファイルシステムへのアクセス動作について、先ず、基本的な動作フローを説明し、その後、詳細な説明を行なう。図3に、本ファイルシステムへの基本的なアクセス動作フローを示す。
この図3の仮想計算機システム1において、先ず、ゲストOS20上のプロセス30からファイルシステムにアクセスするためアクセス要求が出されると、実線矢印で示すように、ホストOS10のアクセス要求変換手段14にて受付けられる。そして、アクセス要求を二つのオペレーティングシステムのファイルシステム11,21のうちいずれで処理すべきかが判別される。ホストOS10のファイルシステム11で直接処理できる場合には、アクセス要求はホストOS10のファイルシステム11での処理に適合するよう変換されて、ホストOS10上のファイルシステム11に引き渡され、ディスクシステム12を介して最終的にはストレージ装置45にアクセスされる。
これによって、点線矢印によって示した既存のファイルアクセス方式と比較すると分かるように、ゲストOS20のファイルシステム21の経由がないので、通常2回必要なアクセス要求の解釈がホストOS10のファイルシステム11での1回で済み、また、時間のかかるユーザモードからカーネルモードへの変換もホストOS10での1回の変換で済むので、高速なファイルアクセスが可能になるという効果が得られる。
また、アクセス要求が、ホストOS10のファイルシステム11で直接処理できない場合には、この要求はゲストOS20のファイルシステム21に転送され、既存の仮想計算機システムと同様に、ゲストOSとホストOSを介してストレージ装置45にアクセスされる。このようなホストOS10のファイルシステム11で直接処理できないファイルの割合が少なければ、全体的にみてファイルアクセスの性能は向上することになる。
次に、上述した基本的な動作フローを、図4に基づいて更に詳細に説明する。図4にファイルアクセスの動作フローの詳細なフローチャート図を示す。
この図4に示すように、本仮想計算機システム1のファイルアクセス動作においては、先ず、ゲストOS20上のプロセス30がファイルシステムにアクセスするためアクセス要求を発行する(ステップS100)。
このアクセス要求は、ゲストOS20に対するもの(システムコール)である。この場合、このアクセス要求(システムコール)は全て、本システム1においては、ホストOS10に対するアクセス要求(システムコール)として転送される(ステップS101)。
そしてこのアクセス要求は、ホストOS10のアクセス要求変換手段14にて受付けられる(アクセス要求受付工程、第1の工程)。そして、このアクセス要求変換手段14において、ファイルシステム対応情報15に基づいて、アクセス要求がホストOS10のファイルシステム11で処理が可能か、あるいはゲストOS20のファイルシステム21で解析する必要があるかが判断される(ステップS102、適応性判別工程、第2の工程)。
ここで、ファイルシステム対応情報15は、図5に示すように、要求元のゲストOS名と、要求先のファイルシステムと、変換後のホストOS10でのファイルシステム情報との欄を備えた対応表(テーブル)の形でメモリ上に保持されている。そして、例えば、アクセス要求変換手段14に対するアクセス要求が受付けられると、このファイルシステム対応情報15が参照され、要求元のゲストOS名、要求先のファイルシステムが一致する行から、変換後のホストOS10でのファイルシステム情報が検索され、アクセス要求がそれに合うよう変換される。また、読出しのアクセス要求がなされ、要求元のゲストOS名、要求先のファイルシステムが一致する行がない場合や、一致しても変換後のホストOS10でのファイルシステム情報がない場合には、ホストOS10でのファイルシステム11での処理はできないので、ゲストOS20へアクセス要求は差し戻される。
次に、ゲストOS20にて処理する必要があると判断されると、ゲストOS20のファイルシステム21にアクセス要求を転送し(ステップS103、アクセス要求差し戻し工程)、ゲストOS20のファイルシステム21およびディスクシステム22により要求は処理される(ステップS104)。この場合、さらに、ゲストOS20に対してストレージデバイスサービスを提供しているホストOS10に対して処理が発行される(ステップS105)。このステップS103からステップS105までは、既存の手法と同じであり、これら処理工程を備えたことで、直接ホストOS10上のファイルシステム11で処理できないプロセス30からのアクセス要求にも対応可能となる。
また、アクセス要求変換手段(プログラム)14において、ホストOS10で直接処理が実行できると判断された場合は、このアクセス要求変換手段14にアクセス要求をした要求元ゲストOS20と要求先のファイルシステム情報に基づいて、ファイルシステム対応情報15から変換後のホストOS10でのファイルシステム情報を取得し、それに基づいてホストOS10内でのアクセス要求として変換し(ステップS106、適合変換工程、第3の工程)、ホストOS10のファイルシステム11に対して要求を転送する。
このステップS106により、ゲストOS20上のファイルシステム21を介さないで済むため、アクセス要求の解釈が1回に減り、また、ユーザモードからカーネルモードへの移行もホストOS10での1回だけで済み、カーネルモードへの切替時間も短縮でき、高速なアクセス要求が達成できる。
ステップS105もしくはステップS106において発行されたアクセス要求は、ホストOS10のファイルシステム11で要求が解析され(ステップS107)、ストレージ装置45へのアクセス要求としてディスクシステム12に対する要求に変換され(ステップS108)、ストレージ装置45に対するアクセス要求が実行される。これによって、プロセス30からのファイルへのアクセス要求の処理は終わる。
引き続き、ストレージ装置45に対するアクセス要求の処理が完了した後の本仮想計算機システム1の動作について、先ず基本の動作フローを説明し、その後、詳細に説明する。
図6は、本仮想計算機システム1におけるストレージ装置45へのアクセス動作が完了した後の動作フローの基本を説明する図である。
この図6において、ストレージ装置45に対するアクセス要求が完了した場合、ホストOS10上のファイルシステム11は、完了通知を処理した後、完了したアクセス要求がゲストOS20のファイルシステム21を介して要求されたものか、アクセス要求変換手段14から直接ファイルシステム11に発行されたものかを判断する。
その結果によって、処理結果をアクセス要求発行元であるゲストOS20に返却するか、処理結果をアクセス要求変換手段14に伝達し、アクセス要求変換手段14においてファイルシステム対応情報15からホストOS10内での処理要求として変換し、結果をプロセス30に対して返却する。
次に、上述のアクセス要求完了後の詳細な動作について図7に基づいて説明する。図7にその詳細なフローチャートを示す。
この図7において、ストレージ装置45に対する要求が完了すると、先ず、ディスクシステム12はファイルシステム11に対して要求が完了したことを通知する(ステップS201)。
ファイルシステム11は完了通知を処理した後(ステップS202)、完了した要求がゲストOS20上のプロセス30からゲストOS20のファイルシステム21を通して発行されたものか確認する(ステップS203)。
ゲストOS20のファイルシステム21を介して発行されたものである場合は、アクセス要求発行元であるゲストOS20に結果を返却し(ステップS204)、ゲストOS20内のディスクシステム22およびファイルシステム21が処理結果を解析して(ステップS205)、最終的に、アクセス要求発行元であるプロセス30に結果が返却される(ステップS207)。
完了した要求が、アクセス要求変換手段14を通してファイルシステム11に要求されていたものである場合、ファイルシステム11は処理結果をアクセス要求変換手段14に伝達し、アクセス要求変換手段14は処理発行元のゲストOS20と要求先のファイルシステムを基にファイルシステム対応情報15からホストOS10内での処理要求として変換し(ステップS206)、結果をプロセス30に対して返却する(ステップS207)。
以上の動作によって、ゲストOS20上のプロセス30からのアクセス要求によるストレージ動作の結果がプロセス30に戻されてファイルアクセス動作は完了する。
ここで、上述の仮想計算機システム1の動作における第1の工程、第2の工程及び第3の工程を備えた方法が、本仮想計算機システムにおける一のストレージ用アクセス方法である。
すなわち、本ストレージ用アクセス方法は、プロセス30からのストレージ装置45に対するアクセス要求をホストOS(第1のオペレーティングシステム)10で受付ける第1の工程と、このアクセス要求がホストOS(第1のオペレーティングシステム)10で処理できるか否かをファイルシステム対応情報15に基づいて判別する第2の工程と、この第2の工程でホストOS(第1のオペレーティングシステム)10で処理できると判別された場合にアクセス要求をホストOS(第1のオペレーティングシステム)10のファイルシステム11に適合するように変換する第3の工程とを設けたことを特徴とする。
これによって、ゲストOS20上のファイルシステム21への経由動作がないので、2回必要であったアクセス要求の解釈が1回で済み、また、時間のかかるカーネルモードへの変換もホストOSでの変換1回で済むので、高速なファイルアクセスが可能になるという効果が得られる。
さらに、他のストレージ用アクセス方法として、前述の第2の工程で、ホストOS(第1のオペレーティングシステム)10で処理できないと判別された場合には、アクセス要求をゲストOS(第2のオペレーティングシステム)20のファイルシステム21に適合するよう変換し差し戻すアクセス要求差し戻し工程(ステップS103)を付加してもよい。
これによって、直接ホストOS10上のファイルシステム11で処理できないプロセス30からのアクセス要求にも対応可能となる。そして、本仮想計算機システム1でゲストOS上のプロセス30からのファイルシステムへのアクセス要求を全体として高速で処理することが可能になる。
また、ここで、上述したアクセス要求受付工程、適応性判別工程、適合変換工程の各工程の処理機能を計算機ハードウェア40上で動くようプログラム化したものが、ストレージアクセス用プログラムである。図8にこのストレージアクセス用プログラムのフローチャート図を示す。
すなわち、本仮想計算機システムにあって、ストレージアクセス用プログラムは、プロセス30からのストレージ装置45に対するアクセス要求をホストOS(第1のオペレーティングシステム)10で受付けるアクセス要求受付機能201、この受付けたアクセス要求がホストOS(第1のオペレーティングシステム)10で処理できるか否かをファイルシステム対応情報15に基づいて判別する適応性判別機能202、及びこの適応性判別機能202にてアクセス要求がホストOS(第1のオペレーティングシステム)10で処理できると判別された場合には当該アクセス要求をホストOS(第1のオペレーティングシステム)10のファイルシステム11に適合するよう変換する適合変換処理機能203をコンピュータに実行させるように構成したことを特徴とする。
さらに、上述の動作フローの説明における適応性判別工程の実行過程で、ホストOS10で処理できないと判別された場合に、アクセス要求をゲストOS20のファイルシステム21に適合するよう変換して差し戻すアクセス要求差戻し工程(ステップS103)が設けられているが、このアクセス要求差戻し工程の処理機能を、上述のストレージアクセス用プログラムに付加してもよい。
すなわち、上述のストレージアクセス用プログラムにおいて、適応性判別機能202の処理過程でホストOS10で処理できないと判別された場合に機能し、アクセス要求をゲストOS20(第2のオペレーティングシステム)のファイルシステム21に適合するよう変換して差し戻すアクセス要求差戻し機能204を設け、これらをコンピュータに実行させるように構成してもよい。
これによって、ストレージアクセス用プログラムは、具体的に上記の処理を行なうことで、仮想計算機システムのゲストOS上のプロセスからのファイルアクセスの高速化を図っている。なお、このストレージアクセス用プログラムは、プログラムとして実現されたアクセス要求変換手段14と実質的に同じものである。
なお、これまでの説明では、説明の便宜上、ホストOS10上のゲストOS20があたかも1つのように説明してきたが、一のホストOS上に異なるゲストOSが複数存在してもよい。このような仮想計算機システムでは、ゲストOSからのファイルシステムアクセスがホストOSでのファイルシステムアクセスに変換され、全てのファイルシステムアクセス要求処理が唯一のホストOS内で実行されるように構成されている。このため、ホストOSとゲストOSの間で同一のファイルシステムを共有することができるのみならず、複数のゲストOS間でも、ホストOSの唯一のファイルアクセス要求処理を介して、同一のファイルシステムを共有することができるというメリットを有している。
以上の構成と動作に基づく本仮想計算機システムの効果は以下の通りである。
本仮想計算機システムでは、ホストOSでゲストOS上のプロセスに対するファイルシステム処理を実行できる場合、ゲストOS内のファイルシステムおよびディスクシステムでの処理が発生しないよう構成されているため、ファイルシステムへの要求処理の際時間のかかるファイルシステム要求解析およびディスクシステム要求解析を省略することができ、かつユーザモードからカーネルモードへのモード移行も1回ですむために処理時間を短縮することができ、システム性能向上が図れる。
また、本仮想計算機システムでは、ゲストOSからのファイルシステムアクセスがホストOSでのファイルシステムアクセスに変換され、全てのファイルシステム要求処理がホストOS内で実行されるように構成されているため、ホストOSとゲストOSの間で同一のファイルシステムを共有することができる。
さらにまた、本仮想計算機システムでは、複数のゲストOS間で同一のファイルシステムを共有することができるという効果もある。それは、上述したようにゲストOSとホストOS間のファイルシステム共有が実現しているので、これを用いることで複数のゲストOSの間でもファイルシステムの共有が可能なためである。
また、本発明は、エミュレータによる仮想計算機を実行させる際に、ファイルシステムの性能を向上させるといった一般的な用途に適用することが可能である。また、複数の仮想計算機間でファイルシステムを共有するといった用途にも適用可能である。
本発明の一実施形態に係る仮想計算機システムの階層構成を示すブロック図である。 アクセス要求変換手段の機能ブロック構成図である。 図1に開示した仮想計算機システムのファイルアクセスの基本的な動作フローを説明する図である。 図3に開示したファイルアクセス動作の詳細なフローチャート図である。 ファイルシステム対応情報の構成を示す対応表(テーブル)である。 図1に開示した仮想計算機システムのファイルアクセス要求完了後の基本的な動作フローを説明する図である。 図6に開示したファイルアクセス要求完了後の動作のフローチャート図である。 ストレージアクセス用プログラムのフローチャート図である。
符号の説明
1 仮想計算機システム
10 ホストOS(第1のオペレーティングシステム)
11 (ホストOS上の)ファイルシステム
12 (ホストOS上の)ディスクシステム
14 アクセス要求変換プログラム(アクセス要求変換手段)
14A アクセス要求受付機能
14B 判別機能
14C 変換機能
15 ファイルシステム対応情報
16 仮想ストレージシステム
20 ゲストOS(第2のオペレーティングシステム)
21 (ゲストOS上の)ファイルシステム
22 (ゲストOS上の)ディスクシステム
30 プロセス
40 計算機ハードウェア
45 ストレージ装置
201 アクセス要求受付機能
202 適応性判別機能
203 適合変換機能
204 アクセス要求差戻し機能

Claims (4)

  1. 少なくともCPU、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第1のオペレーティングシステムと、この第1のオペレーティングシステム上で動作する第2のオペレーティングシステムと、この第2のオペレーティングシステム上で動作するプロセスとを備えて成る仮想計算機システムであって、
    前記プロセスからの前記ストレージ装置に対するアクセス要求を受付て、当該アクセス要求を前記第1のオペレーティングシステムに備えられたファイルシステムに適合するように変換するアクセス要求変換手段を、前記第1のオペレーティングシステムに備えると共に、
    この第1のオペレーティングシステムには、予めファイルシステム対応情報が利用可能に設置されており、
    前記アクセス要求変換手段は、前記アクセス要求が前記第1のオペレーティングシステムで処理することができる内容か否かを前記ファイルシステム対応情報に基づいて判別する機能、前記アクセス要求が前記第1のオペレーティングシステムで処理することができる内容であると判断した場合に前記アクセス要求を前記第1のオペレーティングシステムに備えられたファイルシステムに適合するように変換する機能とを有すると共に、
    このアクセス要求変換手段は、前記プロセスからの前記アクセス要求を前記第1のオペレーティングシステムで処理できないと判断した場合には、当該アクセス要求を前記第2のオペレーティングシステムのファイルシステムに適合するよう変換し差し戻すよう構成されていることを特徴とした仮想計算機システム。
  2. 請求項1に記載の仮想計算機システムにおいて、
    前記アクセス要求変換手段
    前記プロセスからの前記アクセス要求を受付けるアクセス要求受付機能と、前記アクセス要求が前記第1、第2の何れのオペレーティングシステムで処理すべきかを前記ファイルシステム対応情報に基づいて判別する判別機能とを備えると共に
    この判別結果に基づいて前記アクセス要求を変換処理するように構成されていることを特徴とした仮想計算機システム。
  3. 少なくともCPU、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第1のオペレーティングシステムと、この第1のオペレーティングシステム上で動作する第2のオペレーティングシステムと、この第2のオペレーティングシステム上で動作するプロセスとを備えて成る仮想計算機システムにあって、前記プロセスから前記ストレージ装置に対してアクセスするストレージ用アクセス方法において、
    前記プロセスからの前記ストレージ装置に対するアクセス要求を前記第1のオペレーティングシステム受付ける第1の工程と、
    このアクセス要求が前記第1のオペレーティングシステムで処理できるか否かをファイルシステム対応情報に基づいて第1のオペレーティングシステムのアクセス要求変換手段が判別する第2の工程と、
    この第2の工程で前記第1のオペレーティングシステムで処理できると判別された場合に前記アクセス要求を前記第1のオペレーティングシステムのファイルシステムに適合するように前記アクセス要求変換手段が変換する第3の工程とを設けると共に
    第2の工程と第3の工程の間に、
    前記第2の工程で、前記第1のオペレーティングシステムで処理できないと前記アクセス要求変換手段により判別された場合には、前記アクセス要求を、前記アクセス要求変換手段が前記第2のオペレーティングシステムのファイルシステムに適合するよう変換して差し戻すアクセス要求差し戻し工程を設けたことを特徴とするストレージ用アクセス方法。
  4. 少なくともCPU、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第1 のオペレーティングシステムと、この第1のオペレーティングシステム上で動作する第2のオペレーティングシステムと、この第2のオペレーティングシステム上で動作するプロセスとを備えて成る仮想計算機システムにあって、
    前記プロセスからの前記ストレージ装置に対するアクセス要求を前記第1のオペレーティングシステムで受付けるアクセス要求受付機能、
    この受付けたアクセス要求が前記第1のオペレーティングシステムで処理できるか否かをファイルシステム対応情報に基づいて判別する適応性判別機能、
    及びこの適応性判別機能にて前記アクセス要求が前記第1のオペレーティングシステムで処理できると判別された場合には当該アクセス要求を前記第1のオペレーティングシステムのファイルシステムに適合するよう変換する適合変換処理機能、
    および前記適応性判別機能の実行過程で前記第1のオペレーティングシステムで処理できないと判別された場合には、前記アクセス要求を前記第2のオペレーティングシステムのファイルシステムに適合するよう変換して差し戻すアクセス要求差戻し機能を有し、
    これらの各機能をコンピュータに実行させるように構成したことを特徴とするストレージアクセス用プログラム。
JP2008096204A 2008-04-02 2008-04-02 仮想計算機におけるファイルシステム高速化方法及びそのシステム Expired - Fee Related JP4670889B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008096204A JP4670889B2 (ja) 2008-04-02 2008-04-02 仮想計算機におけるファイルシステム高速化方法及びそのシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008096204A JP4670889B2 (ja) 2008-04-02 2008-04-02 仮想計算機におけるファイルシステム高速化方法及びそのシステム

Publications (2)

Publication Number Publication Date
JP2009251735A JP2009251735A (ja) 2009-10-29
JP4670889B2 true JP4670889B2 (ja) 2011-04-13

Family

ID=41312419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008096204A Expired - Fee Related JP4670889B2 (ja) 2008-04-02 2008-04-02 仮想計算機におけるファイルシステム高速化方法及びそのシステム

Country Status (1)

Country Link
JP (1) JP4670889B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04227548A (ja) * 1990-04-17 1992-08-17 Seiko Epson Corp 情報処理装置
JPH07225694A (ja) * 1994-02-09 1995-08-22 Hitachi Ltd 仮想計算機システム
JPH09319562A (ja) * 1995-12-21 1997-12-12 Mitsubishi Electric Corp 複合計算機システム及び複合計算機システムへのインストール/アンインストール方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1977347B1 (en) * 2006-01-17 2017-12-27 Microsoft Technology Licensing, LLC Seamless integration of multiple computing environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04227548A (ja) * 1990-04-17 1992-08-17 Seiko Epson Corp 情報処理装置
JPH07225694A (ja) * 1994-02-09 1995-08-22 Hitachi Ltd 仮想計算機システム
JPH09319562A (ja) * 1995-12-21 1997-12-12 Mitsubishi Electric Corp 複合計算機システム及び複合計算機システムへのインストール/アンインストール方法

Also Published As

Publication number Publication date
JP2009251735A (ja) 2009-10-29

Similar Documents

Publication Publication Date Title
US20200387405A1 (en) Communication Method and Apparatus
US10445210B2 (en) Deriving component statistics for a stream enabled application
US8505006B1 (en) Resource management in virtual machines using dynamic table for performing resource queries
Waldspurger et al. I/o virtualization
KR101489301B1 (ko) 가상환경 시스템 및 그의 구동방법
US6907519B2 (en) Systems and methods for integrating emulated and native code
KR20080106908A (ko) 하드웨어 장치와 같은 자원을 소유하는 가상 컴퓨터를 이동시키기 위해 이용될 수 있는 컴퓨팅 시스템 및 방법
US9336001B2 (en) Dynamic instrumentation
US7984438B2 (en) Virtual machine transitioning from emulating mode to enlightened mode
US9069487B2 (en) Virtualizing storage for WPAR clients using key authentication
WO2018176911A1 (zh) 一种虚拟磁盘文件格式转换方法和装置
US8738890B2 (en) Coupled symbiotic operating system
JP2004070944A (ja) アプリケーション向けにオペレーティングシステム機能を拡張するシステムおよび方法
JP2003157170A (ja) プログラムバイナリをデコードおよび実行する方法
US8631423B1 (en) Translating input/output calls in a mixed virtualization environment
US9424205B2 (en) System and method for SATA virtualization and domain protection
CN110058946B (zh) 设备虚拟化方法、装置、设备及存储介质
WO2016101282A1 (zh) 一种i/o任务处理的方法、设备和系统
US20200257459A1 (en) Integrating kernel-bypass user-level file systems into legacy applications
Rosenblum et al. I/O Virtualization: Decoupling a logical device from its physical implementation offers many compelling advantages.
KR102326280B1 (ko) 데이터 처리 방법, 장치, 기기 및 매체
US11042394B2 (en) Method for processing input and output on multi kernel system and apparatus for the same
JP4670889B2 (ja) 仮想計算機におけるファイルシステム高速化方法及びそのシステム
US7286974B2 (en) Virtual PC printer driver
KR101614920B1 (ko) 다수 개의 컴퓨팅 시스템 및/또는 환경들에서의 입출력 자원들의 공유

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110103

R150 Certificate of patent or registration of utility model

Ref document number: 4670889

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees