複数のプロセッサと、ゲストOSが動作している仮想マシンの状態を保存する際に、前記ゲストOSが使用していた仮想アドレス空間の情報を、当該仮想アドレス空間を分割した領域毎に読み出す読出手段と、前記読出手段により読み出された前記領域毎の前記情報と前記仮想マシンの復元時にメモリ上のアドレス空間に当該情報を書き込む位置情報とを対応付けて記憶手段に格納する格納手段と、前記記憶手段に記憶された位置情報に基づいて、前記記憶手段に記憶された前記情報の復元先となる仮想アドレス空間を前記アドレス空間上にマッピングするマッピング手段と、前記記憶手段に記憶された前記領域の情報をそれぞれ異なるプロセッサに割り当て、前記領域の情報を前記仮想アドレス空間上に復元させる処理を前記複数のプロセッサで並行して行わせる復元制御手段と、を備える情報処理装置。前記読出手段は、前記仮想アドレス空間の情報を予め定められたデータサイズ単位で読み出す請求項1に記載の情報処理装置。前記データサイズ単位で読み出された前記情報を圧縮する圧縮手段をさらに備え、前記格納手段は、前記圧縮手段で圧縮された前記情報と圧縮された当該情報を前記記憶手段に格納した位置を示したオフセット位置とを対応付けて前記記憶手段に格納する請求項2に記載の情報処理装置。前記格納手段は、前記読出手段が前記情報を読み出した前記仮想アドレス空間上の位置情報が、前記アドレス空間上の位置情報と同じであるか否かを示すダイレクトマップ情報と、前記読出手段により読み出された前記情報とを対応付けて前記記憶手段に格納し、前記マッピング手段は、前記ダイレクトマップ情報に従ってマッピングを行う請求項1乃至3のいずれか1つに記載の情報処理装置。前記格納手段は、前記読出出段により読み出された前記領域毎の前記情報が、前記仮想マシンを起動させた段階で復元させておく必要のある情報であるか否かを示す復元フラグを前記記憶手段に格納し、前記復元制御手段は、前記復元フラグに基づいて、前記仮想マシンを起動させた段階で復元させておく必要のある前記記憶手段に記憶された前記領域の前記情報を復元させ、前記仮想マシンを復元した後、仮想マシン上で行われる処理に応じて他の前記領域の情報を復元させる請求項1乃至4のいずれか1つに記載の情報処理装置。情報処理装置で実行される仮想マシン制御方法であって、読出手段が、ゲストOSが動作している仮想マシンの状態を保存する際に、前記ゲストOSが使用していた仮想アドレス空間の情報を、当該仮想アドレス空間を分割した領域毎に読み出す読出ステップと、格納手段が、前記読出ステップにより読み出された前記領域毎の前記情報と前記仮想マシンの復元時にメモリ上のアドレス空間に当該情報を書き込む位置情報とを対応付けて記憶手段に格納する格納ステップと、マッピング手段が、前記記憶手段に記憶された位置情報に基づいて、前記記憶手段に記憶された前記情報の復元先となる仮想アドレス空間を前記アドレス空間上にマッピングするマッピングステップと、復元制御手段が、前記記憶手段に記憶された前記領域の情報をそれぞれ異なるプロセッサに割り当て、前記領域の情報を前記仮想アドレス空間上に復元させる処理を前記複数のプロセッサで並行して行わせる復元制御ステップと、を含むことを特徴とする仮想マシン制御方法。複数のプロセッサを備えたコンピュータに対して、ゲストOSが動作している仮想マシンの状態を保存する際に、前記ゲストOSが使用していた仮想アドレス空間の情報を、当該仮想アドレス空間を分割した領域毎に読み出す読出ステップと、前記読出ステップにより読み出された前記領域毎の前記情報と前記仮想マシンの復元時にメモリ上のアドレス空間に当該情報を書き込む位置情報とを対応付けて記憶手段に格納する格納ステップと、前記記憶手段に記憶された位置情報に基づいて、前記記憶手段に記憶された前記情報の復元先となる仮想アドレス空間を前記アドレス空間上にマッピングするマッピングステップと、前記記憶手段に記憶された前記領域の情報をそれぞれ異なるプロセッサに割り当て、前記領域の情報を前記仮想アドレス空間上に復元させる処理を前記複数のプロセッサで並行して行わせる復元制御ステップと、を実行させるための仮想マシン制御プログラム。しかしながら、従来技術においては、仮想マシンの環境が復元されるまでの時間については考慮されていない。本発明は、上記に鑑みてなされたものであって、仮想マシンの環境が復元されるまでの時間を短縮する情報処理装置、仮想マシン制御方法、及び仮想マシン制御プログラムを提供する。実施形態の情報処理装置は、複数のプロセッサと、読出手段と、格納手段と、マッピング手段と、復元制御手段と、を備える。読出手段は、ゲストOSが動作している仮想マシンの状態を保存する際に、ゲストOSが使用していた仮想アドレス空間の情報を、当該仮想アドレス空間を分割した領域毎に読み出す。格納手段は、読出手段により読み出された領域毎の情報と仮想マシンの復元時にメモリ上のアドレス空間に当該情報を書き込む位置情報とを対応付けて記憶手段に格納する。マッピング手段は、記憶手段に記憶された位置情報に基づいて、記憶手段に記憶された情報の復元先となる仮想アドレス空間をアドレス空間上にマッピングする。復元制御手段は、記憶手段に記憶された領域の情報をそれぞれ異なるプロセッサに割り当て、領域の情報を仮想アドレス空間上に復元させる処理を複数のプロセッサで並行して行わせる。図1は、本実施形態にかかる情報処理装置のハードウェア構成の例を示した図である。図1に示すように、情報処理装置100は、RAM101と、ROM102と、マルチコアプロセッサ103と、記憶装置104と、これらを接続するバスと、を備えており、通常のコンピュータを利用したハードウェア構成となっている。マルチコアプロセッサ103は、記憶装置104に記憶された任意のプログラムを読み出して、当該プログラムを実行する。その際、マルチコアプロセッサ103は、RAM101を作業領域として用いる。マルチコアプロセッサ103は、1つのプロセッサパッケージに内に複数のプロセッサコアを含んだ構成である。本実施形態は、マルチコアプロセッサ103に格納されたプロセッサコアの数を制限するものではなく、2以上格納されていればよい。なお、本実施形態では、複数のプロセッサを備えた例として、マルチコアプロセッサを備えた例について説明するが、このような態様に制限するものではなく、プロセッサパッケージを複数備えた態様でも良い。本実施形態にかかるマルチコアプロセッサ103には、メモリ管理ユニットが格納されている。メモリ管理ユニットは、仮想マシンが使用するゲスト物理アドレス空間を、情報処理装置100が有する物理アドレス空間に変換する機能を備える。本実施形態にかかるマルチコアプロセッサ103内のメモリ管理ユニットは、物理アドレス空間を、ページフレーム単位で管理する。本実施形態では、物理アドレス空間を、ノーマルページとスーパーページとの2種類のページフレームで管理する。ノーマルページを通常のページサイズとする。プロセッサのアーキテクチャに依存するが、そして、ノーマルページ4kByteよりも大きな単位サイズでメモリマップが構築されたページを、スーパーページ2MByteと称する。スーパーページのページフレーム番号は0x200単位となる。各バイト数は、本実施形態にかかるマルチコアプロセッサ103のアーキテクチャに依存して定められたものであり、本実施形態はノーマルページとスーパーページのサイズを制限するものではない。ノーマルページが4kByte以外のサイズであっても良いし、スーパーページが2MByte以外のサイズであっても良い。そして、本実施形態では、メモリ管理ユニットが、ページ単位でアドレス変換を行った場合でも、物理アドレス空間の変換前後で、所定のアドレス下位ビットは変化しない。また、本実施形態では、所定のアドレス上位ビットを、ページフレーム番号とする。図2は、情報処理装置100上で実現されるソフトウェア構成を示した図である。図2に示すように、マルチコアプロセッサ103上で、仮想マシンモニタ202と、制御プログラム201と、仮想マシン203と、を実行する。これにより、ユーザは、情報処理装置100を利用することで、ゲストOS221が提供するサービスを利用できる。仮想マシンモニタVirtualMachinemonitor202は、コンピュータを仮想化することで、複数のOSを並列に実行可能とするソフトウェアとする。仮想マシンモニタ202は、情報処理装置100のハードウェア資源を、仮想マシンに必要な分量のリソースだけ割り当てる。例えば、仮想マシンモニタ202は、情報処理装置100の物理アドレス空間を、仮想マシン203のゲストOS221が使用するゲスト物理アドレス空間に割り当てる際の対応付けを行う。そして、メモリ管理ユニットは、当該対応付けに従って、物理アドレス空間の変換を行う。仮想マシン203上では、ゲストOS221が実行されている。ゲストOS221は、ゲスト物理アドレス空間を利用して、処理を行っている。ゲストOS221は、仮想マシンモニタ202の上で実現される仮想マシン203で実行される。ゲストOS221が使用するゲスト物理アドレス空間は、物理アドレス空間と異なる仮想的なアドレス空間とする。図2は、説明を容易にするため、仮想マシン203が1つしか示されていないが、複数の仮想マシンが実行されても良い。その際、仮想マシン毎に異なるOSが動作しても良い。図3は、ゲストOS221が使用しているゲスト物理アドレス空間と、実際のRAM101の物理アドレス空間との対応関係を示したメモリマッピングを示した図である。図3のゲスト物理アドレス空間301が、ゲストOS221が使用するアドレス空間であり、物理アドレス空間302が、RAM101上の物理アドレス空間である。本実施形態では、ページを4k単位とする。そして、アドレスを4kバイトで除算して算出された番号をページフレーム番号とする。本実施形態では、マルチコアプロセッサ103以外のメモリにアクセスするデバイスがアドレスマップの変換に対応可能とは限らないため、ゲストOS221が使用するゲスト物理アドレス空間301の大部分は、実際の物理アドレス空間302と一致するように考慮して、仮想マシンモニタ202がマッピングを構築している。図3に示す例では、0x0010_0000から0x9D00_0000までの領域である。また、複数のゲストOSが動作している場合、その他のゲストOSについても同様に、必要に応じてアドレス空間が割り当てられる。一方、ゲストOSが使用しないアドレス空間は、仮想マシンモニタ202及び制御プログラム201によって使用される。図2に戻り、情報処理装置100では、仮想マシン203の環境を復元する際、ゲストOS221が使用していたゲスト物理アドレス空間301を、仮想マシン203の実行状態と共に、仮想マシン保存データファイル251として記憶装置104に保存される。このように、仮想マシン保存データファイル251には、少なくとも図3に示されたゲスト物理アドレス空間301を格納する必要がある。そして、仮想マシン203の使用環境の向上を図るためには、仮想マシン保存データファイル251の効率的な保存方法及び復元方法が要求される。制御プログラム201は、仮想マシンモニタ202と連携してゲストOS221の管理、制御を行う。制御プログラム201は、制御部211と、読出部212と、圧縮部213と、格納部214と、復元部215と、を備える。そして、制御プログラム201は、仮想マシン203を復元できるよう、仮想マシン203の状態を、仮想マシン保存データファイル251に格納する。そして、仮想マシン203を再び起動させる際に、制御プログラム201が、記憶装置104に格納されている仮想マシン保存データファイル251を読み出し、読み出したデータから、仮想マシン203の状態を復元する。この仮想マシン保存データファイル251は、ゲストOS221が通常に起動した後に取得されたものとする。制御部211は、仮想マシンモニタ202が最初に起動するプログラムであり、情報処理装置100の処理制御を行う。また、制御部211は、仮想マシン203で直接アクセスさせないデバイスの制御を行い、各ゲストOS例えばゲストOS221に対して仮想的なデバイスを提供している。例えば、記憶装置104の実際の制御用ドライバは、制御部211に存在し、各ゲストOSには制御部211が仮想的なディスクへアクセスするためのサービスを提供する。読出部212は、仮想マシン203の状態を保存する際に、ゲストOS221が使用していたゲスト物理アドレス空間の構造を認識した後、当該ゲスト物理アドレス空間に格納されていた情報を、当該ゲスト物理アドレス空間を分割したページ単位で読み出す。読出部212は、ゲスト物理ページ毎に、RAM101の物理アドレス空間にマッピングされているゲスト物理ページフレームと、物理ページフレーム、の番号が一致するか否かを認識する。このように、本実施形態は、ゲスト物理アドレス空間のゲスト物理ページがマッピングされたRAM101の物理アドレス空間の範囲を、ゲスト物理ページフレームと称する。そして、読出部212は、ゲスト物理アドレス空間のゲスト物理ページフレームと、当該ゲスト物理ページのマッピング先の物理ページフレームと、の番号が一致している範囲と、そうでない範囲と、に分割し、ダイレクトマップ情報を生成する。図4が、ダイレクトマップ情報を示した図である。図4に示すように、ゲスト物理ページフレーム開始番号と、ゲスト物理ページフレーム終了番号と、ダイレクトマップ情報と、を対応付けて記憶する。ダイレクトマップ情報は、ゲスト物理ページフレームと物理ページフレームの番号とが同一の番号でダイレクトにマッピングされているか否かを示すフラグとする。本実施形態では、ゲスト物理ページフレームと物理ページフレームの番号とが一致する場合、ダイレクトマップ情報にダイレクトと設定し、ゲスト物理ページフレームと物理ページフレームの番号とが一致しない場合に、ダイレクトマップ情報に非ダイレクトと設定する。さらに、読出部212は、ゲスト物理ページがマッピングされている、物理アドレス空間内のゲスト物理ページフレームの範囲を認識する。本実施形態では、各ゲスト物理ページがマッピングされている、ゲスト物理ページフレームの範囲を、ページフレーム割当領域情報と称す。図5は、読出部212により認識された段階のページフレーム割当領域情報のテーブル構造を示した図である。図5に示すように、読出部212は、ゲスト物理ページフレームを、連続している範囲毎に分割し、ページフレーム割当領域情報を生成する。次に、読出部212は、図4に示されたダイレクトマップ情報を参照して、図5のページフレーム割当領域情報で示された範囲を、さらに、ダイレクトマップ情報が異なる範囲を分割し、図6に示すページフレーム割当領域情報を生成する。図6は、ダイレクトマップ情報が異なる範囲を分割して生成されたページフレーム割当領域情報のテーブル構造を示した図である。図6に示すページフレーム割当領域情報は、ゲスト物理ページフレーム開始番号と、ゲスト物理ページフレーム終了番号と、ダイレクトマップ情報と、を対応付けて記憶している。このようにして、ダイレクトマップ情報が考慮されたページフレーム割当領域情報が生成される。なお、本実施形態では、ゲスト物理ページフレーム開始番号とゲスト物理ページフレーム終了番号との間の範囲を、ページフレーム範囲と称する。読出部212は、図6に示されたページフレーム割当領域情報の各エントリで示されたページフレーム範囲を、さらに、スーパーページであるか否かに応じて分割する。読出部212は、図6のページフレーム割当領域情報の各エントリで示されたページフレーム範囲のデータサイズがスーパーページ以上であるか否かを判定する。そして、読出部212は、当該範囲のデータサイズがスーパーページ以上であると判定された場合、ページフレーム開始番号を確認し、スーパーページとノーマルページとの境界を検出する。そして、読出部212は、図6のページフレーム割当領域情報の各エントリで示されたページフレーム範囲を、さらに、ノーマルページとスーパーページとで分割し、図7に示すページフレーム割当領域情報を生成する。図7は、ノーマルページ又はスーパーページであるかに従って生成されたページフレーム割当領域情報のテーブル構造を示した図である。図7に示すページフレーム割当領域情報は、ゲスト物理ページフレー開始番号と、ゲスト物理ページフレーム終了番号と、ダイレクトマップ情報と、ページサイズ情報と、を対応付けて記憶している。ページサイズ情報は、当該エントリで示されたページフレーム範囲が、スーパーページ又はノーマルページであるかを識別する情報とする。そして、読出部212は、図7に示されたページフレーム割当領域情報に従って、スーパーページより大きなサイズの範囲を、スーパーページ又はスーパーページの倍数の単位で分割する。図8は、スーパーページ又はスーパーページの倍数の単位で分割された後のページフレーム範囲を表した図とする。図8に示す例では、分割されたページフレーム範囲毎に、当該範囲のゲスト物理ページフレーム開始番号と、当該範囲のゲスト物理ページフレーム終了番号と、ダイレクトマップ情報と、ページサイズ情報と、が示されている。そして、本実施形態に係る情報処理装置100では、仮想マシン203を復元する際、マルチコアプロセッサ103の各コアに、図8に示されたページフレーム範囲毎に復元処理を割り当てる。これにより、復元処理が並列化されているため、仮想マシン203を使用可能になるまでの処理が短縮できる。圧縮部213は、図8で示されたページフレーム範囲毎に、読出部212により読み出されたデータを圧縮する。格納部214は、圧縮部213により圧縮されたページフレーム範囲毎のデータを、仮想マシン保存データファイル251に追加保存していく。その際、格納部214は、仮想マシン保存データファイル251のヘッダに、追加保存されたページフレーム単位のデータの物理アドレス空間におけるマップ先を示したゲスト物理ページフレーム番号、及び当該ゲスト物理ページフレームの仮想マシン保存データファイル251内のオフセットを対応付けて格納する。さらに、格納部214は、ページフレーム単位で、ダイレクトマップ情報及びページサイズ情報も、仮想マシン保存データファイル251に格納する。図9は、第1の実施形態にかかる仮想マシン保存データファイル251に格納されたヘッダのデータ構造情報を示した図である。図9に示すように、ヘッダ情報には、ページフレーム単位で、ゲスト物理ページフレーム開始番号と、ゲスト物理ページフレーム終了番号と、ダイレクトマップ情報と、ページサイズ情報と、保存オフセットと、を対応付けて記憶している。ゲスト物理ページフレーム開始番号と、ゲスト物理ページフレーム終了番号と、ダイレクトマップ情報と、ページサイズ情報とは、図8と同様とする。保存オフセットは、ゲスト物理ページフレーム開始番号からゲスト物理ページフレーム終了番号で示される範囲のデータであって、圧縮部213により圧縮された後のデータが、仮想マシン保存データファイル251に格納されたオフセット位置とする。本実施形態にかかる情報処理装置100の格納部214は、仮想マシン203の状態を保存する際、ページフレーム範囲毎に、当該ページフレーム範囲のデータの格納先となるオフセット位置保存オフセットを、ヘッダに格納する。ところで、圧縮部213が、同一データサイズのページフレーム範囲毎にデータを圧縮した場合でも、圧縮された後の複数のデータのデータサイズは互いに異なる。そして、格納部214が、圧縮されたデータを仮想マシン保存データファイル251に追加格納すると、ページフレーム範囲毎のデータの格納位置が把握できなくなる。そこで、本実施形態にかかる格納部214は、圧縮されたページフレーム範囲毎のデータの格納先を示した保存オフセットを、仮想マシン保存データファイル251のヘッダに格納する。これにより、仮想マシン203を復元する際に、仮想マシン保存データファイル251のヘッダを参照するだけで、仮想マシン203を復元するために必要な処理を認識できる。これにより、ゲスト物理アドレス空間の再構築処理を効率的にできる。図9に示す例では、ページフレーム範囲毎に、ダイレクトマップ情報が対応付けられている。そして、復元部215が仮想マシン203を復元する際に、ダイレクトマップ情報を参照することで、ページフレーム毎に、ゲスト物理ページと、物理ページフレームと、が一致しているか否かを認識できる。これにより、ゲスト物理アドレス空間の再構築の効率を向上させることができる。図9に示す例では、ページフレーム範囲毎に、ページサイズ情報が対応付けられている。これにより、復元部215が仮想マシン203を復元する際に、ページサイズ情報を参照し、ページサイズを含めて効率的に復元可能となる。図9に示す例では、連続するページフレーム範囲毎に、ページフレームのデータを圧縮して保存している。なお、本実施形態では、連続するページフレーム範囲毎に圧縮する例とするが、ページフレーム範囲に制限するものではなく、ページサイズの倍数である一定以上の連続する範囲を圧縮する技術であればよい。これにより、仮想マシンを復元するために必要なデータを保存するスペースを削減できる。さらに、記憶装置104のリード性能が低い場合に、読み出すサイズが削減されるため、仮想マシン保存データファイル251全てを読み出すまでの時間を短縮できる。これにより、情報処理装置100は、仮想マシン203を高速に復元できる。記憶装置104は、HDDやSSDなど様々な記憶手段を用いることができる。特に、記憶装置104にHDDが適用された場合に、制御プログラム201は、記憶装置104からデータをシーケンシャルに読み出せる。これにより、情報処理装置100は、効率的に仮想マシン203の復元処理を行うことができる。そして、格納部214が、仮想マシン保存データファイル251に対して、復元する順序に従ってデータを格納することで、仮想マシン203を復元する際に、逐次的に記憶装置104に対してアクセスできる。復元部215は、仮想マシン203を復元する際に、仮想マシン保存データファイル251を記憶装置104から読み出し、復元制御を行う。復元部215は、仮想マシン保存データファイル251のヘッダの情報を、仮想マシンモニタ202に受け渡す。仮想マシンモニタ202が、仮想マシン保存データファイル251のヘッダに格納されている情報に従って、ゲスト物理アドレス空間と、実際の物理アドレス空間と、の間のマッピングを行う。その際、仮想マシンモニタ202は、ヘッダに格納されているダイレクトマップ情報及びページサイズ情報に従う。復元部215は、マルチコアプロセッサ103のコアの数だけ処理スレッドを生成する。そして、復元部215は、仮想マシン保存データファイル251に記憶された、ページフレーム範囲毎のデータを、それぞれ異なる処理スレッドに割り当てる。そして、処理スレッドは、ページフレーム範囲毎のデータを、ゲスト物理アドレス空間に復元させる処理を行う。これにより、復元部215は、マルチコアプロセッサ103のコアの数だけ、復元処理を並列して行わせることができる。ところで、仮想マシン保存データファイル251に記憶されたデータは、圧縮部213により圧縮されている。そこで、処理スレッドは、仮想マシン保存データファイル251から、ページフレーム範囲毎のデータを読み出した後、当該データの伸張処理を行う。その後、処理スレッドは、伸張処理後のデータを用いて、ゲストOS221が使用するゲスト物理アドレス空間に復元するための処理を行う。その際、処理スレッドは、当該データを、当該データと対応付けられているゲスト物理ページフレーム番号が指し示すアドレスに復元させる。本実施形態にかかる情報処理装置100の制御プログラム201は、マルチコアプロセッサ103のプロセッサコア数だけ処理スレッドを生成する。そして、制御プログラム201は、処理スレッドの数だけ並列してページフレーム範囲毎に圧縮されたデータの伸張処理を行わせる。当該伸張処理は、ページフレームの並び順に応じて逐次的に実行される。また、記憶装置104のリード性能が低い場合、ページフレーム単位のデータをゲスト物理アドレス空間に復元する際、仮想マシン保存データファイル251の先読み処理を明示的に行わせる。これにより、ページフレームのデータの読み出しと伸張処理との並列性を確保し、復元時間を短縮できる。本実施形態では、仮想マシン保存データファイル251に、ページフレーム範囲毎に分割してデータを格納した。これにより、制御プログラム201が、仮想マシン保存データファイル251を用いて、仮想マシン203の復元を行う際に、データを読み出す処理と、読み出したデータを伸張する処理と、伸張したデータをゲスト物理アドレス空間に復元する処理とを、各プロセッサコアで並列して行うことができる。例えば、マルチコアプロセッサに4個のプロセッサコアが格納されていれば、4並列で上述した処理を行うことができる。次に、本実施の形態にかかる情報処理装置100における、仮想マシン203の保存処理について説明する。図10は、本実施の形態にかかる情報処理装置100における上述した処理の手順を示すフローチャートである。まず、制御プログラム201の読出部212は、ゲスト物理ページフレーム番号と、物理ページフレーム番号と、を仮想マシンモニタ202から取得し、ゲスト物理ページフレーム番号と物理ページフレーム番号と一致しているか否かを確認して、図4に示したダイレクトマップ情報を生成するステップS1001。次に、読出部212は、ゲストOS221が使用していたゲスト物理ページが物理ページにマッピングされている、物理アドレス空間のゲスト物理ページフレーム範囲を認識し、図5に示されるようなページフレーム割当領域情報を生成するステップS1002。そして、読出部212は、ダイレクトマップ情報に従って分割した、図6に示すようなページフレーム割当領域情報を生成するステップS1003。次に、読出部212は、図6のページフレーム割当領域情報の各エントリを、ノーマルページとスーパーページとで分割し、図7に示されたページフレーム割当領域情報を生成するステップS1004。その後、読出部212は、図7に示されたページフレーム割当領域情報の各エントリを、ノーマルページ、スーパーページ又はスーパーページの倍数の単位で分割し、図8に示すページフレーム範囲を生成するステップS1005。そして、制御プログラム201は、ステップS1006~S1010で示される処理を、ステップS1005で生成されたページフレーム範囲毎に繰り返すステップS1006。読出部212は、仮想マシン203を用いて、ゲストOS221のページフレーム毎に、当該ページフレーム範囲に格納されているデータを、制御プログラム201が参照可能な物理アドレス空間にマップして参照可能とするステップS1007。その後、圧縮部213が、マップして参照可能とされた、ページフレーム範囲のデータを圧縮するステップS1008。そして、格納部214が、圧縮されたページフレーム範囲のデータを、仮想マシン保存データファイル251に書き込むステップS1009。図11は、情報処理装置100が、ゲストOS221が使用していたページフレームを、仮想マシン保存データファイル251に格納するまでを示した図である。図11に示すように、制御プログラム201は、ゲストOS221を使用していたページフレームを直接参照できない。そこで、制御プログラム201は、仮想マシンモニタ202へ要求を行って、ゲストOS221が使用しているページフレームを、制御プログラム201が参照可能な物理アドレス空間にマップして参照可能とするステップS1101。これにより、制御プログラム201は、当該ページフレームを参照できるので、当該ページフレームを圧縮して、仮想マシン保存データファイル251に格納するステップS1102。図10に戻り、情報処理装置100では、ゲストOS221が使用していたゲスト物理アドレス空間全てのページフレームを、仮想マシン保存データファイル251に書き込むことで、ステップS1006~S1009の処理が終了する。そして、格納部214は、図8で示した情報を含んだ、図9に示すようなヘッダの情報を生成し、仮想マシン保存データファイル251にヘッダとして付与することで処理を終了するステップS1011。また、格納部214は、ステップS1009で保存した位置を示した、仮想マシン保存データファイル251上の保存オフセットも、ヘッダ情報に書き込んでおく。以上のように、本実施形態にかかる情報処理装置100は、仮想マシンの状態を仮想マシン保存データファイル251に保存することができる。次に、本実施の形態にかかる情報処理装置100における、仮想マシン203の復元処理について説明する。図12は、本実施の形態にかかる情報処理装置100における上述した処理の手順を示すフローチャートである。復元部215は、仮想マシン保存データファイル251から、ヘッダ情報を読み出すステップS1201。次に復元部215は、ステップS1202~S1204で示される処理を、ヘッダ情報に格納されているページフレーム範囲の数だけ繰り返すステップS1202。その後、仮想マシンモニタ202が、復元部215からの要求に従って、ページフレーム範囲毎に、当該ページフレーム範囲に対応する、ゲスト物理アドレス空間のマッピングを追加要求するステップS1203。そして、復元部215は、ヘッダ情報に格納されているページフレーム範囲について全てマッピングが終了した時点で、ループ処理を終了するステップS1204。復元部215は、マルチコアプロセッサ103のプロセッサコアの数を取得し、当該コアの数だけ、ページデータ復元用の処理スレッドを生成するステップS1205。そして、復元部215は、ヘッダ以降のデータについて先読みを指示するステップS1206。なお、この先読み指示は、ステップS1207~S1210の処理に間に合うようにデータが先読みされればよく、実際にはステップS1207~S1210の処理と並列的に行われる。これにより、読み出しを効率的に行うことができる。なお、実際にページフレームを読み捨てる処理でも良いし、ゲストOSの先読み用のインタフェースを使っても良い。そして、ステップS1207~S1210間での処理は、ページデータ復元用の処理スレッドの数に応じて並列して行われる。そして、各処理スレッドは、仮想マシン保存データファイル251に未処理のページフレーム範囲のデータがあるか否かを判定するステップS1207。各処理スレッドは、仮想マシン保存データファイル251に未処理のページフレームのデータがあると判定した場合ステップS1207:Yes、復元対象のページフレーム範囲について、仮想マシンモニタ202に対し、制御プログラムのゲスト物理アドレス空間仮想メモリ空間へマップし書き込み可能とする要求を行うステップS1208。その後、各処理スレッドは、仮想マシン保存データファイル251から、ヘッダ情報の保存オフセットに従って未処理のページフレーム範囲の圧縮データを取得するステップS1209。そして、各処理スレッドは、復元対象のページフレーム範囲のマップ先へ圧縮データを伸張するステップS1210。その後、ステップS1207から処理が開始される。そして、各処理スレッドは、未処理のページフレーム範囲のデータがなくなったと判定した場合ステップS1207:No、ステップS1211の処理に遷移し、当該処理スレッドが終了されるステップS1211。そして、復元部215は、全ての処理スレッドが終了するまで待機するステップS1212。全ての処理スレッドが終了した時点で、ゲストOS221が使用していたゲスト物理アドレス空間が全て復元できたものとして処理を終了する。上述した処理手順により、本実施形態にかかる情報処理装置100は、マルチコアプロセッサ103のプロセッサコアの数に応じた並列処理で、仮想マシン203を復元できる。第2の実施形態第1の実施形態では、仮想マシン203を復元する際に、ゲスト物理アドレス空間の全てマップする例について説明した。しかしながら、全てマップすることに制限するものではなく、ゲスト物理アドレス空間の特定のページフレーム範囲だけ復元し、ゲストOSの実行再開と並行して、オンデマンドで他のページフレーム範囲を復元しても良い。本実施形態にかかる情報処理装置100は、第1の実施形態と同様として説明を省略する。そして、第2の実施形態にかかる制御プログラム201が、仮想マシン保存データファイル251を生成する際に、ヘッダの構造のみ異なる。図13は、第2の実施形態にかかる仮想マシン保存データファイル251のヘッダのデータ構造を示した図である。第2の実施形態にかかるヘッダは、第1の実施形態のヘッダのデータ構造と比べて、復元フラグが追加されている。復元フラグは、ページフレーム範囲毎に、仮想マシン203を起動させた段階で復元させておく必要のある情報であるか否かを示すフラグとする。なお、ページフレーム範囲毎の復元フラグは、実施の態様に応じて設定されるものとして、設定基準について説明を省略する。復元部215は、ページフレーム範囲を復元する際に、当該ページフレーム範囲と対応付けられている復元フラグに基づいて、当該ページフレーム範囲が、仮想マシン203を起動させた段階で復元させておく必要があるか否かを判定し、必要と判定した場合に当該ページフレーム範囲を処理スレッドに復元させる。復元させておく必要がないと判定した場合に、仮想マシンを復元した後、仮想マシン上で行われている処理に応じて、復元させなかったページフレーム範囲のうち、必要となったページフレーム範囲のデータを順次、伸張、復元させる。第2の実施形態では、必要なページフレーム範囲だけ復元させることで、ゲストOSを高速に実行可能な状態まで復元できる。これにより、ユーザは、素早くゲストOSを利用可能できる。上述した第1~第2の実施形態にかかる情報処理装置100では、マルチコアプロセッサ103のプロセッサコアの数に合わせて並列して、復元処理を行うことができるため、仮想マシンモニタ202を復元するまでの時間を短縮できる。さらに、上述した第1~第2の実施形態にかかる情報処理装置100では、ダイレクトマップ情報ページ及びマップページサイズ情報に基づいて分割したページフレーム範囲単位で復元を行うことで、並列処理が容易となる。また、上述した第1~第2の実施形態にかかる情報処理装置100では、ページフレーム範囲のデータを圧縮すると共に、保存オフセットをヘッダに書き込むこととした。これにより、圧縮されたデータであっても並列して処理を行うことを可能にするとともに、記憶装置104の使用容量を削減できる。さらに、記憶装置104のリード性能が低い場合には、読み出すデータ量を削減できるので、処理の高速化を図ることができる。上述した実施形態の情報処理装置で実行される仮想マシンモニタ及び制御プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスクFD、CD-R、DVDDigitalVersatileDisk等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、上述した実施形態の情報処理装置で実行される仮想マシンモニタ及び制御プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述した実施形態の情報処理装置で実行される仮想マシンモニタ及び制御プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。上述した実施形態の情報処理装置で実行される仮想マシンモニタ及び制御プログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはマルチコアプロセッサ103が記憶装置104から仮想マシンモニタ及び制御プログラムを読み出して実行することにより上記各部がRAM101上にロードされ、上記各部がRAM101上に生成されるようになっている。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。