(57)【要約】【課題】オペレーティングシステムの再起動をすることなく、仮想マシンで使用できるメモリの拡大縮小を可能とするメモリ資源配置制御方法、仮想マシンシステム及びプログラムを提供する。【解決手段】物理マシン１４０上に、仮想マシン環境１３０と複数の仮想マシン１１０、１２０等を構築してなる仮想マシンシステム１００において、仮想マシン環境１３０上で動作する仮想マシン１１０、１２０等が使用可能なメモリ領域を、物理マシン１４０が有する物理メモリ１４１に対応付け、仮想マシン１１０、１２０等による使用メモリの量に応じて、メモリ領域の所定の領域を、複数の仮想マシン１１０、１２０等に対して割り当てと解放が可能な予約領域として配置する。【選択図】図２
2008225520.tif 000002
【特許請求の範囲】
【請求項１】
物理マシン上に、仮想マシン環境と複数の仮想マシンを構築してなる仮想マシンシステムにおけるメモリ資源配置制御方法であって、
前記仮想マシン環境上で動作する仮想マシンが使用可能なメモリ領域を、前記物理マシンが有する物理メモリに対応付け、
前記仮想マシンによる使用メモリの量に応じて、前記メモリ領域の所定の領域を、前記複数の仮想マシンに対して割り当てと解放が可能な予約領域として配置することを特徴とすることを特徴とするメモリ資源配置制御方法。
【請求項２】
前記予約領域を、前記物理メモリのメモリ単位に対応させて複数のメモリ単位に分割し、
前記複数の仮想マシン毎に、１又は複数の前記メモリ単位で前記予約領域の割り当て又は解放を行うことを特徴とする請求項１に記載のメモリ資源配置制御方法。
【請求項３】
前記仮想マシンからの要求メモリ量に基づいて、１又は複数の前記メモリ単位で前記予約領域を割り当て又は開放することにより、前記仮想マシンが使用可能な前記メモリ領域の解放するメモリ領域を動的に増減することを特徴とする請求項２に記載のメモリ資源配置制御方法。
【請求項４】
物理マシン上に、仮想マシン環境と複数の仮想マシンを構築してなる仮想マシンシステムにおいて、
前記仮想マシン環境上で動作する仮想マシンが使用可能なメモリ領域を、前記物理マシンが有する物理メモリに対応付け、
前記仮想マシンによる使用メモリの量に応じて、前記メモリ領域の所定の領域を、前記複数の仮想マシンに対して割り当てと解放が可能な予約領域として配置することを特徴とすることを特徴とする仮想マシンシステム。
【請求項５】
前記予約領域を、前記物理メモリのメモリ単位に対応させて複数のメモリ単位に分割し、
前記複数の仮想マシン毎に、１又は複数の前記メモリ単位で前記予約領域の割り当て又は解放を行うことを特徴とする請求項４に記載の仮想マシンシステム。
【請求項６】
前記仮想マシンからの要求メモリ量に基づいて、１又は複数の前記メモリ単位で前記予約領域を割り当て又は開放することにより、前記仮想マシンが使用可能な前記メモリ領域の解放するメモリ領域を動的に増減することを特徴とする請求項５に記載の仮想マシンシステム。
【請求項７】
物理マシン上に、仮想マシン環境と複数の仮想マシンを構築してなる仮想マシンシステム上で実行されるプログラムであって、
前記仮想マシン環境上で動作する仮想マシンが使用可能なメモリ領域を、前記物理マシンが有する物理メモリに対応付け、
前記仮想マシンによる使用メモリの量に応じて、前記メモリ領域の所定の領域を、前記複数の仮想マシンに対して割り当てと解放が可能な予約領域として配置することを特徴とすることを特徴とするプログラム。
【請求項８】
前記予約領域を、前記物理メモリのメモリ単位に対応させて複数のメモリ単位に分割し、
前記複数の仮想マシン毎に、１又は複数の前記メモリ単位で前記予約領域の割り当て又は解放を行うことを特徴とする請求項７に記載のプログラム。
【請求項９】
前記仮想マシンからの要求メモリ量に基づいて、１又は複数の前記メモリ単位で前記予約領域を割り当て又は開放することにより、前記仮想マシンが使用可能な前記メモリ領域の解放するメモリ領域を動的に増減することを特徴とする請求項８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン環境においてメモリ資源を配置するメモリ資源配置制御方法、仮想マシンシステム及びプログラムに関するものである。
【背景技術】
【０００２】
従来の仮想マシンシステムの一例が、非特許文献１に記載されている。図９に示すように、この従来の仮想マシンシステムは、物理マシンと、物理ディスクと、仮想マシン環境と、OSを有する複数の仮想マシンとから構成されている。
【０００３】
このような構成を有する従来の仮想マシンシステムはつぎのように動作する。すなわち、すべての仮想マシンの使用メモリ量の合計が物理メモリ量を超えた場合、一部のメモリ領域が物理ディスクにページアウトされる。
【非特許文献１】CarlA. Waldspurger著「Memory Resource Management in VMware ESX Server」VMware, Inc.、２００２年１２月８日、３．３Demand Paging
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来の仮想マシンシステムは、以下に示すような問題を有する。
【０００５】
第１に、仮想マシン上のオペレーティングシステム(以下、ＯＳ)またはプログラムが物理ディスクにページアウトされたメモリ領域を使用している場合、そのOSまたはプログラムの実行性能が下がってしまうという問題があった。すなわち、仮想マシン環境の中には、複数の仮想マシンで使用するメモリの合計が物理メモリ容量を超えた場合、超えた分を物理ディスクに割り当てる機能を持つ実装もあるが、この実装の場合、物理ディスクに割り当てられたメモリを使用するソフトウェアは性能が低下してしまうという問題があった。
【０００６】
第２に、仮想マシン環境において、従来は仮想マシンの物理メモリを仮想マシンを動作させたまま追加することができないという問題があった。
【０００７】
第３に、多くのオペレーティングシステムでは動的なメモリの追加に対応していないので、仮想マシン環境の他の仮想マシンが停止して物理メモリが解放されてもそれを運用中の仮想マシンで使用することができないという問題があった。
【０００８】
本発明の目的は、OSの再起動なしに仮想マシンで使用できるメモリの拡大縮小を可能とすることである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため本発明は、物理マシン上に、仮想マシン環境と複数の仮想マシンを構築してなる仮想マシンシステムにおけるメモリ資源配置制御方法であって、前記仮想マシン環境上で動作する仮想マシンが使用可能なメモリ領域を、前記物理マシンが有する物理メモリに対応付け、前記仮想マシンによる使用メモリの量に応じて、前記メモリ領域の所定の領域を、前記複数の仮想マシンに対して割り当てと解放が可能な予約領域として配置することを特徴とすることを特徴とする。
【００１０】
すなわち、本発明は、仮想マシン上のメモリに予約領域を設け、この予約領域のメモリを他の仮想マシンで使えるようにし、その上で、この予約領域を拡大・縮小することにより、動的なメモリの増減と仮想マシン間での動的なメモリ資源の再配置を実現する。
【発明の効果】
【００１１】
本発明によれば、以下に示すような効果を達成する。
【００１２】
第１に、OSの再起動なしに仮想マシンで使用できるメモリの拡大縮小が可能となる。
【００１３】
その理由は、OS上に予約領域を設け、その領域を拡大縮小することにより、OSが使用できる領域を実質的に拡大縮小できるためである。
【００１４】
第２に、OSの再起動なしに仮想マシンで使用していた物理メモリを他の仮想マシンで使用できる。
【００１５】
その理由は、OS上に予約領域が仮想マシン環境の管理下で解放され、他の仮想マシンによって当該予約領域を使用できるように構成されているためである。
【発明を実施するための最良の形態】
【００１６】
（第１の実施の形態）
次に、本発明による第１の実施の形態の仮想マシンシステムについて図面を参照して詳細に説明する。
【００１７】
（第１の実施の形態の構成）
図１は、本実施の形態の仮想マシンシステムの構成を示すブロック図である。
【００１８】
図１を参照すると、本実施の形態の仮想マシンシステム１００は、２つの仮想マシン１１０、１２０と、仮想マシン環境１３０と、仮想マシン環境１３０が動作する物理マシン１４０(物理メモリ１４１を含む)とを備える。
【００１９】
仮想マシン１１０は、メモリ管理サービス１１１と、オペレーティングシステム(以下、ＯＳと称する)１１２とを含む。また仮想マシン１２０は、メモリ管理サービス１２１と、ＯＳ１２２とを含む。仮想マシン１１０と仮想マシン１２０は構成において同じであり、これらに含まれるメモリ管理サービス１１１および１２１、ＯＳ１１２および１２２についても同じ構成である。
【００２０】
図2は、本実施の形態において、仮想マシン１１０と、ＯＳ１１２と、仮想マシン環境１３０の構成を詳細に示したブロック図である。
【００２１】
図２を参照すると、仮想マシン１１０のメモリ管理サービス１１１は、ＯＳメモリ取得手段２１１と、メモリアドレス変換手段２１２と、仮想マシン環境通信手段２１３とを備える。
【００２２】
ＯＳ１１２は、メモリ管理手段２２１を備える。
【００２３】
仮想マシン環境１３０は、仮想マシンメモリ管理手段２３１と、メモリ管理サービス通信手段２３２と、物理メモリ管理手段２３３とを備える。
【００２４】
これらの手段は、それぞれ概略つぎのような機能を有する。
【００２５】
物理メモリ管理手段２３３は、物理マシン１４０の物理メモリ１４１を一定の均等な領域（以降、セグメントとする）に分割して管理する機能を有し、物理メモリ１４１を管理するためのテーブル領域２３３１を保有する。
【００２６】
仮想マシンメモリ管理手段２３１は、物理マシン１４０の物理メモリ１４１に対してメモリセグメントを要求し、取得したメモリセグメントを仮想マシン１１０のメモリ領域として提供して管理する機能を有し、仮想マシン１１０のメモリセグメントを物理マシン１４０のメモリセグメントへ変換する際に用いる、仮想マシン１１０のメモリセグメントと物理マシン１４０のメモリセグメントの対応関係を示す変換テーブル２３１１を保有する。
【００２７】
メモリ管理サービス通信手段２３２は、ＯＳ１１２上のメモリ管理サービス１１１との通信を行い、メモリの確保または解放の要求を出し、仮想マシンメモリ管理手段２３１に対して、物理マシン１４０の物理メモリ１４１の確保または解放の要求を行う機能を有する。
【００２８】
メモリ管理手段２２１は、通常のＯＳにおいて標準的に提供される手段であり、仮想マシン環境１３０によって提供された仮想マシン用のメモリを管理し、ＯＳ１１２上のメモリ管理サービス１１１を含むプロセスに対して、メモリ空間の割り当てを行うなどの管理を行う機能と、メモリ管理サービス１１１からメモリセグメントの要求を受け付け、仮想マシン用のメモリで使用可能なメモリセグメントを割り当ててメモリ管理サービス１１１に返す機能とを有する。
【００２９】
ＯＳメモリ取得手段２１１は、ＯＳ１１２に対し、メモリ割り当ての要求および割り当てられたメモリの解放要求を行う機能と、割り当てられたメモリの領域は予約領域として管理する機能と、ＯＳ１１２に対してメモリ割り当てを要求する際は、予約領域に対してＯＳ１１２や他のプロセスからは操作できないように指示し、かつ、必ずメモリにマッピングされるようにする、すなわち予約領域がハードディスク装置などの２次記憶装置に退避されないようにＯＳ１１２に対して指示する機能とを有する。
【００３０】
メモリアドレス変換手段２１２は、予約領域のアドレスと、物理メモリのアドレスとを対応付ける機能を有する。
【００３１】
仮想マシン環境通信手段２１３は、メモリ管理サービス通信手段２３２と通信を行う機能を有し、メモリ管理サービス通信手段２３２から、メモリの確保または解放の要求の通知を受ける。
【００３２】
ここで、本実施の形態の仮想マシンシステムのハードウェア構成の説明をする。
【００３３】
図３は、本実施の形態の仮想マシンシステムのハードウェア構成例を示すブロック図である。
【００３４】
図３を参照すると、本実施の形態の仮想マシンシステム１００は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部３０２、ネットワーク４００を介してデータの送受信を行う通信制御部３０３、周辺機器と接続してデータの送受信を行うインタフェース部３０４、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部３０５、本情報処理装置の上記各構成要素を相互に接続するシステムバス３０６等を備えている。
【００３５】
本発明による仮想マシンシステム１００は、その動作を、仮想マシンシステム１００内部にそのような機能を実現するプログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各構成要素の各機能を提供するプログラムを、コンピュータ処理装置上のＣＰＵ３０１で実行することにより、ソフトウェア的に実現することができる。
【００３６】
すなわち、ＣＰＵ３０１は、補助記憶部３０５に格納されているプログラムを、主記憶部３０２にロードして実行し、仮想マシンシステム１００の動作を制御することにより、上述した各機能をソフトウェア的に実現する。
【００３７】
（第１の実施の形態の動作）
次に、図２および図４のメモリの状態図及び図５から図８のシーケンス図を参照して本実施の形態の仮想マシンシステムの動作について詳細に説明する。
【００３８】
図４は、物理マシン１４０の物理メモリ１４１と仮想マシン１１０および仮想マシン１２０のメモリの割り当て関係を例として記述した図である。
【００３９】
物理メモリ１４１は、ＰＳ０からＰＳ３の４つのメモリセグメントに分割されて管理されているものとする。そして、仮想マシン１１０のメモリ１１３は、ＶＳ１０からＶＳ１２の３つのメモリセグメントから成り、矢印のように物理メモリ１４１と対応付けられているものとする。すなわち、仮想マシン１１０のメモリセグメントＶＳ１０は、物理マシン１４０のメモリセグメントＰＳ０に対応し、メモリセグメントＶＳ１１はメモリセグメントＰＳ１に対応し、メモリセグメントＶＳ１２はメモリセグメントＰＳ２に対応する、などである。
【００４０】
ここで、図４の網掛け部分のメモリセグメントＶＳ１１、ＶＳ１２は、メモリ管理サービス１１１によって確保された予約領域であり、ＯＳ１１２の起動直後は、仮想マシン１１０によって占有されるが、後述する動作によって占有が解放され、他の仮想マシンで割り当て可能となっているものとする。また、仮想マシン１２０のメモリ１２３は、ＰＳ１からＰＳ３の３つのメモリセグメントから成り、ＶＳ２１およびＶＳ２２が予約領域となっている。
【００４１】
図５は、仮想マシン１１０の起動時の動作を説明するシーケンス図である。前提として、仮想マシン１１０および仮想マシン１２０は停止状態にあり、物理マシン１４０上の物理メモリ１４１はすべて未使用状態にあるとする。
【００４２】
まず、仮想マシン環境１３０からＯＳ１１２に対して起動要求を出す(ステップ4A)。その際、仮想マシン１１０のメモリセグメントＶＳ１０〜ＶＳ１２に対して、仮想マシン環境１３０が物理メモリ１４１を割り当てる。ここでは例としてＶＳ１０にＰＳ０、ＶＳ１１にＰＳ１、ＶＳ１２にＰＳ２が割り当てられたとする。
【００４３】
次に、ＯＳ１１２は、起動し、その延長でメモリ管理サービス１１１の起動要求を行う（ステップ4B）。
【００４４】
メモリ管理サービス１１１は、起動が完了すると、仮想マシン環境１３０に対して起動完了通知を行う（ステップ４C）。
【００４５】
仮想マシン環境１３０は、メモリ管理サービス１１１に対して予約領域の確保要求を行う（ステップ４D）。ここでは例として、２セグメント分の予約領域の確保を要求するものとする。
【００４６】
次に、メモリ管理サービス１１１は、OS１１２に対して２セグメント分のメモリ要求を行う(ステップ４E)。メモリ管理サービス１１１は、OS１１２に対してメモリ要求を行う際に、確保したメモリが、ＯＳ１１２や他のプロセスからは操作できないように指示し、かつ、必ず仮想マシン１１０上のメモリにマッピングされるようにする、すなわち予約領域が仮想マシン１１０上のハードディスク装置などの２次記憶装置に退避されないように、ＯＳ１１２に対して指示する。
【００４７】
OS１１２によって２セグメント分のメモリがメモリ管理サービス１１１に対して割り当てられ、割り当てられたメモリセグメントが返却される（ステップ４F）。ここでは例としてVS11、VS１２が割り当てられたものとすれば、メモリ管理サービス１１１に対してVS11およびVS１２が返却される。
【００４８】
次に、メモリ管理サービス１１１は、予約領域として確保したメモリセグメントを仮想マシン環境１３０に対して通知する（ステップ４G）。ここではVS11およびVS12が通知される。
【００４９】
仮想マシン環境１３０は、通知されたメモリセグメントに対応する物理メモリを解放し、他の仮想マシンで割り当て可能な状態にする（ステップ４H）。ここではVS11およびVS１２に対応するPS1およびPS２が解放される。
【００５０】
図６は、仮想マシン１１０の停止時の動作を説明するシーケンス図である。前提として、仮想マシン１１０のメモリ１１３はVS10とVS11とVS12から構成され、そのうちVS10には物理マシン１４０のメモリセグメントのうちPS0が割り当てられ、VS１１とVS12は予約領域になっているものとする。また、物理マシン１３０のメモリセグメントのうち、PS2とPS３は未使用状態（仮想マシンに割り当て可能な状態）であるものとする。
【００５１】
まず、仮想マシン環境１３０は、OS１１２に対して停止要求を行う（ステップ５A）。
【００５２】
OS１１２は、停止処理の延長でメモリ管理サービス１１１に対して停止要求を行う（ステップ５B）。
【００５３】
メモリ管理サービス１１１は、予約領域として解放したメモリセグメントVS１１およびVS１２に対する物理メモリ１４１の割り当てを、仮想マシン環境１３０に対して要求する（ステップ５C）。
【００５４】
仮想マシン環境１３０は、要求されたメモリセグメントに対して、未使用状態の物理メモリ１４１のメモリセグメントを割り当て、メモリ管理サービス１１１に通知する（ステップ５D）。ここではVS11とVS１２にPS2とPS3を割り当てるものとする。
【００５５】
メモリ管理サービス１１１は、物理メモリ１４１が予約領域に割り当てられると、停止が可能となるので停止し、停止が完了したことをOS１１２に対して通知する（ステップ５E）。
【００５６】
OS１１２は、メモリ管理サービス１１１の停止によって、停止が可能となるので、他の停止処理を行ってから停止し、停止が完了したことを仮想マシン環境１３０に対して通知する（ステップ５F）。
【００５７】
仮想マシン環境１３０は、OS１１２が停止すると、仮想マシン１１０で確保されていたリソースの解放処理を行い、OS112に対して割り当てていた物理メモリ１４１のPS0,PS2,PS3を解放する（ステップ５G）。これで仮想マシン１１０の停止処理が終了する。
【００５８】
図７は、仮想マシン１１０のメモリ拡大時の動作を説明するシーケンス図である。予約領域により、OS１１２から使用できるメモリが制限されているが、この予約領域を縮小することによって、OS１１２が実質的に使用できるメモリが拡大することになる。前提として、仮想マシン１１０のメモリセグメントのうち、VS１１とVS１２が予約領域となっている。また、物理マシン１４０の物理メモリ１４１のメモリセグメントPS3は未使用状態であり、外部から仮想マシン環境１３０に対して、仮想マシン１１０のメモリの１セグメント分の拡大要求があったものとする。
【００５９】
まず、仮想マシン環境１３０により未使用状態の物理メモリ１４１が確保され、仮想マシン１１０の予約領域のメモリセグメントに割り当てられる（ステップ６A）。ここでは１セグメント分の物理メモリ１４１のメモリセグメントPS３が確保され、仮想マシン１１０の予約領域のメモリセグメントVS12に割り当てられたものとする。
【００６０】
そして、仮想マシン環境１３０は、確保した物理１４１のメモリセグメントに対応する予約領域のメモリセグメントの解放要求をメモリ管理サービス１１１に対して行う(ステップ６B)。ここでは、物理メモリ１４１のメモリセグメントPS3を割り当てた仮想マシン１１０のメモリセグメントVS12に対応する予約領域の解放要求を行う。
【００６１】
メモリ管理サービス１１１は、要求されたメモリセグメントに対応する予約領域を解放してOS112に戻す（ステップ６C）。ここでは、VS12が、予約領域から解放されてOS１１２の管理下に置かれ、OS１１２上の他のプロセスやサービスで利用できるようになる。
【００６２】
図８は、仮想マシン１１０のメモリ縮小時の動作を説明するシーケンス図である。予約領域を拡大することにより、OS１１２が実質的に使用できるメモリをさらに制限する。前提として、仮想マシン１１０のメモリ１１３はVS10とVS11とVS１２から構成され、VS11は予約領域となっており、VS10とVS12には物理マシン１４０の物理メモリ１４１のメモリセグメントPS０とPS３が割り当てられているものとする。また、外部から仮想マシン環境１３０に対して、メモリの１セグメント分の要求があり、仮想マシン１１０の予約領域を１セグメント分拡大することにより、外部から要求されたメモリを確保するものとする。
【００６３】
まず、仮想マシン環境１３０は、メモリ管理サービス１１１に対し、予約領域の拡大要求を行う（ステップ７A）。ここでは１セグメント分の拡大要求を行うものとする。
【００６４】
メモリ管理サービス１１１は、OS１１２に対し、仮想マシン環境１３０から要求された分のメモリを要求する（ステップ７B）。メモリ管理サービス１１１は、OS１１２へのメモリ要求の際に、ＯＳ１１２や他のプロセスからは操作できないように指示し、かつ、必ず仮想マシン１１０上のメモリにマッピングされるようにする、すなわち予約領域が仮想マシン１１０上のハードディスク装置などの２次記憶装置に退避されないようにＯＳ１１２に指示する。
【００６５】
ＯＳ１１２によって、１セグメント分のメモリセグメントがメモリ管理サービス１１１に対して割り当てられ、割り当てられたメモリセグメントが返却される（ステップ7C）。ここでは例としてVS１２が割り当てられたものとすれば、ＯＳ１１２からメモリ管理サービス１１１に対してVS１２が返却される。
【００６６】
次に、メモリ管理サービス１１１は、予約領域として確保したメモリセグメントを仮想マシン環境１３０に通知する（ステップ7D）。ここではVS12が通知される。
【００６７】
仮想マシン環境１３０は、通知されたメモリセグメントに対応する物理メモリ１４１を解放し、他の仮想マシンで割り当て可能な状態にする（ステップ7E）。ここではVS１２に対応するPS3が解放される。
【００６８】
（第１の実施の形態の効果）
本実施の形態によれば、以下に示すような効果を達成する。
【００６９】
第１に、OS１１２の再起動なしに仮想マシン１１０で使用できるメモリの拡大縮小が可能となる。すなわち、OS１１２を再起動することなく、動的なメモリの拡大縮小を実現することができる。
【００７０】
その理由は、OS１１２上に予約領域を設け、その領域を拡大縮小することにより、OS１１２が使用できるメモリ領域を実質的に拡大縮小できるからである。
【００７１】
第２に、OS１１２の再起動なしに仮想マシン１１０で使用していた物理メモリを他の仮想マシンで使用できる。
【００７２】
その理由は、OS１１２上に予約領域として確保した物理メモリを、OS１１２の管理外かつ仮想マシン環境１３０の管理下で解放し、他の仮想マシンで当該予約領域を使用できるように構成されているからである。
【００７３】
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【産業上の利用可能性】
【００７４】
本発明は、仮想マシン環境において、動的なメモリの拡大縮小が不可能なOSを使用するときに、OSを再起動せずにOSが使用するメモリの拡大縮小するといった用途に適用できる。また、本発明は、仮想マシン環境において、多数の仮想マシンを運用するときに、各仮想マシンのメモリ負荷に応じて動的にメモリリソースの再割り当てを行うといった用途にも適用可能である。
【図面の簡単な説明】
【００７５】
【図１】本発明の第１の実施の形態による仮想マシンシステムの構成を示すブロック図である。
【図２】第１の実施の形態による仮想マシン１１０と、ＯＳ１１２と、仮想マシン環境１３０の構成を詳細に示したブロック図である。
【図３】第１の実施の形態の仮想マシンシステムのハードウェア構成例を示すブロック図である。
【図４】第１の実施の形態による物理マシン１４０の物理メモリ１４１と仮想マシン１１０および仮想マシン１２０のメモリの割り当て関係を例として記述した図である。
【図５】第１の実施の形態による仮想マシン１１０の起動時の動作を説明するシーケンス図である。
【図６】第１の実施の形態による仮想マシン１１０の停止時の動作を説明するシーケンス図である。
【図７】第１の実施の形態による仮想マシン１１０のメモリ拡大時の動作を説明するシーケンス図である。
【図８】第１の実施の形態による仮想マシン１１０のメモリ縮小時の動作を説明するシーケンス図である。
【図９】従来の仮想マシンシステムを説明するブロック図である。
【符号の説明】
【００７６】
１００：仮想マシンシステム
１１０、１２０：仮想マシン
１１１、１２１：メモリ管理サービス
２１１：ＯＳメモリ取得手段
２１２：メモリアドレス変換手段
２１３：仮想マシン環境通信手段
１１２：１２２：オペレーティングシステム
２２１：メモリ管理手段
１１３、１２３：仮想マシンのメモリ
ＶＳ１０〜ＶＳ１２、ＶＳ２０〜ＶＳ２２：仮想マシンのメモリセグメント
１３０：仮想マシン環境
２３１：仮想マシンメモリ管理手段
２３１１：変換テーブル
２３２：メモリ管理サービス通信手段
２３３：物理メモリ管理手段
２３３１：テーブル領域
１４０：物理マシン
１４１：物理メモリ
ＰＳ０〜ＰＳ３：物理メモリのメモリセグメント
３０１：ＣＰＵ
３０２：主記憶部
３０３：通信制御部
３０４：インタフェース部
３０５：補助記憶部
３０６：システムバス
４００：ネットワーク
【図１】
2008225520.tif 000003
【図２】
2008225520.tif 000004
【図３】
2008225520.tif 000005
【図４】
2008225520.tif 000006
【図５】
2008225520.tif 000007
【図６】
2008225520.tif 000008
【図７】
2008225520.tif 000009
【図８】
2008225520.tif 000010
【図９】
2008225520.tif 000011