(57)【要約】【課題】仮想計算機の共有メモリの空き領域が断片化した場合であっても、仮想記憶機能を有しないＯＳに対して共有メモリを割り当てること。【解決手段】共有メモリ１０３Ａの割り当てを要求した第１のプロセス３１０を制御する第１のＯＳ３００が仮想記憶機能を有しない場合に、共有メモリ１０３Ａ内でどのプロセスにも割り当てられていない空き領域を特定する。要求量以上の容量を有する物理アドレスの連続した空き領域が抽出されなかった場合に、要求量以上の容量を有する物理アドレスの連続した空き領域が得られるように、割り当て済みの記憶領域の記憶内容を共有メモリ内の別の記憶領域に書き込み、物理アドレスの連続した空き領域の場所を第１のプロセス３１０に通知し、別の記憶領域に書き込まれた記憶内容の記憶場所を当該記憶内容に対応するプロセスに通知する。【選択図】図４
2012043089.tif 000002
【特許請求の範囲】
【請求項１】
第１のプロセスから主記憶装置の共有メモリの割り当ての要求を受け付ける受付手段と、
前記受付手段によって要求を受け付けた場合に、前記第１のプロセスを制御するＯＳ（Operating System）が仮想記憶機能を有するか否かを判別する判別手段と、
前記判別手段によって前記ＯＳが仮想記憶機能を有しないと判別された場合に、前記共有メモリ内でどのプロセスにも割り当てられていない空き領域を特定し、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域を抽出する抽出手段と、
前記抽出手段によって前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域が抽出されなかった場合に、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域が得られるように、前記第１のプロセス以外のプロセスに割り当て済みの記憶領域の記憶内容を共有メモリ内の別の記憶領域に書き込む書込手段と、
前記書込手段によって得られた、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域の場所を前記第１のプロセスに通知し、前記書込手段によって書き込まれた記憶内容の記憶場所を当該記憶内容に対応するプロセスに通知する通知手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記抽出手段は、前記判別手段によって前記ＯＳが仮想記憶機能を有しないと判別された場合に、前記共有メモリ内でどのプロセスにも割り当てられていない空き領域を特定し、特定された空き領域の容量の合計が前記第１のプロセスからの要求量以上である場合に、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域を抽出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
コンピュータを、
第１のプロセスから主記憶装置の共有メモリの割り当ての要求を受け付ける受付手段と、
前記受付手段によって要求を受け付けた場合に、前記第１のプロセスを制御するＯＳ（Operating System）が仮想記憶機能を有するか否かを判別する判別手段と、
前記判別手段によって前記ＯＳが仮想記憶機能を有しないと判別された場合に、前記共有メモリ内でどのプロセスにも割り当てられていない空き領域を特定し、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域を抽出する抽出手段と、
前記抽出手段によって前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域が抽出されなかった場合に、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域が得られるように、前記第１のプロセス以外のプロセスに割り当て済みの記憶領域の記憶内容を共有メモリ内の別の記憶領域に書き込む書込手段と、
前記書込手段によって得られた、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域の場所を前記第１のプロセスに通知し、前記書込手段によって書き込まれた記憶内容の記憶場所を当該記憶内容に対応するプロセスに通知する通知手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
１台のコンピュータ上で複数のＯＳ（Operating System）を並列的に動作させることによって１台のコンピュータを複数のコンピュータとして使用する仮想計算機が知られている。仮想計算機においては、仮想計算機を実現するための基本プログラムであるハイパーバイザを動作させ、ハイパーバイザの制御下で複数のＯＳを動作させる。
ハイパーバイザの役割の１つが、主記憶装置の記憶領域の管理である。例えば、特許文献１に記載された発明では、まず、第１の記憶領域を第１のＯＳに割り当て、第２の記憶領域を第２のＯＳに割り当て、第１の記憶領域の一部分を共有メモリに設定する。第１のＯＳ、第２のＯＳは、記憶領域の物理アドレスと仮想アドレスとを対応付ける変換テーブルを有し、第２のＯＳがハイパーバイザに共有メモリの使用を要求すると、ハイパーバイザが、第２のＯＳの変換テーブルに記憶されている第２の記憶領域の先頭の物理アドレスを共有メモリの先頭の物理アドレスに書き換える。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３８７４６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、仮想計算機の共有メモリの空き領域が断片化した場合であっても、仮想記憶機能を有しないＯＳに対して共有メモリを割り当てることを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に係る発明は、第１のプロセスから主記憶装置の共有メモリの割り当ての要求を受け付ける受付手段と、前記受付手段によって要求を受け付けた場合に、前記第１のプロセスを制御するＯＳ（Operating System）が仮想記憶機能を有するか否かを判別する判別手段と、前記判別手段によって前記ＯＳが仮想記憶機能を有しないと判別された場合に、前記共有メモリ内でどのプロセスにも割り当てられていない空き領域を特定し、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域を抽出する抽出手段と、前記抽出手段によって前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域が抽出されなかった場合に、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域が得られるように、前記第１のプロセス以外のプロセスに割り当て済みの記憶領域の記憶内容を共有メモリ内の別の記憶領域に書き込む書込手段と、前記書込手段によって得られた、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域の場所を前記第１のプロセスに通知し、前記書込手段によって書き込まれた記憶内容の記憶場所を当該記憶内容に対応するプロセスに通知する通知手段とを有することを特徴とする情報処理装置を提供する。
【０００６】
請求項２に係る発明は、前記抽出手段は、前記判別手段によって前記ＯＳが仮想記憶機能を有しないと判別された場合に、前記共有メモリ内でどのプロセスにも割り当てられていない空き領域を特定し、特定された空き領域の容量の合計が前記第１のプロセスからの要求量以上である場合に、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域を抽出することを特徴とする請求項１に記載の情報処理装置を提供する。
【０００７】
請求項３に係る発明は、コンピュータを、第１のプロセスから主記憶装置の共有メモリの割り当ての要求を受け付ける受付手段と、前記受付手段によって要求を受け付けた場合に、前記第１のプロセスを制御するＯＳ（Operating System）が仮想記憶機能を有するか否かを判別する判別手段と、前記判別手段によって前記ＯＳが仮想記憶機能を有しないと判別された場合に、前記共有メモリ内でどのプロセスにも割り当てられていない空き領域を特定し、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域を抽出する抽出手段と、前記抽出手段によって前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域が抽出されなかった場合に、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域が得られるように、前記第１のプロセス以外のプロセスに割り当て済みの記憶領域の記憶内容を共有メモリ内の別の記憶領域に書き込む書込手段と、前記書込手段によって得られた、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域の場所を前記第１のプロセスに通知し、前記書込手段によって書き込まれた記憶内容の記憶場所を当該記憶内容に対応するプロセスに通知する通知手段として機能させるためのプログラムを提供する。
【発明の効果】
【０００８】
請求項１、３に係る発明によれば、仮想計算機の共有メモリの空き領域が断片化した場合であっても、仮想記憶機能を有しないＯＳに対して共有メモリを割り当てることができる。
請求項２に係る発明によれば、無駄な処理を省くことができる。
【図面の簡単な説明】
【０００９】
【図１】情報処理装置１の構成を概念的に表す図である。
【図２】ハードウェア１００の構成を表す図である。
【図３】共有メモリ管理テーブル２０１を表す図である。
【図４】ハイパーバイザ２００が記憶領域を割り当てる処理の手順を表す図である。
【図５】共有メモリの割り当ての様子を表す図である。
【図６】共有メモリの割り当ての様子を表す図である。
【図７】共有メモリの割り当ての様子を表す図である。
【図８】共有メモリの割り当ての様子を表す図である。
【発明を実施するための形態】
【００１０】
これより、実施形態について説明する。
（１）構成
図１は、本実施形態の情報処理装置１の構成を概念的に表す図である。情報処理装置１は、例えば画像形成装置を制御する制御装置として画像形成装置に組み込まれる。
図２は、ハードウェア１００の構成を表す図である。ハードウェア１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、記憶部１０４、操作部１０５、表示部１０６を備えている。
【００１１】
ＲＡＭ１０３は、主記憶装置であり、ＣＰＵ１０１が各種プログラムを実行する際にプログラム本体や処理の対象となるデータを書き出すためのワークエリアとして使用される。
記憶部１０４は、ハードディスク記憶装置等の補助記憶装置であり、ハイパーバイザ２００、第１のＯＳ（Operating System）３００、第２のＯＳ４００、アプリケーションプログラム等が記憶されている。ＲＯＭ１０２には、ハイパーバイザ２００及びＯＳの読み出しと実行の手順を表すプログラムが記憶されている。
操作部１０５は、キーボード及びマウスである。表示部１０６は、例えば液晶表示装置である。
【００１２】
ハイパーバイザ２００は、ハードウェア１００上で複数のＯＳを並列的に動作させるための制御を行うプログラムである。第１のＯＳ３００、第２のＯＳ４００は、ハイパーバイザの制御下で並列的に動作し、第１のプロセス３１０、第２のプロセス４１０は、それぞれ第１のＯＳ３００、第２のＯＳ４００の制御下で動作する。
ハイパーバイザ２００は、ＲＡＭ１０３が有する記憶領域の一部を、複数のプロセスからアクセス可能な共有メモリに設定し、共有メモリの各プロセスへの割り当てを行う。ハイパーバイザ２００は、図３に示す共有メモリ管理テーブル２０１を有し、共有メモリにおいて各プロセスに割り当てられている領域の先頭アドレス及び容量を、プロセスの識別子と対応付けて共有メモリ管理テーブル２０１に記憶する。
【００１３】
なお、ここでは、２つのＯＳを並列的に動作させる例を示すが、並列的に動作させるＯＳの数はいくつでもよい。また、各ＯＳの制御下で動作するプロセスの数はいくつでもよい。また、各プロセスは、各ＯＳが実行する処理の単位としてのプロセスでもよいし、各ＯＳの制御下で動作するアプリケーションプログラムが実行する処理の単位としてのプロセスでもよい。また、第１のＯＳ３００、第２のＯＳ４００とは別のＯＳをハードウェア１００上で動作させ、このＯＳの制御下でハイパーバイザ２００を動作させるようにしてもよい。
【００１４】
第１のＯＳ３００は、仮想記憶機能を有しないＯＳであり、例えば、リアルタイムＯＳや、ＯＳに組み込まれたデバイスドライバである。仮想計算機においては、複数のＯＳのうちの或るＯＳに割り当てられた記憶領域が開放されたために空き領域が断片化する場合がある。この場合、空き領域の物理アドレスは、不連続となる。従って、第１のＯＳ３００が、断片化した各空き領域よりも大きな容量の記憶領域の割り当てを要求した場合、第１のＯＳ３００に断片化した空き領域を割り当てたとしても、第１のＯＳ３００は空き領域に正しくアクセスすることができない。
【００１５】
一方、第２のＯＳ４００は、仮想記憶機能を有するＯＳである。第２のＯＳ４００は、ＲＡＭ１０３上の物理アドレスと仮想アドレスとを対応付けて記憶するアドレス変換テーブル４０１を有する。仮想アドレス空間では、先頭アドレスから末尾アドレスまでが連続している。第２のＯＳ４００の制御下で動作する第２のプロセス４１０を起動する場合、ハイパーバイザ２００は、ＲＡＭ１０３上の空き領域を第２のプロセス４１０に割り当てるが、この際、空き領域の物理アドレスと仮想アドレスとを低位アドレス側から順に１対１に対応付けてアドレス変換テーブル４０１に書き込む。ＲＡＭ１０３にアクセスする場合、第２のプロセス４１０は、アドレス変換テーブル４０１に基づいて、仮想アドレスを物理アドレスに変換し、当該物理アドレスに対応する記憶領域にアクセスする。
【００１６】
（２）動作
図４は、ハイパーバイザ２００がプロセスに記憶領域を割り当てる処理の手順を表す図である。ここで、ＣＰＵ１０１は、ハイパーバイザ２００、第１のＯＳ３００及び第２のＯＳ４００を実行中である。いずれかのＯＳの制御下で新規にプロセスが起動され、当該プロセスが或る容量の共有メモリの割り当てをＣＰＵ１０１に要求した場合に、ＣＰＵ１０１が、以下に示す処理を実行する。つまり、以下に示す処理は、ＣＰＵ１０１がハイパーバイザ２００を実行することによって実現される処理であって、動作の物理的な主体はＣＰＵ１０１であるが、便宜上、ハイパーバイザ２００を動作の主体として説明する。
【００１７】
ステップＡ０１では、ハイパーバイザ２００が、共有メモリの割り当てを要求したプロセスを制御するＯＳが仮想記憶機能を有するか否かを当該プロセス又は当該ＯＳに問い合わせる。当該ＯＳが仮想記憶機能を有する場合（ステップＡ０１：ＹＥＳ）には、ステップＡ０８に進み、仮想記憶機能を有しない場合（ステップＡ０１：ＮＯ）には、ステップＡ０２に進む。
要するに、ＣＰＵ１０１は、第１のプロセスから主記憶装置の共有メモリの割り当ての要求を受け付ける受付手段と、前記受付手段によって要求を受け付けた場合に、前記第１のプロセスを制御するＯＳ（Operating System）が仮想記憶機能を有するか否かを判別する判別手段の一例である。
【００１８】
ステップＡ０２では、ハイパーバイザ２００は、共有メモリ管理テーブル２０１を参照し、どのプロセスにも割り当てられていない領域（空き領域）の先頭アドレスと容量を特定する。空き領域が断片化している場合、先頭アドレスと容量の組が複数特定される。そして、空き領域の容量を合計し、空き容量の合計がプロセスからの要求量以上であるか否かを判断する。空き容量の合計が要求量以上である場合（ステップＡ０２：ＹＥＳ）には、ステップＡ０３に進み、要求量以上でない場合（ステップＡ０２：ＮＯ）には、共有メモリの割り当てが不可能である旨を当該プロセスに通知し、処理を終了する。
【００１９】
ステップＡ０３では、ハイパーバイザ２００は、ステップＡ０２で特定された容量に基づいて、要求量以上の容量を有する物理アドレスの連続した空き領域を抽出する。要求量以上の容量を有する物理アドレスの連続した空き領域が抽出された場合（ステップＡ０３：ＹＥＳ）には、ステップＡ０４に進み、このような空き領域が抽出されなかった場合（ステップＡ０３：ＮＯ）には、ステップＡ０５に進む。
要するに、ＣＰＵ１０１は、前記判別手段によって前記ＯＳが仮想記憶機能を有しないと判別された場合に、前記共有メモリ内でどのプロセスにも割り当てられていない空き領域を特定し、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域を抽出する抽出手段の一例である。
【００２０】
ステップＡ０４では、ハイパーバイザ２００は、要求量以上の容量を有する物理アドレスの連続した空き領域のうち、先頭アドレスが最も低位である空き領域を当該プロセスに割り当てる。具体的には、ハイパーバイザ２００は、当該空き領域の先頭アドレスと容量を当該プロセスの識別子と対応付けて、共有メモリ管理テーブル２０１に書き込み、当該先頭アドレスを当該プロセスに通知する。
【００２１】
一方、ステップＡ０５では、ハイパーバイザ２００は、アドレスの低位側から、空き領域の容量を、その和が要求量以上になるまで加算する。具体的には、先頭アドレスが最も低位である空き領域と先頭アドレスが２番目に低位である空き領域の容量の和を求める。求められた和が要求量以上でない場合は、先頭アドレスが３番目に低位である空き領域の容量を和に加算し、容量の和が要求量以上となるまでこの手順を繰り返す。そして、既にプロセスに割り当てられている領域のうち、最後に容量を加算した空き領域よりも先頭アドレスが低位である領域を抽出する。抽出された領域を要移動領域と呼ぶ。そして、要移動領域を割り当てられているプロセスを共有メモリ管理テーブル２０１から特定し、特定されたプロセスに対して、要移動領域の記憶内容の移動を通知する。
【００２２】
ステップＡ０６では、ハイパーバイザ２００が、記憶内容の移動を通知されたプロセスから承諾の通知を受けるまで待機し、通知を受けたならば（ステップＡ０６：ＹＥＳ）、ステップＡ０７に進む。記憶内容の移動を通知されたプロセスは、記憶内容の移動が可能になり次第、移動の承諾をＣＰＵ１０１に通知する。
【００２３】
ステップＡ０７では、ハイパーバイザ２００が、要移動領域の記憶内容の複製を共有メモリの先頭アドレスから連続させて書き込み、書き込みが完了したならば、書き込んだ領域の末尾の次のアドレスからステップＡ０５で最後に容量を加算した空き領域の末尾のアドレスまでの記憶内容を消去し、記憶内容を消去した領域の先頭アドレスと容量を、共有メモリの割り当てを要求したプロセスの識別子と対応付けて、共有メモリ管理テーブル２０１に書き込み、当該プロセスに対して、当該先頭アドレスを通知する。さらに、記憶内容の移動の対象となったプロセスに対して、移動先の領域の先頭アドレスを通知し、処理を終了する。
要するに、ＣＰＵ１０１は、前記抽出手段によって前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域が抽出されなかった場合に、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域が得られるように、前記第１のプロセス以外のプロセスに割り当て済みの記憶領域の記憶内容を共有メモリ内の別の記憶領域に書き込む書込手段と、前記書込手段によって得られた、前記第１のプロセスからの要求量以上の容量を有する物理アドレスの連続した空き領域の場所を前記第１のプロセスに通知し、前記書込手段によって書き込まれた記憶内容の記憶場所を当該記憶内容に対応するプロセスに通知する通知手段の一例である。
【００２４】
ステップＡ０８では、ハイパーバイザ２００が、共有メモリ管理テーブル２０１を参照し、空き領域の先頭アドレスと容量を特定し、アドレスの低位側から空き領域をプロセスに割り当てる。具体的には、空き領域の先頭アドレスと容量をプロセスの識別子と対応付けて共有メモリ管理テーブル２０１に書き込み、当該先頭アドレスをプロセスに通知する。空き領域が断片化している場合、先頭アドレスが最も低位の空き領域だけでは要求量を満たさないことがあり得るが、この場合には、断片化した複数の空き領域をアドレスの低位側から要求量を満たすまで順に割り当てる。割り当てが完了したならば、処理を終了する。
以上が、ハイパーバイザ２００がプロセスに記憶領域を割り当てる処理の手順である。
【００２５】
次に、上記の手順に従って行われる割り当ての具体例について説明する。
図５は、共有メモリ１０３Ａの割り当ての様子を表す図である。この例では、ハイパーバイザ２００は、共有メモリ１０３Ａの記憶領域を４ｋＢ（kilobyte）を１ブロックとして管理し、共有メモリ１０３Ａとして使用可能な容量は、最大で２ＭＢ（megabyte）すなわち５１２ブロックである。同図は、第１のプロセス３１０に対して先頭から２５６ブロックが割り当てられた状態を表す。なお、ＲＡＭ１０３上では、共有メモリ１０３Ａとは別の記憶領域が、各ＯＳ、各プロセスに専用の記憶領域として割り当てられるが、ここでは、共有メモリ１０３Ａに設定された記憶領域のみ図示している。
【００２６】
次に、第２のプロセス４１０が、１６ブロックの割り当てをハイパーバイザ２００に要求したとする。すると、図６に示すように、既に第１のプロセス３１０に割り当てられているブロックの末尾の次のブロックを先頭として、１６ブロックが割り当てられる。
次に、第１のプロセス３１０が、割り当てられたブロックの解放をハイパーバイザ２００に通知したとする。すると、図７に示すように、先頭から２５６ブロックが解放されるが、空き領域は、第２のプロセス４１０に割り当てられたブロックにより、先頭から２５６ブロックの部分と末尾から２４０ブロックの部分に断片化されてしまう。
【００２７】
次に、第１のプロセス３１０が、３８４ブロックの割り当てをハイパーバイザ２００に要求したとする。この場合、第１のプロセス３１０を制御する第１のＯＳは仮想記憶機能を有しないから、図７のように断片化した２つの空き領域を割り当てられると、２つの空き領域の物理アドレスが連続していないため、第１のプロセス３１０は共有メモリ１０３Ａに正しくアクセスすることができない。そこで、ハイパーバイザ２００は、図８に示すように、第２のプロセス４１０に割り当てられた１６ブロックの記憶内容を共有メモリ１０３Ａの先頭の１６ブロックに移動させ、その結果、物理アドレスが連続した４９６ブロックの空き領域を得る。そして、この空き領域の先頭から３８４ブロックを第１のプロセス３１０に割り当てる。割り当てられた領域は、物理アドレスが連続している。
【００２８】
（３）変形例
以下に示す変形例は互いに組み合わせてもよい。
（３．１）変形例１
実施形態では、第２のＯＳ４００が仮想記憶機能を有するものとしたが、ハイパーバイザ２００の制御下で動作させるすべてのＯＳが仮想記憶機能を有しない構成でもよい。
（３．２）変形例２
実施形態では、プロセスからの要求量を確保するのに必要なだけ記憶内容を移動させるようにしたが、既に他のプロセスに割り当てられている領域の記憶内容をすべて移動させるようにしてもよい。また、実施形態では、要移動量域の記憶内容を物理アドレスの低位側に移動させるようにしたが、高位側に移動させるようにしてもよい。要するに、プロセスからの要求量以上の容量を有する物理アドレスの連続した記憶領域が得られるように、既に他のプロセスに割り当てられている領域の記憶内容を移動させる構成であればよい。
【００２９】
（３．３）変形例３
実施形態では、プロセスに割り当てる領域の先頭アドレスと容量とを共有メモリ管理テーブル２０１に記憶させるようにしたが、先頭アドレスと末尾アドレスを記憶させるようにしてもよい。
（３．４）変形例４
実施形態のステップＡ０２の処理を省略してもよい。
（３．５）変形例５
実施形態では、プロセスを制御するＯＳが仮想記憶機能を有するか否かをハイパーバイザ２００がプロセスに問い合わせるようにしたが、プロセスが共有メモリの割り当てを要求する際に、ＯＳが仮想記憶機能を有するか否かを示す情報を当該要求に含ませるようにしてもよい。
（３．６）変形例６
実施形態では、ＣＰＵがプログラムを実行することによって共有メモリの割り当てに関する処理を実行する例を示したが、同様の機能を電子回路に実装するようにしてもよい。
【符号の説明】
【００３０】
１…情報処理装置、１００…ハードウェア、１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０３Ａ…共有メモリ、１０４…記憶部、１０５…操作部、１０６…表示部、２００…ハイパーバイザ、３００…第１のＯＳ、４００…第２のＯＳ、３１０…第１のプロセス、４１０…第２のプロセス、２０１…共有メモリ管理テーブル、４０１…アドレス変換テーブル
【図１】
2012043089.tif 000003
【図２】
2012043089.tif 000004
【図３】
2012043089.tif 000005
【図４】
2012043089.tif 000006
【図５】
2012043089.tif 000007
【図６】
2012043089.tif 000008
【図７】
2012043089.tif 000009
【図８】
2012043089.tif 000010