記憶装置と、当該記憶装置に接続されたプロセッサと、当該プロセッサ上で実行され、当該プロセッサに複数のOSの実行制御をさせるハイパーバイザとを備える仮想計算機システムであって、前記ハイパーバイザは、前記複数のOSのそれぞれで割り付けるプロセスIDが前記仮想計算機システム全体で重複しないように管理するPID管理部と、前記OSに対する仮想アドレス空間および物理アドレス空間の割り当てを指示する領域指示部を備え、前記領域指示部は、前記複数のOSのそれぞれが利用する前記記憶装置を、全てのOSが読み書き可能な領域であるである物理共有領域、および前記物理共有領域以外の領域である物理固有領域として割り当てる物理アドレス管理手段と、前記複数のOSのそれぞれが仮想アドレス空間における仮想固有領域に関する情報を記録し、前記OSから要求があった場合に、前記情報に基づいて、既に他のOSに割り当てられている仮想固有領域と重複しない仮想アドレスからなる仮想固有領域を前記OSに割り当てる仮想アドレス管理部と、を備える仮想計算機システム。前記仮想計算機システムは、アプリケーションを実行する場合、前記アプリケーションを走行させる第1のOSを、現在走行中の第2のOSの複製として生成し、前記第2のOSが占有する物理固有領域の代わりに前記第1のOSが占有する物理固有領域を割り当てることを特徴とする請求項1に記載の仮想計算機システム。前記OSは、少なくともプロセスの生成を行うプロセス生成部を備え、前記プロセス生成手段は、プロセスを生成する際に、前記PID管理部から前記プロセスのIDを取得し、前記プロセスに割り当てることを特徴とする請求項1に記載の仮想計算機システム。前記OSは、少なくともプロセスのページテーブルの生成を行うページテーブル管理部を備え、前記領域指示部は、すべてのプロセスの仮想固有領域の位置を保持し、前記ページテーブル管理部は、前記ページテーブルを生成する際に、前記領域指示部と通信し、前記プロセスの仮想固有領域が、当該生成するプロセス以外のプロセスの仮想固有領域と重複しないように前記ページテーブルに確保することを特徴とする請求項1に記載の仮想計算機システム。前記ページテーブル管理部は、プロセスが当該プロセス以外のプロセスの仮想固有領域と重複する領域を使用しないように、前記重複する領域を前記領域指示部から取得し、前記重複する領域を予約領域として前記プロセスのページテーブルに確保することを特徴とする請求項1に記載の仮想計算機システム。前記ハイパーバイザは、走行中の第1のプロセスを前記第1のOSから前記第2のOSに移動する場合に、前記第1のプロセスを休止状態に遷移させ、前記第1のプロセスのプロセス構造体を前記第1のOSのプロセスリストから削除し、前記第2のOSのプロセスリストに追加した後、前記第1のプロセスを再開し、前記第1のプロセスの物理固有領域に配置した前記第1のプロセスに固有のデータを前記第2のOSの物理固有領域に移動および変換を行うことを特徴とする請求項2に記載の仮想計算機システム。前記ハイパーバイザは、走行中の第1のプロセスを前記第1のOSから前記第2のOSに移動する場合に、前記第1のプロセスのプロセスIDと、前記第1のプロセスの共有領域に配置した前記第1のプロセスのデータと、前記第1のプロセスの固有領域に配置した前記第1のプロセスのデータとを、同一の値および同一の配置に保ったまま、前記第1のプロセスを前記第2のOSで走行させることを特徴とする請求項2の仮想計算機システム。記憶装置と、当該記憶装置に接続されたプロセッサと、当該プロセッサ上で実行され、当該プロセッサに複数のOSの実行制御をさせるハイパーバイザとを備える仮想計算機システムにおける制御方法であって、前記ハイパーバイザが、前記複数のOSのそれぞれで割り付けるプロセスIDが前記仮想計算機システム全体で重複しないように管理するPID管理ステップと、前記OSに対する仮想アドレス空間および物理アドレス空間の割り当てを指示する領域指示ステップを備え、前記領域指示ステップは、前記複数のOSのそれぞれが利用する前記記憶装置を、全てのOSが読み書き可能な領域であるである物理共有領域、および前記物理共有領域以外の領域である物理固有領域として割り当てる物理アドレス管理ステップと、前記複数のOSのそれぞれが仮想アドレス空間における仮想固有領域に関する情報を記録し、前記OSから要求があった場合に、前記情報に基づいて、既に他のOSに割り当てられている仮想固有領域と重複しない仮想アドレスからなる仮想固有領域を前記OSに割り当てる仮想アドレス管理ステップと、を備える制御方法。記憶装置と、当該記憶装置に接続されたプロセッサと、当該プロセッサ上で実行され、当該プロセッサに複数のOSの実行制御をさせるハイパーバイザとを備える仮想計算機システムにおけるプログラムであって、前記ハイパーバイザに、前記複数のOSのそれぞれで割り付けるプロセスIDが前記仮想計算機システム全体で重複しないように管理するPID管理ステップと、前記OSに対する仮想アドレス空間および物理アドレス空間の割り当てを指示する領域指示ステップを実行させ、前記領域指示ステップでは、前記複数のOSのそれぞれが利用する前記記憶装置を、全てのOSが読み書き可能な領域であるである物理共有領域、および前記物理共有領域以外の領域である物理固有領域として割り当てる物理アドレス管理ステップと、前記複数のOSのそれぞれが仮想アドレス空間における仮想固有領域に関する情報を記録し、前記OSから要求があった場合に、前記情報に基づいて、既に他のOSに割り当てられている仮想固有領域と重複しない仮想アドレスからなる仮想固有領域を前記OSに割り当てる仮想アドレス管理ステップと、を実行させるプログラム。記憶装置と、当該記憶装置に接続されたプロセッサと、当該プロセッサ上で実行され、当該プロセッサに複数のOSの実行制御をさせるハイパーバイザとを備える集積回路であって、前記ハイパーバイザは、前記複数のOSのそれぞれで割り付けるプロセスIDが前記仮想計算機システム全体で重複しないように管理するPID管理部と、前記OSに対する仮想アドレス空間および物理アドレス空間の割り当てを指示する領域指示部を備え、前記領域指示部は、前記複数のOSのそれぞれが利用する前記記憶装置を、全てのOSが読み書き可能な領域であるである物理共有領域、および前記物理共有領域以外の領域である物理固有領域として割り当てる物理アドレス管理手段と、前記複数のOSのそれぞれが仮想アドレス空間における仮想固有領域に関する情報を記録し、前記OSから要求があった場合に、前記情報に基づいて、既に他のOSに割り当てられている仮想固有領域と重複しない仮想アドレスからなる仮想固有領域を前記OSに割り当てる仮想アドレス管理部と、を備える集積回路。前記従来の構成では、OS固有領域に配置されたデータに関しては、予め移動先の領域を確保した上で、前記データの物理的な位置を前記領域へ移動し、前記移動先の環境に応じて変換する必要がある。そのため、プロセス移動のオーバーヘッドが増加されるという課題を有していた。本発明は、前記従来の課題を解決するもので、OS固有領域に配置されたデータの移動と変換を廃することによってプロセス移動のオーバーヘッドを低減し、複数の仮想計算機を短時間のうちに一つに統合する機能を提供することを目的とする。前記従来の課題を解決するために、本発明の仮想計算機システムは、記憶装置と、当該記憶装置に接続されたプロセッサと、当該プロセッサ上で実行され、当該プロセッサに複数のOSの実行制御をさせるハイパーバイザとを備える仮想計算機システムであって、前記ハイパーバイザは、前記複数のOSのそれぞれで割り付けるプロセスIDが前記仮想計算機システム全体で重複しないように管理するPID管理部と、前記OSに対する仮想アドレス空間および物理アドレス空間の割り当てを指示する領域指示部を備え、前記領域指示部は、前記複数のOSのそれぞれが利用する前記記憶装置を、全てのOSが読み書き可能な領域であるである物理共有領域、および前記物理共有領域以外の領域である物理固有領域として割り当てる物理アドレス管理手段と、前記複数のOSのそれぞれが仮想アドレス空間における仮想固有領域に関する情報を記録し、前記OSから要求があった場合に、前記情報に基づいて、既に他のOSに割り当てられている仮想固有領域と重複しない仮想アドレスからなる仮想固有領域を前記OSに割り当てる仮想アドレス管理部と、を備える。本構成によって、複製によって生成されたゲストOS上のプロセスはシステム全体で唯一のプロセスIDと物理固有領域と仮想固有領域とを得る。統合元のゲストOSは統合先のゲストOSとそのプロセスIDと仮想固有領域が重複しないため、統合元のプロセスを統合先に移動する際にデータの移動と変換のオーバーヘッドを低減することができる。本発明によれば、プロセス移動を行う場合に、OSの物理固有領域の物理メモリ上の移動を行わないのでプロセス移動時のオーバーヘッドを低減することができる。また、プロセス移動後に移動元OSを停止することで、ゲストOS間のコンテキストスイッチ回数およびメモリフットプリントを低減し、システム全体の負荷を低減することができる。また、OS固有のデータのOS固有領域への格納と、物理アドレス上で機能するアクセス保護機構の利用と両立できる。以下本発明の実施の形態について、図面を参照しながら説明する。実施の形態1図1は、本発明の実施の形態1における仮想計算機システムの全体図である。仮想計算機システムは計算機システムを時間的空間的に複数のゲストOSに配分する。仮想計算機システム101は、物理メモリ111、VMM121、OS-A131、OS-B141を備える。物理メモリ111は、連続したアドレス空間を持つ。ゲストOSやその上で走行するプロセスは前記物理メモリ111にロードされ実行される。前記物理メモリ111上でVMM121を実行することも可能である。VMM121は、CPU、物理メモリなどを時間的空間的に分割し、ゲストOSに割り当てる機能を備える。VMM121は、PID管理手段123と、物理アドレス管理手段125、仮想アドレス管理手段126を備える領域指示手段124と、通信路122を備える。なお、VMM121は、ハイパーバイザとも称される。通信路122は、ゲストOSが互いにデータをやり取りするためのVMM121の機能である。ゲストOSは、VMM121に提供されるインタフェースを用いて特定のゲストOSにデータを送信することができる。あるいは特定のゲストOSからデータを受信することができる。PID管理手段123は、各ゲストOSがそのプロセスに割り付けるプロセスIDを仮想計算機システム101全体にわたって一元的に管理し、各ゲストOSで割り付けるプロセスIDが仮想計算機システム101全体で重複しないようにする。したがって、いったんゲストOSによって割り付けられたプロセスIDは、他のゲストOSで使用されることはない。PID管理手段123はたとえば図11に示すようなリストを有し、現在使用されているプロセスIDのインデックスで参照される欄にはreservedあるいはassignedを、使用されていないプロセスIDのインデックスで参照される欄は空欄を記録することで、新たに確保されるプロセスIDが使用中のプロセスIDでないことを保証する。領域指示手段124は、仮想アドレス空間および物理アドレス空間に関し、ゲストOSに対する各アドレス空間の割り当てを指示する。物理アドレス管理手段125は各ゲストOSが利用する物理メモリ111を管理する。物理共有領域112以外の領域は物理固有領域として、各ゲストOSの起動時に前記物理アドレス管理手段125が割り当てる。共有領域とは全てのゲストOSが読み書き可能な領域である。たとえばゲストOS間でデータ通信をする際に共有領域が使用される。物理アドレス管理手段125は図2bに示すような、領域を使用するOSIDと領域の開始アドレスと領域の終了アドレスとを記録するテーブルである物理領域表210を保持しており、この物理領域表210によって新しく確保する領域が他の既に確保された領域と重複しないよう調整する。OSID=0は特別なOSIDであって、物理共有領域を定義するために用いる。仮想アドレス管理手段126は、各ゲストOSの仮想アドレス空間における仮想固有領域たとえば152と162に関する情報を記録し、ゲストOSから要求があった場合に、前記情報に基づいて、既に他のゲストOSに割り当てられている仮想固有領域と重複しない仮想アドレスからなる仮想固有領域を前記ゲストOSに割り当てる。仮想アドレス管理手段126は図2aに示すような、領域を使用するゲストOSのOSIDと領域の開始アドレスと領域の終了アドレスとを記録するテーブルである仮想領域表200を保持しており、この仮想領域表200によって新しく確保する領域が他の既に確保された領域と重複しないよう調整する。OSID=0は特別なOSIDであって、仮想共有領域を定義するために用いる。図3にVMフォーク前の仮想計算機システムの構成の一例を示す。OS-A131は仮想計算機上で動作するゲストOSである。OS-A131は、プロセスリスト132と、前記プロセスリスト132によって管理されるプロセス構造体134と、前記プロセス構造体134に関連付けられたページテーブル135と、前記ページテーブル135を管理するページテーブル管理136と、前記プロセス構造体134とページテーブル135を管理するプロセス生成手段133と、フォークフラグ137とを備える。プロセスリスト132は、一つのゲストOSにつき一つ存在する。図4は、プロセスリストおよびページテーブルの一例を示す図である。図4aはOS-A、図4bはOS-Bについてのものである。図4では、プロセスリスト132とプロセス構造体134とページテーブル135の関係を図示している。図4aに示すようにプロセスリスト132は、プロセス構造体のリストであり、図3におけるOS-A131はこのプロセスリスト132にしたがってプロセスを実行する。図4aにおいて各行はプロセス構造体を表す。プロセス構造体は、プロセスを特定するためのプロセスIDと、プロセスのページテーブルへのリンクをそれぞれ一つずつ備える。一つのプロセス構造体が複数のプロセスIDやページテーブルを備えることはない。プロセス生成手段133は、一つのゲストOSにつき一つ存在し、プロセス構造体たとえば134とページテーブルたとえば135の生成と変更と廃棄を行う。プロセス生成手段133はプロセスの生成に先立ち、VMM121のPID管理手段123からプロセスIDを取得する。あるいはプロセス生成手段133はプロセスを廃棄した後、プロセスIDをPID管理手段123に返却する。プロセスは仮想アドレス空間151を有し、この仮想アドレス空間151は前記プロセスに固有のページテーブル135によって物理アドレスに変換され、アクセス可能となる。ページテーブル管理136はページテーブルの生成と廃棄および更新を行う。仮想計算機システム101は新たなゲストOSを起動する際、そのゲストOSを、他のゲストOSの複製として作成する。フォークフラグ137は、新たにゲストOSが作成された場合とゲストOSが廃棄された場合にVMM121がセットするものである。起動中の各ゲストOSのページテーブル管理は、フォークフラグ137がセットしてある場合に、VMM121の仮想アドレス管理手段126を呼び出し、前記ページテーブル管理の管理するページテーブルの状態を更新する。前記ページテーブルの状態を更新した後、前記ページテーブル管理は、フォークフラグ137をリセットする。OS-B141は、VMM121によりOS-A131がフォークされたものであり、機能ブロックの構成は、OS-A131と同様である。VMMによるゲストOSの生成についてフローチャートを用いて説明する。通常、計算機システムにおいては、OSはアプリケーションを実行する際にプロセスを生成する。仮想計算機システム101は、アプリケーションを実行するために、VMフォークを実施する。すなわち、現在走行中のゲストOSの物理固有領域を物理メモリ111上の別の領域に複製することで新しいゲストOSを生成し、前記複製されたゲストOS上でプロセスを生成し、前記プロセスがアプリケーションを実行するところまでをひとまとまりの動作として実施する。図5はVMフォーク時の複製元となるゲストOS親OSのフローチャートである。図6はVMフォーク時のVMM121のフローチャートであり、図7と図8はそれぞれ物理固有領域と仮想固有領域の確保の詳細を示すフローチャートである。図9はVMフォーク時の新規に生成されたゲストOS子OSのフローチャートである。図10はPID取得の詳細を示すフローチャートである。以下、それぞれのフローチャートについて説明する。説明のため、図1におけるOS-A131からOS-B141をVMフォークすることを考える。VMフォークの処理は図5のフローから始まる。図5において、ユーザから新しくアプリケーションの実行の命令を受けると、OS-A131はフォークフラグ137の状態を検査するステップS071。フォークフラグ137がセットされている場合ステップS071がYesは仮想領域表200に変更があることを示しているため、OS-A131はまずVMM121に仮想領域表200の変更を問い合わせ、その結果をページテーブル管理136がページテーブル135に反映し、フォークフラグ137をリセットするステップS072。フォークフラグ137がセットされていない場合ステップS071がNoは、VMM121にOS-A131のVMフォークを依頼するステップS073。ステップS073により、VMM121が起動する。VMM121のVMフォークの処理は図6で説明する。図6において、VMM121はゲストOSからVMフォークの要求を受け取るとステップS001、物理メモリ111において子OSの物理固有領域を確保しステップS002、さらに、ページテーブル135において子OSの仮想固有領域を確保するステップS003。VMM121は、OS-A131の物理固有領域をOS-B141の物理固有領域B114にコピーすることでOS-A131を複製し、OS-B141を作成するステップS004。このとき、OS-B141が使用する仮想固有領域B163を確保したため、前記OS-B141の使用する仮想固有領域B163を他のゲストOSが使用しないようにする必要がある。この目的のため、起動中のすべてのゲストOSのフォークフラグをセットするステップS005。仮想計算機システム101では、各ゲストOSは他のゲストOSが使用する仮想固有領域をページテーブル上で仮想予約領域とすることで、他のゲストOSと重複する仮想アドレス空間を使用しないようにする。しかしながら、各ゲストOSにとっては他のゲストOSがどの領域をそのゲストOSの仮想固有領域として確保しているか、前記各ゲストOS自身が単独で認識しうる手段を持たない。これに関してはVMM121が各仮想固有領域を、図2aに示す仮想領域表200によって管理しているので、仮想領域表200が更新された場合に、各ゲストOSはVMM121に問い合わせを行い、自身のページテーブルを更新する。次にVMM121はOS-B141を起動するステップS006。それと同時に、OS-B141のために確保した物理固有領域B114をOS-B141に通知するステップS007とともに、仮想固有領域B163をOS-B141に通知するステップS008。以上で、VMフォーク時におけるVMM121の処理は完了する。ここで、物理固有領域確保の詳細なフローを図7に示す。領域指示手段124の物理アドレス管理手段125は、物理領域表210から未使用の領域を検索しステップS011、物理領域表210に前記未使用の領域とその使用者のOSIDを登録するステップS012。前記ステップS012によって、前記未使用の領域は前記使用者によって使用中の領域として認識される。前記領域は後にOS-B141を起動する段になってVMM121より前記OS-B141に通知される。同じく仮想固有領域確保の詳細なフローを図8に示す。領域指示手段124の仮想アドレス管理手段126は、仮想領域表200から未使用の領域を検索しステップS031、仮想領域表200に前記未使用の領域とその使用者のOSIDを登録するステップS032。前記ステップS032によって、前記未使用の領域は前記使用者によって使用中の領域として認識される。前記領域は後にOS-B141を起動する段になってVMM121より前記OS-B141に通知される。次に図9でVMフォーク時の子OSの処理を説明する。VMM121によって起動されたOS-B141は、この時点でOS-A131と同等のプロセスが走行している状態である。OS-B141は、領域指示手段124から物理固有領域114Bを取得するステップS081とともに仮想固有領域B163を取得するステップS082。その後、全プロセスを停止するステップS083。次に、アプリケーション実行用のプロセスを作成する。まず、VMM121のPID管理手段123から新規にプロセスIDを取得するステップS084。OS-B141のプロセス生成手段143は、プロセスIDを取得した後、ページテーブル145を作成するステップS085。また、プロセス生成手段143は、プロセス構造体144を作成し、プロセスIDとページテーブル145へのリンクをプロセス構造体144に登録するステップS086。前記プロセス生成手段143は、プロセス構造体144をプロセスリスト142に登録しステップS087、アプリケーションをディスクなどから物理固有領域B114にロードして実行するステップS088。以上で、VMフォーク時の子OSの処理は完了である。プロセスIDの取得に関しては図10と図11を用いてその詳細を説明する。VMM121はゲストOSからプロセスID取得の要求を受け付けるステップS051。次にプロセスID管理リスト150から未使用のプロセスIDを一つ選び出すステップS052。たとえば、図11ではプロセスID2と4はフラグの欄が空欄なので未使用と判断される。取得したプロセスIDについて、たとえば図11におけるプロセスID管理リスト150のフラグをassignedとすることでその状態を使用中の状態に更新しステップS053、ゲストOSに前記プロセスIDを通知するステップS054。前述した図1は、VMフォーク完了後の状態である。OS-A131からフォークしたOS-B141の上でプロセス2が動作している。OS-B141はOS-A131からの複製のため、内部の構造は同一である。ただし、OS-B141は物理固有領域B114を使用する。OS-B141で走行するプロセス2は、仮想共有領域164と仮想固有領域B163と仮想予約領域B162を備える。一方で、OS-A131で走行するプロセス1は、新たに仮想予約領域A153を確保する。図4abはVMフォーク完了後のプロセスリストおよびページテーブルの状態の一例である。図4aがOS-A131、図4bがOS-B141のものである。プロセス1のプロセス構造体134とプロセス2のプロセス構造体144はそれぞれOS-A131のプロセスリスト132とOS-B141のプロセスリスト142に登録されている。132と142はそれぞれプロセス1のページテーブルとプロセス2のページテーブルを表す。プロセス1はその物理固有領域として0x07000000を確保し、仮想固有領域0x10000000を通じてアクセス可能である。プロセス2はその物理固有領域として0x08000000を確保し、仮想固有領域0x20000000を通じてアクセス可能である。いずれのプロセスも物理共有領域0x00000000については仮想共有領域0x09000000を通じてアクセス可能である。おのおののプロセスの仮想固有領域を互いに使用しないために、プロセス1のページテーブル135ではプロセス2の仮想固有領域0x20000000を仮想予約領域として定義し、プロセス2のページテーブル145ではプロセス1の仮想固有領域0x10000000を仮想予約領域として定義している。仮想固有領域の予約はプロセスが三つ以上の場合でも同様である。次にOSの統合について説明する。OSの統合とは、ある二つのゲストOSについて、一方のゲストOSで稼動しているプロセスをもう一方のゲストOSへ移動し、移動元のOSを停止することで、元々二つのゲストOS上で分かれて稼動していたプロセスをそのうちの一つのOSで稼動させることである。統合は二段階で実施される。まず、統合の第一段階では、プロセスを統合先のゲストOSへ移動する。すなわち仮想計算機システムは図1の状態から図12の状態になる。つまり、OS-B141によって管理されていたプロセス2のプロセス構造体144が、OS-A131に管理されるようになることで、プロセス2はOS-A131にスケジューリングされるようになる。このことによって、プロセス2はOS-B141から独立して走行することが可能になる。移動元のゲストOSはスリープ状態に遷移するので、この段階でVMコンテキストスイッチを低減するという目的は達せられる。さらに統合の第二段階として移動プロセスの物理固有領域を移動先のゲストOSの物理固有領域に統合することができる。すなわち図12の状態から図13の状態になる。プロセス2のメモリ管理はOS-B141からOS-A131に委譲され、プロセス2はOS-B141から独立してメモリアクセスが可能になる。第二段階を完了すると移動元ゲストOSの管理する物理固有領域は開放することが可能になり、したがって、移動元ゲストOSの終了が可能になる。以上のOSの統合の詳細についてフローチャートを用いて説明する。図14はプロセス移動時の移動元OSのフローチャートである。図15はプロセス移動時の移動先のOSのフローチャートである。図17は統合の第二段階における移動先OSのフローチャートであり、図18は同段階におけるVMMのフローチャートである。以下、それぞれのフローチャートについて説明する。プロセスの移動は移動元のゲストOSから開始する。以下、移動するプロセスを移動プロセスと呼ぶ。図14においてOS-B141は移動プロセスのプロセス構造体144をプロセスリスト142から削除するステップS091。この時点で移動プロセスはOS-B141では走行しなくなる。次に、OS-B141は移動プロセスのプロセス構造体144の仮想アドレスとプロセスIDをVMM121の通信路122を使い、OS-A131に通知する。まず、移動プロセスのプロセス構造体が配置されているページテーブルエントリの内容を移動先OSに通知するステップS092。次に、移動プロセスのプロセス構造体の、移動元OSにおける仮想アドレスを移動先OSに通知するステップS093。次に、稼働中のプロセスがあるか否かを判定するステップS095。稼働中のプロセスがあればステップS095がYes、処理をいったん完了し、再び稼働中のプロセスについて同じ処理を行う。稼働中のプロセスがなくなればステップS095がNo、OS-B141はVMM呼び出しによってスリープし、処理を終了する。次に移動先ゲストOSでの処理を説明する。図15においてOS-A131は、移動プロセスのプロセス構造体144にアクセスするためのページテーブルエントリをOS-B141から取得しステップS101、取得したページテーブルエントリをページテーブル135に登録するステップS102。同様に、OS-B141から、移動プロセスのプロセス構造体144の仮想アドレスを取得するステップS103とともに、プロセスIDを取得するステップS104。ステップS041で取得したページテーブルエントリを、ステップS042でOS-A131のページテーブル135に登録すると、OS-Aから移動プロセスのプロセス構造体144にアクセスできるようになる。この際、取得したページテーブルエントリが既存のページテーブルエントリと重複しないようにゲストOSの複製時に確保されているため、OS-A131は前記ページテーブルエントリでアクセスされるデータの仮想アドレスの変換を省略することが可能であり、プロセス移動時のオーバーヘッドの低減に貢献している。さらに移動プロセスのページテーブルは、ページテーブルエントリの追加でOS-A131からアクセスできるようになるため、物理固有領域Bに配置されたままであり、この点でもプロセス移動時のオーバーヘッドの低減に貢献している。この後、ステップS043とステップS044で取得した移動プロセスのプロセスIDをOS-A131のプロセスリスト132に登録するステップS105とともに、プロセス構造体144をOS-A131のプロセスリスト132に登録するステップS106。この際にも、プロセスIDはシステム全体で重複しないように確保されているため、プロセスIDの重複によるプロセスID変換の処理を省くことができるため、プロセス移動のオーバーヘッドの低減に貢献している。この処理が完了するとプロセス2はOS-A131上で走行可能となる。各ゲストOSのプロセスリスト132と142およびページテーブル135と145の構成は図16のようになる。図16aはOS-A、図16bはOS-Bについてのものである。プロセス1のプロセス構造体に関しては、変更はない。プロセス2のプロセス構造体が新たにプロセスリスト132に追加されている。プロセス1のページテーブルは物理固有領域A113に、プロセス2のページテーブルは物理固有領域B114に配置されている。統合の第二段階では、移動元ゲストOSたとえばOS-B141の物理固有領域内にあるデータを移動先ゲストOSたとえばOS-A131の物理固有領域に移動し、統合を完了する。図17はその処理をフローチャートで示したものである。まず、プロセス2のデータを移動するために、プロセス2を停止するステップS111。次に、プロセス2の物理固有領域B114のデータを移動先の物理固有領域A113に移動するステップS112。この処理によって仮想アドレスと物理アドレスの対応が変更されるため、ページテーブル145を更新するステップS113。データの移動変換完了後、前記停止していたプロセス2を再開するステップS114。最後にOS-B141の物理固有領域B114を開放するため、データの移動の完了をVMM121に通知するステップS115。図18は統合の完了を受け取ったVMM121の処理を示す。まず、VMM121は統合完了の通知を受け取るステップS121。プロセス2は完全にOS-A131上に移動しており、VMM121はOS-B141を廃棄できる状態にあると判断し、OS-B141の使用する資源をすべて解放するステップS122。この判断は、ステップS096でOS-B141がスリープすることによって可能になる。ゲストOSのスリープはVMM呼び出しとして実現されており、VMMはゲストOSのスリープ状態を検知することによりステップS122の処理を実現することが可能である。この処理によって物理固有領域B114と仮想固有領域B163も解放される。仮想領域表がステップS122によって更新されたため、VMMは起動中のすべてのゲストOSのフォークフラグをセットし、各ゲストOSのページテーブルの更新を開始させるステップS123。各ゲストOSのプロセスリスト132と142およびページテーブル135と145の構成は図19のようになる。図19aはOS-A、図19bはOS-Bについてのものである。プロセス1およびプロセス2のプロセス構造体に関しては、変更はない。OS-B141の使用する資源はVMMにより解放されたので、OS-Bのプロセス構造体のリストは消滅している。物理固有領域の解放と仮想固有領域の解放それぞれの処理について図20と図21に示すフローチャートを用いて説明する。まず、図20を用いて物理固有領域を解放する処理を説明する。VMM121は、物理領域表で検索し、解放する領域の有無を判定するステップS021。解放する領域が見つからない場合ステップS021がNo、処理を終了する。解放する領域が見つかった場合ステップS021がYes、その領域のOSIDの検査を行うステップS022。OSIDが異なる場合ステップS022がNo、処理を終了する。OSIDが一致する場合ステップS022がYes、前記領域を未使用の状態に変更する、すなわち物理領域表210からエントリを取り除くステップS023。次に、図21を用いて仮想固有領域を解放する処理を説明する。VMM121は、仮想領域表を検索し、解放する領域の有無を判定するステップS041。解放する領域が見つからない場合ステップS041がNo、処理を終了する。解放する領域が見つかった場合ステップS041がYes、その領域のOSIDの検査を行うステップS042。OSIDが異なる場合ステップS042がNo、処理を終了する。OSIDが一致する場合ステップS042がYes、前記領域を未使用の状態に変更する、すなわち仮想領域表200からエントリを取り除くステップS043。以上のような構成により、本実施の形態に係る仮想計算機システムは、第一のOSおよび第一のOSからVMフォークによって生成された第二のOSそれぞれが、PIDが重複しないようにプロセスを生成することが可能であると共に、物理アドレスと仮想アドレスのいずれもが重複しないように物理固有領域と仮想固有領域を確保することができる。以上により、PIDの変換、物理アドレス空間上のデータの移動、データのアドレス変換といった処理が不要になるため、プロセス移動に必要な資源の移動を最小化できる。これによって、あるゲストOSから別のゲストOSへのプロセスの移動のオーバーヘッドを最小にすると共に、プロセス移動によって未使用となったゲストOSに関しては、その資源を解放することで、仮想計算機システム全体の資源利用を効率化することができる。なお、図1に示す仮想計算機システムの各機能ブロックは、典型的にはプロセッサと外部メモリとの協同で処理されるプログラムとして実現されるが、集積回路であるLSIで実現してもよい。これらの各機能ブロックは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI又はウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGAFieldProgrammableGateArrayや、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブルプロセッサを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。また、本発明は、プロセッサとタイマとを備えた計算処理装置であれば、あらゆる計算機、電子機器、情報機器、AV機器、通信機器及び家電機器にも適用可能であり、例えば、PCパーソナルコンピュータ、携帯情報端末携帯電話、スマートフォン及びPDAなど、テレビ、ハーディスクレコーダー、DVD及びブルーレイディスクなどを用いた各種ディスクレコーダー、DVD及びブルーレイディスクなどを用いた各種ディスクプレイヤー、及びカーナビゲーションシステムなどにも応用できる。また、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。