JP2009251735A - Method and system for accelerating file system in virtual computer - Google Patents
Method and system for accelerating file system in virtual computer Download PDFInfo
- Publication number
- JP2009251735A JP2009251735A JP2008096204A JP2008096204A JP2009251735A JP 2009251735 A JP2009251735 A JP 2009251735A JP 2008096204 A JP2008096204 A JP 2008096204A JP 2008096204 A JP2008096204 A JP 2008096204A JP 2009251735 A JP2009251735 A JP 2009251735A
- Authority
- JP
- Japan
- Prior art keywords
- access request
- operating system
- file system
- access
- host
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明は、仮想計算機システムに係り、特にファイルシステムを高速化した仮想計算機システム及びそのファイルシステム高速化方法に関する。 The present invention relates to a virtual machine system, and more particularly, to a virtual machine system with a faster file system and a method for speeding up the file system.
近年、古いプログラムをそのままで新しい計算機ハードウェア上で動作させたり、異なるオペレーティングシステム(Operating Systems:OS)で動いているサーバ等をそのまま一つの計算機ハードウェア上に統合して運用するなど仮想計算機の応用範囲が広がりつつある。 In recent years, virtual computers such as running old programs as they are on new computer hardware, or operating servers operating on different operating systems (OS) as they are on one computer hardware The range of applications is expanding.
仮想計算機は、CPU、メモリ等の計算機ハードウェアの上で動くオペレーティングシステム(「ホストOS」と称する)上に仮想的なハードウェアを実現し、その仮想的なハードウェアとその上で動くオペレーティングシステム(「ゲストOS」と称する)で構成されており、その上で動作するプロセス(アプリケーションプログラム等)を実行することでハードウェア資源の稼働率および運用性を高めることが可能である。 The virtual computer implements virtual hardware on an operating system (referred to as “host OS”) that runs on computer hardware such as a CPU and a memory, and the virtual hardware and the operating system that runs on the hardware. (Referred to as a “guest OS”), and it is possible to improve the operating rate and operability of hardware resources by executing processes (application programs and the like) that operate on the OS.
このような仮想計算機では、その利便性を引き出すための仮想化技術が、性能上のオーバーヘッドを引き起こし実用性に大きな影響を及ぼす。例えば、ゲストOS上で動作するプログラム(プロセス)が、ディスク装置等のストレージ装置や入出力装置に対して入出力処理(I/O処理)を行うためI/Oアクセス要求(「アクセス要求」ともいう)を出した場合、まず、ゲストOS内でそのアクセス要求が解釈され変換された後、ホストOSにそのアクセス要求が発行される。この場合、さらに、ホストOS内でそのアクセス要求が解釈され変換された後に、実際のハードウェアに対してそのアクセス要求が発行される。 In such a virtual machine, the virtualization technology for eliciting its convenience causes performance overhead and greatly affects the practicality. For example, since a program (process) operating on the guest OS performs input / output processing (I / O processing) for a storage device such as a disk device or an input / output device, it is also called an I / O access request (“access request”). First, after the access request is interpreted and converted in the guest OS, the access request is issued to the host OS. In this case, the access request is issued to the actual hardware after the access request is interpreted and converted in the host OS.
そのため、仮想計算機でのI/O処理は、実計算機上で動作するOSおよびプログラムと比較して時間がかかるなど性能が劣化してしまうという不都合が生じる。 For this reason, the I / O processing in the virtual machine has a disadvantage in that the performance is deteriorated, for example, it takes longer time than the OS and the program running on the real machine.
また、OS上のプロセスがファイルシステムにアクセスする場合、一般に計算機では、OSがユーザモードからカーネルモード(特権モード)に移行するためそのモード移行処理の時間がかかる。仮想計算機では、ゲストOS上で動作するプロセスがファイルシステムにアクセスする場合、プロセスからゲストOSに処理が移行する際と、さらに、ゲストOSからホストOSへ処理が移行する際の2回のカーネルモード移行が行われる。そのため、実計算機の場合よりもカーネルモード移行が1回多く行われ、仮想計算機上のファイルアクセスは性能が劣化するという問題を抱えていた。 When a process on the OS accesses the file system, in general, in a computer, since the OS shifts from the user mode to the kernel mode (privileged mode), it takes time for the mode shift processing. In the virtual machine, when a process operating on the guest OS accesses the file system, two kernel modes are used when the process shifts from the process to the guest OS and when the process shifts from the guest OS to the host OS. Transition takes place. Therefore, the kernel mode shift is performed once more than in the case of a real computer, and the file access on the virtual computer has a problem that the performance deteriorates.
ここで関連する具体例として、特許文献1に開示されたファイルシステム仮想化技術がある。このシステムは、アプリケーションプログラム、入出力システムサービス、仮想ファイルシステム変換ドライバ、ファイルシステムドライバ、ディスクドライバ等を備えて構成されており、次のように動作する。すなわち、アプリケーションプログラムから入出力システムサービスに対してファイルシステム要求が発行されると、仮想ファイルシステム変換ドライバがファイルシステム要求を変換し、ファイルシステムドライバに入出力要求を伝達することによって、ディスク装置等のハードウェア特性を仮想化した仮想ファイルを提供している。
As a specific example related here, there is a file system virtualization technique disclosed in
また、特許文献2では、仮想計算機を仮想サーバエミュレータとして用いる技術が開示されている。このシステムは、仮想サーバ、仮想サーバ制御部、ハードディスクエミュレータ部、ハードディスク等を備えて構成されており、さらに仮想サーバは、仮想BIOS、ドライバ群、アプリケーションから構成されている。このファイルシステムの動作は、アプリケーションがファイルシステムへのアクセスを実行すると、ドライバ群が入出力要求を処理し、仮想BIOSに要求が伝達され、仮想BIOSが発行した入出力要求は、仮想サーバによってその入出力要求が解釈され、ハードディスクエミュレータ部に伝達され、ハードディスクに対して入出力要求が実行される。
しかしながら、上述の特許文献1に開示された構成では、仮想計算機の提供は行なわれていないため、ゲストOSとして複数の仮想マシンを実行するとき、それらファイルシステムの共用ができないという不都合がある。
However, since the virtual machine is not provided in the configuration disclosed in
また、上述の特許文献2に開示された構成では、入出力要求処理への変換が仮想サーバ上の仮想BIOSとハードディスクエミュレータ部で実行されるため、ハードディスク装置へのアクセス性能が低下してしまうという、最初に述べた仮想計算機上のファイルアクセスの問題点は解決されていない。 In the configuration disclosed in Patent Document 2 described above, the conversion to input / output request processing is executed by the virtual BIOS and the hard disk emulator unit on the virtual server, so that the access performance to the hard disk device is reduced. The file access problem on the virtual machine mentioned above has not been solved.
以上のように、仮想計算機では、ゲストOS上のプロセスからのファイルシステムへのアクセス要求は、仮想計算機のゲストOSと実計算機のホストOSのファイルシステムで処理されるため、その解釈と変換、及び2度のユーザモードからカーネルモードへの変換のために時間がかかり、実計算機(ホストOS)でのファイルシステムアクセスと比較して性能が劣化してしまうという問題を抱えていた。 As described above, in the virtual machine, a request for accessing the file system from a process on the guest OS is processed by the file system of the guest OS of the virtual machine and the host OS of the real machine. It took time for the conversion from the user mode to the kernel mode twice, and there was a problem that the performance deteriorated as compared with the file system access in the actual computer (host OS).
(発明の目的)
本発明は、上記問題点に鑑み、ゲストOS上のプロセスからのストレージアクセス要求を高速に処理できる仮想計算機システム及びその方法を提供し、仮想計算機システムの性能向上を図ることを、その目的とする。
(Object of invention)
In view of the above problems, the present invention provides a virtual machine system and method for processing a storage access request from a process on a guest OS at high speed, and an object thereof is to improve the performance of the virtual machine system. .
上記課題を解決するため、本発明に係る仮想計算機システムは、少なくともCPU、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第1のオペレーティングシステムと、この第1のオペレーティングシステム上で動作する第2のオペレーティングシステムと、この第2のオペレーティングシステム上で動作するプロセスとを備えて成り、前記プロセスからの前記ストレージ装置に対するアクセス要求を受付て、当該アクセス要求を前記第1のオペレーティングシステムに備えられたファイルシステムに適合するように変換するアクセス要求変換手段を、前記第1のオペレーティングシステムに備えたことを特徴とする。 In order to solve the above problems, a virtual machine system according to the present invention includes a first operating system that operates on a computer hardware including at least a CPU, a memory, and a storage device, and the first operating system. A second operating system that operates, and a process that operates on the second operating system, receives an access request to the storage device from the process, and sends the access request to the first operating system The first operating system is provided with access request conversion means for converting the file system so as to conform to the file system provided in the first operating system.
また、上記課題を解決するため、本発明に係るストレージ用アクセス方法は、少なくともCPU、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第1のオペレーティングシステムと、この第1のオペレーティングシステム上で動作する第2のオペレーティングシステムと、この第2のオペレーティングシステム上で動作するプロセスとを備えて成る仮想計算機システムにあって、前記プロセスから前記ストレージ装置に対してアクセスするにおいて、前記プロセスからの前記ストレージ装置に対するアクセス要求を前記第1のオペレーティングシステムで受付ける第1の工程と、このアクセス要求が前記第1のオペレーティングシステムで処理できるか否かをファイルシステム対応情報に基づいて判別する第2の工程と、この第2の工程で前記第1のオペレーティングシステムで処理できると判別された場合に前記アクセス要求を前記第1のオペレーティングシステムのファイルシステムに適合するように変換する第3の工程と、を設けたことを特徴とする。 In order to solve the above-mentioned problem, a storage access method according to the present invention includes a first operating system that operates on computer hardware including at least a CPU, a memory, and a storage device, and the first operating system. A virtual machine system comprising a second operating system operating on the system and a process operating on the second operating system, wherein the process accesses the storage device when the process is accessed A first step of accepting an access request to the storage device from the first operating system, and determining whether the access request can be processed by the first operating system based on file system correspondence information 2 steps And a third step of converting the access request so as to be compatible with the file system of the first operating system when it is determined in the second step that it can be processed by the first operating system. It is characterized by that.
さらに、上記課題を解決するため、本発明に係るストレージアクセス用プログラムは、少なくともCPU、メモリ、及びストレージ装置を備えた計算機ハードウェアの上で動作する第1のオペレーティングシステムと、この第1のオペレーティングシステム上で動作する第2のオペレーティングシステムと、この第2のオペレーティングシステム上で動作するプロセスとを備えて成る仮想計算機システムにあって、前記プロセスからの前記ストレージ装置に対するアクセス要求を前記第1のオペレーティングシステムで受付けるアクセス要求受付機能、この受付けたアクセス要求が前記第1のオペレーティングシステムで処理できるか否かをファイルシステム対応情報に基づいて判別する適応性判別機能、及びこの適応性判別機能にて前記アクセス要求が前記第1のオペレーティングシステムで処理できると判別された場合には当該アクセス要求を前記第1のオペレーティングシステムのファイルシステムに適合するよう変換する適合変換処理機能、をコンピュータに実行させるように構成したことを特徴とする。 Furthermore, in order to solve the above-described problem, a storage access program according to the present invention includes a first operating system that operates on computer hardware including at least a CPU, a memory, and a storage device, and the first operating system. A virtual machine system comprising a second operating system operating on a system and a process operating on the second operating system, wherein an access request from the process to the storage device is sent to the first operating system An access request reception function received by the operating system, an adaptability determination function for determining whether the received access request can be processed by the first operating system based on the file system correspondence information, and the adaptability determination function The When it is determined that the access request can be processed by the first operating system, the computer is caused to execute an adaptive conversion processing function for converting the access request to conform to the file system of the first operating system. It is characterized by comprising.
本発明は、以上のように構成されているので、ゲストOS上のプロセスからのストレージへのアクセス要求の処理の高速化が図れ、仮想計算機システム全体の高性能化に貢献する。 Since the present invention is configured as described above, it is possible to increase the processing speed of the access request to the storage from the process on the guest OS, which contributes to the enhancement of the performance of the entire virtual machine system.
次に、本発明の一実施形態に係る仮想計算機システムについて図面に基づいて説明する。図1は、本仮想計算機システム1の基本的な階層構成を示したブロック図である。
Next, a virtual machine system according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a basic hierarchical configuration of the
図1において、本仮想計算機システム1は、CPU、メモリ、及びストレージ装置(二次記憶装置)45等の計算機ハードウェア40と、その上で動作するプログラムであるホストOS(第1のオペレーティングシステム)10と、さらにその上で動作するプログラムプロセスであるゲストOS(第2のオペレーティングシステム)20、及び、その上で動作するアプリケーションプログラム等のプロセス30を備えて構成されている。
In FIG. 1, a
ホストOS(第1のオペレーティングシステム)10は、その上で動作するプログラムプロセスに対してファイルシステムサービスを提供するファイルシステム11と、そのファイルシステム11からのストレージ装置(具体的にはディスク装置)45に対するアクセスを処理するディスクシステム12と、ファイルシステム11からディスクシステム12へのアクセスの際に、対応情報として参照されるファイルシステム情報13を備え構成されている。
A host OS (first operating system) 10 includes a
さらに、ホストOS10には、ゲストOS20上のプロセス30からのアクセス要求をファイルシステム11へと仲介するアクセス要求変換手段14と、その手段14が変換処理の際参照するファイルシステム対応情報15とが設けられている。これらは、本仮想計算機システムに特徴的なファイルアクセスの高速化を実現している重要な要素であり、後ほど詳しく説明する。
Further, the
ゲストOS(第2のオペレーティングシステム)20は、ホストOS10上で動作するプロセスであり、このゲストOS20上で動作するプログラムプロセスに対してファイルシステムサービスを提供するファイルシステム21と、そのファイルシステム21からのディスク装置に対するアクセスを処理するディスクシステム22、ファイルシステム21からディスクシステム22へのアクセスの際対応情報として参照されるファイルシステム情報23と、ディスクシステム22からはストレージ装置と認識されるファイルシステム11が提供する仮想ストレージ装置16とを備えて構成されている。
The guest OS (second operating system) 20 is a process that operates on the host OS 10. A
プロセス30は、アプリケーションプログラム又はシステムユーティリティ・プログラムであり、必要に応じて情報を永続的に保持したり利用したりするために、ホストOS10もしくはゲストOS20が提供するファイルシステムサービスを用いて情報をストレージ装置45に保存し又読み出しをおこなう。
The
ここで、前述したアクセス要求変換手段14の構成について図2に基づいて説明する。図2にアクセス要求変換手段14の機能ブロック構成を示す。
Here, the configuration of the access
この図2において、アクセス要求変換手段14は、ゲストOS20上のプロセス30からのアクセス要求がゲストOS20から転送されるとそれを受付けるアクセス要求受付機能14Aと、受付けたアクセス要求がホストOS10、ゲストOS20の何れのオペレーティングシステムで処理すべきかをファイルシステム対応情報15に基づいて判別する判別機能14Bと、この判別結果に基づいてアクセス要求を変換処理する変換機能14Cを備えて構成されている。このため、プロセス30からのアクセス要求が直接ホストOS10のファイルシステム11で処理できるようになりファイルアクセスの高速化が図れる。なお、アクセス要求変換手段14は、本実施形態ではホストOSの構成要素でその実体はプログラムである。
In FIG. 2, the access request conversion means 14 includes an access
上述した構成を備える本仮想計算機システム1は、ゲストOS20上のプロセス30からのストレージ装置45に対するアクセス要求を受付て、このアクセス要求をホストOS(第1のオペレーティングシステム)10に備わるファイルシステム11に適合するよう変換するアクセス要求変換手段14をホストOS(第1のオペレーティングシステム)10に備えているため、アクセス要求の解釈が、ゲストOS20ではなく、ホストOS10における1回だけで済む。又そのため、ユーザモードから時間のかかるカーネルモードへの変換もホストOS10における1回だけで済み、ファイルアクセスの高速化が図れ、ひいては仮想計算機システム全体の性能向上につながるという点を特徴としている。
The
また、本仮想計算機システム1は、ホストOS(第1のオペレーティングシステム)10にファイルシステム対応情報15が利用可能に設置され、アクセス要求変換手段14は、プロセス30からのアクセス要求がホストOS10で処理することができるか否かをこのファイルシステム対応情報15に基づいて判別するよう構成することもできる。このとき、アクセス要求がホストOS10で処理することができる内容であると判断した場合には、アクセス要求をホストOS10に備えられたファイルシステム11に適合するように変換する。また、ホストOS10で処理できないと判断したときは、アクセス要求をゲストOS(第2のオペレーティングシステム)20のファイルシステム21に適合するよう変換し差し戻すよう構成することもできる。
The
これによって、アクセス要求が直接ホストOS10で処理できる場合はホストOS10で処理をおこない、アクセス要求が直接ホストOS10で処理できない場合には、ゲストOS20のファイルシステム21を介することによって処理できるので、本仮想計算機システムの適用範囲が広がる。また、アクセス要求がホストOS10で処理できないと判断したときのみ、ゲストOS20のファイルシステム21で処理するので、ファイルアクセスの高速化が図れるという点を特徴とするものであり、以下において動作説明と併せてこれらの点についても詳述する。
As a result, when the access request can be processed directly by the
(動作の説明)
本仮想計算機システム1におけるファイルシステムへのアクセス動作について、先ず、基本的な動作フローを説明し、その後、詳細な説明を行なう。図3に、本ファイルシステムへの基本的なアクセス動作フローを示す。
(Description of operation)
Regarding the access operation to the file system in the
この図3の仮想計算機システム1において、先ず、ゲストOS20上のプロセス30からファイルシステムにアクセスするためアクセス要求が出されると、実線矢印で示すように、ホストOS10のアクセス要求変換手段14にて受付けられる。そして、アクセス要求を二つのオペレーティングシステムのファイルシステム11,21のうちいずれで処理すべきかが判別される。ホストOS10のファイルシステム11で直接処理できる場合には、アクセス要求はホストOS10のファイルシステム11での処理に適合するよう変換されて、ホストOS10上のファイルシステム11に引き渡され、ディスクシステム12を介して最終的にはストレージ装置45にアクセスされる。
In the
これによって、点線矢印によって示した既存のファイルアクセス方式と比較すると分かるように、ゲストOS20のファイルシステム21の経由がないので、通常2回必要なアクセス要求の解釈がホストOS10のファイルシステム11での1回で済み、また、時間のかかるユーザモードからカーネルモードへの変換もホストOS10での1回の変換で済むので、高速なファイルアクセスが可能になるという効果が得られる。
As a result, as compared with the existing file access method indicated by the dotted arrow, since there is no passing through the
また、アクセス要求が、ホストOS10のファイルシステム11で直接処理できない場合には、この要求はゲストOS20のファイルシステム21に転送され、既存の仮想計算機システムと同様に、ゲストOSとホストOSを介してストレージ装置45にアクセスされる。このようなホストOS10のファイルシステム11で直接処理できないファイルの割合が少なければ、全体的にみてファイルアクセスの性能は向上することになる。
If the access request cannot be directly processed by the
次に、上述した基本的な動作フローを、図4に基づいて更に詳細に説明する。図4にファイルアクセスの動作フローの詳細なフローチャート図を示す。 Next, the basic operation flow described above will be described in more detail with reference to FIG. FIG. 4 shows a detailed flowchart of the file access operation flow.
この図4に示すように、本仮想計算機システム1のファイルアクセス動作においては、先ず、ゲストOS20上のプロセス30がファイルシステムにアクセスするためアクセス要求を発行する(ステップS100)。
As shown in FIG. 4, in the file access operation of the
このアクセス要求は、ゲストOS20に対するもの(システムコール)である。この場合、このアクセス要求(システムコール)は全て、本システム1においては、ホストOS10に対するアクセス要求(システムコール)として転送される(ステップS101)。
This access request is for the guest OS 20 (system call). In this case, all the access requests (system calls) are transferred as access requests (system calls) to the
そしてこのアクセス要求は、ホストOS10のアクセス要求変換手段14にて受付けられる(アクセス要求受付工程、第1の工程)。そして、このアクセス要求変換手段14において、ファイルシステム対応情報15に基づいて、アクセス要求がホストOS10のファイルシステム11で処理が可能か、あるいはゲストOS20のファイルシステム21で解析する必要があるかが判断される(ステップS102、適応性判別工程、第2の工程)。
This access request is accepted by the access request conversion means 14 of the host OS 10 (access request accepting step, first step). Then, the access request conversion means 14 determines whether the access request can be processed by the
ここで、ファイルシステム対応情報15は、図5に示すように、要求元のゲストOS名と、要求先のファイルシステムと、変換後のホストOS10でのファイルシステム情報との欄を備えた対応表(テーブル)の形でメモリ上に保持されている。そして、例えば、アクセス要求変換手段14に対するアクセス要求が受付けられると、このファイルシステム対応情報15が参照され、要求元のゲストOS名、要求先のファイルシステムが一致する行から、変換後のホストOS10でのファイルシステム情報が検索され、アクセス要求がそれに合うよう変換される。また、読出しのアクセス要求がなされ、要求元のゲストOS名、要求先のファイルシステムが一致する行がない場合や、一致しても変換後のホストOS10でのファイルシステム情報がない場合には、ホストOS10でのファイルシステム11での処理はできないので、ゲストOS20へアクセス要求は差し戻される。
Here, as shown in FIG. 5, the file
次に、ゲストOS20にて処理する必要があると判断されると、ゲストOS20のファイルシステム21にアクセス要求を転送し(ステップS103、アクセス要求差し戻し工程)、ゲストOS20のファイルシステム21およびディスクシステム22により要求は処理される(ステップS104)。この場合、さらに、ゲストOS20に対してストレージデバイスサービスを提供しているホストOS10に対して処理が発行される(ステップS105)。このステップS103からステップS105までは、既存の手法と同じであり、これら処理工程を備えたことで、直接ホストOS10上のファイルシステム11で処理できないプロセス30からのアクセス要求にも対応可能となる。
Next, when it is determined that the
また、アクセス要求変換手段(プログラム)14において、ホストOS10で直接処理が実行できると判断された場合は、このアクセス要求変換手段14にアクセス要求をした要求元ゲストOS20と要求先のファイルシステム情報に基づいて、ファイルシステム対応情報15から変換後のホストOS10でのファイルシステム情報を取得し、それに基づいてホストOS10内でのアクセス要求として変換し(ステップS106、適合変換工程、第3の工程)、ホストOS10のファイルシステム11に対して要求を転送する。
If the access request conversion means (program) 14 determines that the
このステップS106により、ゲストOS20上のファイルシステム21を介さないで済むため、アクセス要求の解釈が1回に減り、また、ユーザモードからカーネルモードへの移行もホストOS10での1回だけで済み、カーネルモードへの切替時間も短縮でき、高速なアクセス要求が達成できる。
This step S106 eliminates the need to go through the
ステップS105もしくはステップS106において発行されたアクセス要求は、ホストOS10のファイルシステム11で要求が解析され(ステップS107)、ストレージ装置45へのアクセス要求としてディスクシステム12に対する要求に変換され(ステップS108)、ストレージ装置45に対するアクセス要求が実行される。これによって、プロセス30からのファイルへのアクセス要求の処理は終わる。
The access request issued in step S105 or step S106 is analyzed by the
引き続き、ストレージ装置45に対するアクセス要求の処理が完了した後の本仮想計算機システム1の動作について、先ず基本の動作フローを説明し、その後、詳細に説明する。
Subsequently, the basic operation flow of the operation of the
図6は、本仮想計算機システム1におけるストレージ装置45へのアクセス動作が完了した後の動作フローの基本を説明する図である。
FIG. 6 is a diagram for explaining the basic operation flow after the access operation to the
この図6において、ストレージ装置45に対するアクセス要求が完了した場合、ホストOS10上のファイルシステム11は、完了通知を処理した後、完了したアクセス要求がゲストOS20のファイルシステム21を介して要求されたものか、アクセス要求変換手段14から直接ファイルシステム11に発行されたものかを判断する。
In FIG. 6, when the access request to the
その結果によって、処理結果をアクセス要求発行元であるゲストOS20に返却するか、処理結果をアクセス要求変換手段14に伝達し、アクセス要求変換手段14においてファイルシステム対応情報15からホストOS10内での処理要求として変換し、結果をプロセス30に対して返却する。
Depending on the result, the processing result is returned to the
次に、上述のアクセス要求完了後の詳細な動作について図7に基づいて説明する。図7にその詳細なフローチャートを示す。
この図7において、ストレージ装置45に対する要求が完了すると、先ず、ディスクシステム12はファイルシステム11に対して要求が完了したことを通知する(ステップS201)。
Next, a detailed operation after the above access request is completed will be described with reference to FIG. FIG. 7 shows a detailed flowchart thereof.
In FIG. 7, when the request for the
ファイルシステム11は完了通知を処理した後(ステップS202)、完了した要求がゲストOS20上のプロセス30からゲストOS20のファイルシステム21を通して発行されたものか確認する(ステップS203)。
After processing the completion notification (step S202), the
ゲストOS20のファイルシステム21を介して発行されたものである場合は、アクセス要求発行元であるゲストOS20に結果を返却し(ステップS204)、ゲストOS20内のディスクシステム22およびファイルシステム21が処理結果を解析して(ステップS205)、最終的に、アクセス要求発行元であるプロセス30に結果が返却される(ステップS207)。
If it is issued via the
完了した要求が、アクセス要求変換手段14を通してファイルシステム11に要求されていたものである場合、ファイルシステム11は処理結果をアクセス要求変換手段14に伝達し、アクセス要求変換手段14は処理発行元のゲストOS20と要求先のファイルシステムを基にファイルシステム対応情報15からホストOS10内での処理要求として変換し(ステップS206)、結果をプロセス30に対して返却する(ステップS207)。
If the completed request has been requested to the
以上の動作によって、ゲストOS20上のプロセス30からのアクセス要求によるストレージ動作の結果がプロセス30に戻されてファイルアクセス動作は完了する。
With the above operation, the result of the storage operation by the access request from the
ここで、上述の仮想計算機システム1の動作における第1の工程、第2の工程及び第3の工程を備えた方法が、本仮想計算機システムにおける一のストレージ用アクセス方法である。
すなわち、本ストレージ用アクセス方法は、プロセス30からのストレージ装置45に対するアクセス要求をホストOS(第1のオペレーティングシステム)10で受付ける第1の工程と、このアクセス要求がホストOS(第1のオペレーティングシステム)10で処理できるか否かをファイルシステム対応情報15に基づいて判別する第2の工程と、この第2の工程でホストOS(第1のオペレーティングシステム)10で処理できると判別された場合にアクセス要求をホストOS(第1のオペレーティングシステム)10のファイルシステム11に適合するように変換する第3の工程とを設けたことを特徴とする。
Here, the method including the first step, the second step, and the third step in the operation of the
That is, the storage access method includes a first step of accepting an access request from the
これによって、ゲストOS20上のファイルシステム21への経由動作がないので、2回必要であったアクセス要求の解釈が1回で済み、また、時間のかかるカーネルモードへの変換もホストOSでの変換1回で済むので、高速なファイルアクセスが可能になるという効果が得られる。
As a result, since there is no transit operation to the
さらに、他のストレージ用アクセス方法として、前述の第2の工程で、ホストOS(第1のオペレーティングシステム)10で処理できないと判別された場合には、アクセス要求をゲストOS(第2のオペレーティングシステム)20のファイルシステム21に適合するよう変換し差し戻すアクセス要求差し戻し工程(ステップS103)を付加してもよい。
Further, as another storage access method, if it is determined in the second step that the host OS (first operating system) 10 cannot process, an access request is issued to the guest OS (second operating system). ) An access request sending back step (step S103) may be added to convert and send back to match the 20
これによって、直接ホストOS10上のファイルシステム11で処理できないプロセス30からのアクセス要求にも対応可能となる。そして、本仮想計算機システム1でゲストOS上のプロセス30からのファイルシステムへのアクセス要求を全体として高速で処理することが可能になる。
As a result, it is possible to respond to an access request from the
また、ここで、上述したアクセス要求受付工程、適応性判別工程、適合変換工程の各工程の処理機能を計算機ハードウェア40上で動くようプログラム化したものが、ストレージアクセス用プログラムである。図8にこのストレージアクセス用プログラムのフローチャート図を示す。
Here, the storage access program is a program in which the processing functions of the access request receiving process, the adaptability determining process, and the adaptive conversion process described above are programmed to run on the
すなわち、本仮想計算機システムにあって、ストレージアクセス用プログラムは、プロセス30からのストレージ装置45に対するアクセス要求をホストOS(第1のオペレーティングシステム)10で受付けるアクセス要求受付機能201、この受付けたアクセス要求がホストOS(第1のオペレーティングシステム)10で処理できるか否かをファイルシステム対応情報15に基づいて判別する適応性判別機能202、及びこの適応性判別機能202にてアクセス要求がホストOS(第1のオペレーティングシステム)10で処理できると判別された場合には当該アクセス要求をホストOS(第1のオペレーティングシステム)10のファイルシステム11に適合するよう変換する適合変換処理機能203をコンピュータに実行させるように構成したことを特徴とする。
That is, in this virtual machine system, the storage access program receives an access
さらに、上述の動作フローの説明における適応性判別工程の実行過程で、ホストOS10で処理できないと判別された場合に、アクセス要求をゲストOS20のファイルシステム21に適合するよう変換して差し戻すアクセス要求差戻し工程(ステップS103)が設けられているが、このアクセス要求差戻し工程の処理機能を、上述のストレージアクセス用プログラムに付加してもよい。
Further, when it is determined that the
すなわち、上述のストレージアクセス用プログラムにおいて、適応性判別機能202の処理過程でホストOS10で処理できないと判別された場合に機能し、アクセス要求をゲストOS20(第2のオペレーティングシステム)のファイルシステム21に適合するよう変換して差し戻すアクセス要求差戻し機能204を設け、これらをコンピュータに実行させるように構成してもよい。
That is, the above-described storage access program functions when it is determined that the
これによって、ストレージアクセス用プログラムは、具体的に上記の処理を行なうことで、仮想計算機システムのゲストOS上のプロセスからのファイルアクセスの高速化を図っている。なお、このストレージアクセス用プログラムは、プログラムとして実現されたアクセス要求変換手段14と実質的に同じものである。
Thus, the storage access program performs the above-described processing specifically to speed up file access from the processes on the guest OS of the virtual machine system. The storage access program is substantially the same as the access
なお、これまでの説明では、説明の便宜上、ホストOS10上のゲストOS20があたかも1つのように説明してきたが、一のホストOS上に異なるゲストOSが複数存在してもよい。このような仮想計算機システムでは、ゲストOSからのファイルシステムアクセスがホストOSでのファイルシステムアクセスに変換され、全てのファイルシステムアクセス要求処理が唯一のホストOS内で実行されるように構成されている。このため、ホストOSとゲストOSの間で同一のファイルシステムを共有することができるのみならず、複数のゲストOS間でも、ホストOSの唯一のファイルアクセス要求処理を介して、同一のファイルシステムを共有することができるというメリットを有している。
In the above description, for convenience of explanation, the
以上の構成と動作に基づく本仮想計算機システムの効果は以下の通りである。
本仮想計算機システムでは、ホストOSでゲストOS上のプロセスに対するファイルシステム処理を実行できる場合、ゲストOS内のファイルシステムおよびディスクシステムでの処理が発生しないよう構成されているため、ファイルシステムへの要求処理の際時間のかかるファイルシステム要求解析およびディスクシステム要求解析を省略することができ、かつユーザモードからカーネルモードへのモード移行も1回ですむために処理時間を短縮することができ、システム性能向上が図れる。
The effects of the virtual computer system based on the above configuration and operation are as follows.
This virtual machine system is configured so that when the host OS can execute file system processing for a process on the guest OS, processing in the file system and disk system in the guest OS does not occur. Time-consuming file system request analysis and disk system request analysis can be omitted, and only one mode transition from user mode to kernel mode is required, reducing processing time and improving system performance. I can plan.
また、本仮想計算機システムでは、ゲストOSからのファイルシステムアクセスがホストOSでのファイルシステムアクセスに変換され、全てのファイルシステム要求処理がホストOS内で実行されるように構成されているため、ホストOSとゲストOSの間で同一のファイルシステムを共有することができる。 In the virtual machine system, the file system access from the guest OS is converted into the file system access in the host OS, and all file system request processing is executed in the host OS. The same file system can be shared between the OS and the guest OS.
さらにまた、本仮想計算機システムでは、複数のゲストOS間で同一のファイルシステムを共有することができるという効果もある。それは、上述したようにゲストOSとホストOS間のファイルシステム共有が実現しているので、これを用いることで複数のゲストOSの間でもファイルシステムの共有が可能なためである。 Furthermore, this virtual computer system has an effect that the same file system can be shared among a plurality of guest OSes. This is because the file system sharing between the guest OS and the host OS is realized as described above, and the file system can be shared among a plurality of guest OSs by using this.
また、本発明は、エミュレータによる仮想計算機を実行させる際に、ファイルシステムの性能を向上させるといった一般的な用途に適用することが可能である。また、複数の仮想計算機間でファイルシステムを共有するといった用途にも適用可能である。 Further, the present invention can be applied to general uses such as improving the performance of a file system when a virtual computer is executed by an emulator. Further, the present invention can be applied to a use such as sharing a file system among a plurality of virtual machines.
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 アクセス要求差戻し機能
1
11 File system 12 (on host OS) Disk system 14 (on host OS) Access request conversion program (access request conversion means)
14A Access request accepting function 14B
21 File system 22 (on guest OS) Disk system 30 (on guest OS)
Claims (8)
前記プロセスからの前記ストレージ装置に対するアクセス要求を受付て、当該アクセス要求を前記第1のオペレーティングシステムに備えられたファイルシステムに適合するように変換するアクセス要求変換手段を、前記第1のオペレーティングシステムに備えたことを特徴とする仮想計算機システム。 A first operating system that operates on computer hardware including at least a CPU, a memory, and a storage device, a second operating system that operates on the first operating system, and on the second operating system A virtual machine system comprising a process running on
An access request conversion unit that receives an access request to the storage device from the process and converts the access request so as to be compatible with a file system included in the first operating system, to the first operating system. A virtual computer system characterized by comprising.
前記第1のオペレーティングシステムには、ファイルシステム対応情報が利用可能に設置され、
前記アクセス要求変換手段は、前記アクセス要求が前記第1のオペレーティングシステムで処理することができる内容か否かを前記ファイルシステム対応情報に基づいて判別すると共に、当該アクセス要求が前記第1のオペレーティングシステムで処理することができる内容であると判断した場合に前記アクセス要求を前記第1のオペレーティングシステムに備えられたファイルシステムに適合するように変換する構成としたことを特徴とする仮想計算機システム。 In the virtual machine system according to claim 1,
The first operating system is installed so that file system compatible information can be used,
The access request conversion means determines whether the access request is a content that can be processed by the first operating system based on the file system correspondence information, and the access request is determined by the first operating system. When it is determined that the content can be processed in step 1, the virtual computer system is configured to convert the access request so as to be compatible with the file system provided in the first operating system.
前記アクセス要求変換手段は、前記プロセスからの前記アクセス要求を前記第1のオペレーティングシステムで処理できないと判断した場合に、当該アクセス要求を前記第2のオペレーティングシステムのファイルシステムに適合するよう変換し差し戻すよう構成されていることを特徴とする仮想計算機システム。 In the virtual machine system according to claim 2,
When the access request conversion means determines that the access request from the process cannot be processed by the first operating system, the access request conversion means converts the access request to conform to the file system of the second operating system. A virtual computer system configured to return.
前記アクセス要求変換手段は、前記プロセスからの前記アクセス要求を受付けるアクセス要求受付機能と、前記アクセス要求が前記第1、第2の何れのオペレーティングシステムで処理すべきかを前記ファイルシステム対応情報に基づいて判別する判別機能と、この判別結果に基づいて前記アクセス要求を変換処理するように構成されていることを特徴とした仮想計算機システム。 In the virtual machine system according to claim 1, 2, or 3,
Based on the file system correspondence information, the access request conversion means determines whether the access request is accepted by the access request from the process, and whether the access request is to be processed by the first or second operating system. A virtual machine system comprising: a discrimination function for discrimination; and a conversion process for the access request based on the discrimination result.
前記プロセスからの前記ストレージ装置に対するアクセス要求を前記第1のオペレーティングシステムで受付ける第1の工程と、
このアクセス要求が前記第1のオペレーティングシステムで処理できるか否かをファイルシステム対応情報に基づいて判別する第2の工程と、
この第2の工程で前記第1のオペレーティングシステムで処理できると判別された場合に前記アクセス要求を前記第1のオペレーティングシステムのファイルシステムに適合するように変換する第3の工程と、
を設けたことを特徴とするストレージ用アクセス方法。 A first operating system that operates on computer hardware including at least a CPU, a memory, and a storage device, a second operating system that operates on the first operating system, and on the second operating system In the virtual machine system comprising the process operating in the storage access method for accessing the storage device from the process,
A first step of accepting an access request to the storage device from the process by the first operating system;
A second step of determining whether the access request can be processed by the first operating system based on file system correspondence information;
A third step of converting the access request so as to be compatible with the file system of the first operating system when it is determined in the second step that the first operating system can process it;
A storage access method characterized by comprising:
前記第2の工程で、前記第1のオペレーティングシステムで処理できないと判別された場合には、前記アクセス要求を前記第2のオペレーティングシステムのファイルシステムに適合するよう変換し差し戻すアクセス要求差し戻し工程を設けたことを特徴とするストレージ用アクセス方法。 The storage access method according to claim 5, wherein:
If it is determined in the second step that the first operating system cannot process, an access request return step for converting and returning the access request to be compatible with the file system of the second operating system is performed. An access method for storage, characterized by being provided.
前記プロセスからの前記ストレージ装置に対するアクセス要求を前記第1のオペレーティングシステムで受付けるアクセス要求受付機能、
この受付けたアクセス要求が前記第1のオペレーティングシステムで処理できるか否かをファイルシステム対応情報に基づいて判別する適応性判別機能、
及びこの適応性判別機能にて前記アクセス要求が前記第1のオペレーティングシステムで処理できると判別された場合には当該アクセス要求を前記第1のオペレーティングシステムのファイルシステムに適合するよう変換する適合変換処理機能、
をコンピュータに実行させるように構成したことを特徴とするストレージアクセス用プログラム。 A first operating system that operates on computer hardware including at least a CPU, a memory, and a storage device, a second operating system that operates on the first operating system, and on the second operating system A virtual machine system comprising a process running on
An access request accepting function for accepting an access request to the storage device from the process by the first operating system;
An adaptability determining function for determining whether or not the accepted access request can be processed by the first operating system based on the file system correspondence information;
And an adaptive conversion process for converting the access request so as to conform to the file system of the first operating system when it is determined by the adaptability determining function that the access request can be processed by the first operating system. function,
A storage access program configured to cause a computer to execute the program.
前記適応性判別機能の実行過程で前記第1のオペレーティングシステムで処理できないと判別された場合に機能し、前記アクセス要求を前記第2のオペレーティングシステムのファイルシステムに適合するよう変換して差し戻すアクセス要求差戻し機能を設け、
これらをコンピュータに実行させるように構成したこと特徴とするストレージアクセス用プログラム。
In the storage access program according to claim 7,
This function functions when it is determined that the first operating system cannot be processed in the process of executing the adaptability determination function, and converts the access request back into a file system of the second operating system and sends it back. Provide a request return function,
A storage access program configured to cause a computer to execute these.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008096204A JP4670889B2 (en) | 2008-04-02 | 2008-04-02 | Method and system for accelerating file system in virtual machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008096204A JP4670889B2 (en) | 2008-04-02 | 2008-04-02 | Method and system for accelerating file system in virtual machine |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009251735A true JP2009251735A (en) | 2009-10-29 |
JP4670889B2 JP4670889B2 (en) | 2011-04-13 |
Family
ID=41312419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008096204A Expired - Fee Related JP4670889B2 (en) | 2008-04-02 | 2008-04-02 | Method and system for accelerating file system in virtual machine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4670889B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04227548A (en) * | 1990-04-17 | 1992-08-17 | Seiko Epson Corp | Information processing unit |
JPH07225694A (en) * | 1994-02-09 | 1995-08-22 | Hitachi Ltd | Virtual computer system |
JPH09319562A (en) * | 1995-12-21 | 1997-12-12 | Mitsubishi Electric Corp | Composite computer system and method for install/ uninstall to composite computer system |
WO2007083299A2 (en) * | 2006-01-17 | 2007-07-26 | Kidaro (Israel) Ltd. | Seamless integration of multiple computing environments |
-
2008
- 2008-04-02 JP JP2008096204A patent/JP4670889B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04227548A (en) * | 1990-04-17 | 1992-08-17 | Seiko Epson Corp | Information processing unit |
JPH07225694A (en) * | 1994-02-09 | 1995-08-22 | Hitachi Ltd | Virtual computer system |
JPH09319562A (en) * | 1995-12-21 | 1997-12-12 | Mitsubishi Electric Corp | Composite computer system and method for install/ uninstall to composite computer system |
WO2007083299A2 (en) * | 2006-01-17 | 2007-07-26 | Kidaro (Israel) Ltd. | Seamless integration of multiple computing environments |
Also Published As
Publication number | Publication date |
---|---|
JP4670889B2 (en) | 2011-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11500689B2 (en) | Communication method and apparatus | |
US20220083448A1 (en) | Deriving component statistics for a stream enabled application | |
US7788665B2 (en) | Migrating a virtual machine that owns a resource such as a hardware device | |
US7984438B2 (en) | Virtual machine transitioning from emulating mode to enlightened mode | |
US10255088B2 (en) | Modification of write-protected memory using code patching | |
US9336001B2 (en) | Dynamic instrumentation | |
US10565131B2 (en) | Main memory including hardware accelerator and method of operating the same | |
WO2018176911A1 (en) | Virtual disk file format conversion method and device | |
JP2004070944A (en) | System and method for expanding operating system function for application | |
US8738890B2 (en) | Coupled symbiotic operating system | |
US7941800B2 (en) | Transferring data between virtual machines by way of virtual machine bus in pipe mode | |
US8631423B1 (en) | Translating input/output calls in a mixed virtualization environment | |
US9424205B2 (en) | System and method for SATA virtualization and domain protection | |
WO2016101282A1 (en) | Method, device and system for processing i/o task | |
JP2004258840A (en) | Computer system with virtualized i/o device | |
Gebhardt et al. | Challenges for inter virtual machine communication | |
JP2009516296A (en) | Asynchronous just-in-time compilation | |
JP4670889B2 (en) | Method and system for accelerating file system in virtual machine | |
KR101614920B1 (en) | Sharing input/output(I/O) resources across multiple computing systems and/or environments | |
US7587722B2 (en) | Extending operating system subsystems | |
US11003488B2 (en) | Memory-fabric-based processor context switching system | |
US7409691B2 (en) | Extending operating system subsystems | |
WO2023000705A1 (en) | Application program virtualization method and system, and electronic device and storage medium | |
Kim et al. | Barrier enabled QEMU | |
KR20230093425A (en) | Computer systems running multiple operating systems |
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 |