複数のプロセッサを有し、複数の仮想計算機を動作させる仮想計算機システムであって、電力を供給されているプロセッサに仮想計算機を割り当てる割当手段と、前記割当手段が、電力を供給されていて仮想計算機を割り当てられていないプロセッサに仮想計算機を割り当てる場合において、電力を供給されていないプロセッサが複数存在するとき、電力を供給されていないプロセッサのうちの一部のプロセッサに電力を供給し、電力を供給されていないプロセッサのうちの前記一部のプロセッサ以外のプロセッサに電力を供給しない状態を維持する電力供給手段とを備えることを特徴とする仮想計算機システム。プロセッサのうち、電力を供給されているプロセッサに限ってクロック信号を供給するクロック供給手段を備えることを特徴とする請求項1記載の仮想計算機システム。電力を供給されていて仮想計算機を割り当てられているプロセッサに供給するクロック信号の周波数の方が、電力を供給されていて仮想計算機を割り当てられていないプロセッサに供給するクロック信号の周波数よりも高くなるように、電力を供給されているプロセッサに供給するクロック信号を制御するクロック制御手段を備えることを特徴とする請求項2記載の仮想計算機システム。電力を供給されていて仮想計算機を割り当てられているプロセッサの電源電圧の方が、電力を供給されていて仮想計算機を割り当てられていないプロセッサの電源電圧よりも高くなるように、電力を供給されているプロセッサの電源電圧を制御する電圧制御手段を備えることを特徴とする請求項1記載の仮想計算機システム。前記電力供給手段は、さらに、電力を供給されていて仮想計算機を割り当てられていたプロセッサが仮想計算機を割り当てられていない状態となった場合に、電力を供給されていて仮想計算機を割り当てられていないプロセッサのうちの、少なくとも1つのプロセッサの電力供給を停止することを特徴とする請求項1記載の仮想計算機システム。前記割当手段は、前記仮想計算機の割り当てを、第1仮想計算機を割り当てられている第1プロセッサに当該第1仮想計算機以外の仮想計算機が割り当てられている場合において当該第1仮想計算機の処理対象とする処理が所定条件を満たすようになるとき、電力を供給されていて仮想計算機を割り当てられていない第2プロセッサが存在すれば、前記仮想計算機を、前記第1プロセッサから前記第2プロセッサに変更して割り当てるように行うことを特徴とする請求項1記載の仮想計算機システム。前記割当手段は、前記仮想計算機の割り当てを、第1仮想計算機を割り当てられている第1プロセッサに当該第1仮想計算機以外の仮想計算機が割り当てられていない場合において当該第1仮想計算機の処理対象とする処理が第1の所定条件を満たすようになるとき、処理対象とする処理が第2の所定条件を満たす仮想計算機を割り当てられている第2のプロセッサが存在すれば、前記第1仮想計算機を、前記第1プロセッサから前記第2プロセッサに変更して割り当てるように行うことを特徴とする請求項1記載の仮想計算機システム。前記仮想計算機システムは、複数の第1種プロセッサと、第1種プロセッサよりも処理能力と消費電力とが低い複数の第2種プロセッサとを有し、前記割当手段は、前記仮想計算機の割り当てを、プロセッサに割り当てられている仮想計算機のそれぞれについて、当該仮想計算機の処理対象とする処理が所定条件を満たすようになる場合に、割り当てるプロセッサのプロセッサ種を変更するように行い、前記電力供給手段は、前記電力の供給を、前記割当手段が、電力を供給されていて仮想計算機を割り当てられていない第1種プロセッサに仮想計算機を割り当てる場合において電力を供給されていない第1種プロセッサが複数存在するとき、電力を供給されていない第1種プロセッサのうちの一部のプロセッサに電力を供給し、電力を供給されていない第1種プロセッサのうちの前記一部のプロセッサ以外のプロセッサに電力を供給しない状態を維持するように行い、前記割当手段が、電力を供給されていて仮想計算機を割り当てられていない第2種プロセッサに仮想計算機を割り当てる場合において電力を供給されていない第2種プロセッサが複数存在するとき、電力を供給されていない第2種プロセッサのうちの一部のプロセッサに電力を供給し、電力を供給されていない第2種プロセッサのうちの前記一部のプロセッサ以外のプロセッサに電力を供給しない状態を維持するように行うことを特徴とする請求項1記載の仮想計算機システム。前記電力供給手段は、さらに、電力を供給されていて仮想計算機を割り当てられていた第1種プロセッサが仮想計算機を割り当てられていない状態となった場合に、電力を供給されていて仮想計算機を割り当てられていない第1種プロセッサのうちの、少なくとも1つの第1種プロセッサの電力供給を停止し、電力を供給されていて仮想計算機を割り当てられていた第2種プロセッサが仮想計算機を割り当てられていない状態となった場合に、電力を供給されていて仮想計算機を割り当てられていない第2種プロセッサのうちの、少なくとも1つの第2種プロセッサの電力供給を停止することを特徴とする請求項8記載の仮想計算機システム。複数のプロセッサを有し、複数の仮想計算機を動作させる集積回路であって、電力を供給されているプロセッサに仮想計算機を割り当てる割当手段と、前記割当手段が、電力を供給されていて仮想計算機を割り当てられていないプロセッサに仮想計算機を割り当てる場合において、電力を供給されていないプロセッサが複数存在するとき、電力を供給されていないプロセッサのうちの一部のプロセッサに電力を供給し、電力を供給されていないプロセッサのうちの前記一部のプロセッサ以外のプロセッサに電力を供給しない状態を維持する電力供給手段とを備えることを特徴とする集積回路。複数のプロセッサを有し、複数の仮想計算機を動作させる仮想計算機システムを制御する制御方法であって、電力を供給されているプロセッサに仮想計算機を割り当てる割当ステップと、前記割当ステップが、電力を供給されていて仮想計算機を割り当てられていないプロセッサに仮想計算機を割り当てる場合において、電力を供給されていないプロセッサが複数存在するとき、電力を供給されていないプロセッサのうちの一部のプロセッサに電力を供給し、電力を供給されていないプロセッサのうちの前記一部のプロセッサ以外のプロセッサに電力を供給しない状態を維持する電力供給ステップとを備えることを特徴とする制御方法。ところで、一般に、電源供給が遮断されているプロセッサを起動する場合には、そのプロセッサが安定して処理を実行できるようになるまでに、典型的には数ミリ秒~数十ミリ秒が必要となる。特許文献2に開示されている技術では、仮想計算機が割り当てられていないプロセッサに新たに仮想計算機を割り当てようとする場合に、それらのプロセッサを新たに起動させる必要がある。従って、仮想計算機が割り当てられていないプロセッサに新たに仮想計算機を割り当てようとしても、新たに起動させたプロセッサが処理を開始するまでに、典型的には数ミリ秒~数十ミリ秒の時間がかかってしまい、仮想計算機システムのパフォーマンスが低下してしまうという問題がある。特許文献3に開示されている技術では、仮想計算機が割り当てられていない全てのプロセッサは、新たに仮想計算機が割り当てられるまでスリープ状態となる。しかしながら、スリープ状態のプロセッサは、仮想計算機に係る処理を行うことができないにも関わらず、通常動作状態よりも消費電力は少ないものの、一定量の電力を消費する。従って、仮想計算機が割り当てられていないプロセッサの数が多くなると、仮想計算機に係る処理を行うことのないプロセッサによる消費電力が多くなってしまうという問題がある。そこで、本発明は係る問題に鑑みてなされたものであり、仮想計算機システムのパフォーマンスの低下を防止しつつ、消費電力を抑える仮想計算機システムを提供することを目的とする。上記課題を解決するために本発明に係る仮想計算機システムは、複数のプロセッサを有し、複数の仮想計算機を動作させる仮想計算機システムであって、電力を供給されているプロセッサに仮想計算機を割り当てる割当手段と、前記割当手段が、電力を供給されていて仮想計算機を割り当てられていないプロセッサに仮想計算機を割り当てる場合において、電力を供給されていないプロセッサが複数存在するとき、電力を供給されていないプロセッサのうちの一部のプロセッサに電力を供給し、電力を供給されていないプロセッサのうちの前記一部のプロセッサ以外のプロセッサに電力を供給しない状態を維持する電力供給手段とを備えることを特徴とする。上述の構成を備える本発明に係る仮想計算機システムは、電力を供給されていて仮想計算機を割り当てられていないプロセッサに仮想計算機を割り当てる場合に、次に新たなプロセッサに仮想計算機を割り当てるときに備えて、電力供給手段によって新たに電力を供給されるプロセッサを待機状態にしておくことができるようになる。また、仮想計算機を割り当てられていないプロセッサのうち、次に新たなプロセッサに仮想計算機を割り当てるときに備えて待機させておくプロセッサ以外のプロセッサには電力を供給されない。従って、仮想計算機システムのパフォーマンスの低下を防止しつつ、消費電力を抑えることができる。<実施の形態1><概要>以下、本発明に係る仮想計算機システムの一実施形態として、4つのプロセッサを備え、これらのプロセッサを用いて複数の仮想計算機を並列に実行する仮想計算機システムについて説明する。この仮想計算機システムは、一部のプロセッサに仮想計算機が割り当てられていない場合に、次に新たなプロセッサに仮想計算機を割り当てる場合に備えて、仮想計算機が割り当てられていないプロセッサのうちの1つのプロセッサに電力を供給して待機状態としておき、その他の仮想計算機が割り当てられていないプロセッサに電力を供給しないという制御を行うものである。以下、本実施の形態1に係る仮想計算機システムの構成について図面を参照しながら説明する。図1は、仮想計算機システム100の主要なハードウエア構成を示すブロック図である。同図に示す通り、仮想計算機システム100は、システムLSILargeScaleIntegration110とハードディスク装置130と出力装置131と入力装置132とから構成される。システムLSI110は、プロセッサA101とプロセッサB102とプロセッサC103とプロセッサD104と電源制御ブロック111とクロック制御ブロック112とROMReadOnlyMemory113とRAMRandomAccessMemory114とハードディスク装置インターフェース115と出力装置インターフェース116と入力装置インターフェース117と内部バス120とを集積した集積回路であって、ハードディスク装置130と出力装置131と入力装置132とに接続する。プロセッサA101とプロセッサB102とプロセッサC103とプロセッサD104とは、それぞれ内部バス120と電源制御ブロック111とクロック制御ブロック112とに接続し、それぞれROM113、RAM114、又はハードディスク装置130に記憶されているプログラムを実行することで、電源制御ブロック111とクロック制御ブロック112とROM113とRAM114とハードディスク装置130と出力装置131と入力装置132とを制御して、様々な機能を実現する。プロセッサA101~プロセッサD104は、それぞれ同じ機能を有するプロセッサであって、電源電圧が1.2Vで動作周波数が1GHzで動作する通常動作モードと、電源電圧が1.0Vで動作周波数が500MHzで動作する省電力モードとの2つのモードを有する。また、プロセッサA101~プロセッサD104は、供給される電源の電圧が0Vから1.0V以上に変化し、クロック信号が供給されることで起動する。電源制御ブロック111は、内部バス120とプロセッサA101とプロセッサB102とプロセッサC103とプロセッサD104とに接続し、プロセッサA101、プロセッサB102、プロセッサC103、又はプロセッサD104によって制御され、プロセッサA101~プロセッサD104へ供給する電源の電圧を切り換える機能を有する。図2は、電源制御ブロック111の主要なハードウエア構成を示すブロック図である。同図に示す通り、電源制御ブロック111は、スイッチ設定レジスタ210と電源スイッチ211と電源スイッチ212と電源スイッチ213と電源スイッチ214とから構成される。スイッチ設定レジスタ210は、内部バス120と電源スイッチ211と電源スイッチ212と電源スイッチ213と電源スイッチ214とに接続し、プロセッサA101、プロセッサB102、プロセッサC103、又はプロセッサD104によって値を書き込まれる8ビットのレジスタである。電源スイッチ211は、スイッチ設定レジスタ210と1.2Vの電圧を供給する1.2V電源配線221と1.0Vの電圧を供給する1.0V電源配線222と0Vの電圧を供給するグラウンド配線223とプロセッサA101に電圧を供給するためのプロセッサA電源配線231とに接続し、スイッチ設定レジスタ210の0ビット目と1ビット目とに書き込まれている値に従って、1.2V電源配線221と1.0V電源配線222とグラウンド配線223との3つの配線のうちの一つの配線を選択して、選択する配線とプロセッサA電源配線231とを電気的に接続するスイッチである。電源スイッチ212~電源スイッチ214は、それぞれ電源スイッチ211と同様のスイッチである。電源スイッチ212は、スイッチ設定レジスタ210の2ビット目と3ビット目とに書き込まれている値に従って、プロセッサB102に電圧を供給するためのプロセッサB電源配線232と電気的に接続する電源配線を選択するスイッチであって、電源スイッチ213は、スイッチ設定レジスタ210の4ビット目と5ビット目とに書き込まれている値に従って、プロセッサC103に電圧を供給するためのプロセッサC電源配線233と電気的に接続する電源配線を選択するスイッチであって、電源スイッチ214は、スイッチ設定レジスタ210の6ビット目と7ビット目とに書き込まれている値に従って、プロセッサD104に電圧を供給するためのプロセッサD電源配線234と電気的に接続する電源配線を選択するスイッチである。電源制御ブロック111は、また、仮想計算機システム100がリセットされた場合には、スイッチ設定レジスタ210に初期値が代入されることで、プロセッサA101に1.2Vの電圧を供給し、プロセッサB102に1.0Vの電圧を供給し、プロセッサC103とプロセッサD104とに0Vの電圧を供給する機能を有する。再び図1に戻って、仮想計算機システム100の主要なハードウエア構成の説明を続ける。クロック制御ブロック112は、内部バス120とプロセッサA101とプロセッサB102とプロセッサC103とプロセッサD104と接続し、プロセッサA101、プロセッサB102、プロセッサC103、又はプロセッサD104によって制御され、プロセッサA101~プロセッサD104へ供給するクロック信号の周波数を切り換える機能を有する。図3は、クロック制御ブロック112の主要なハードウエア構成を示す構成図である。同図に示す通り、クロック制御ブロック112は、セレクタ設定レジスタ310と1GHzPLLPhaseLockedLoop301と1/2分周回路302とセレクタ311とセレクタ312とセレクタ313とセレクタ314とから構成される。セレクタ設定レジスタ310は、内部バス120とセレクタ311とセレクタ312とセレクタ313とセレクタ314とに接続し、プロセッサA101、プロセッサB102、プロセッサC103、又はプロセッサD104によって値を書き込まれる8ビットのレジスタである。1GHzPLL301は、1/2分周回路302とセレクタ311とセレクタ312とセレクタ313とセレクタ314とに接続し、1GHzの周波数のクロック信号を生成して出力する機能を有する。1/2分周回路302は、1GHzPLL301とセレクタ311とセレクタ312とセレクタ313とセレクタ314とに接続し、入力される1GHzの周波数のクロック信号を2分周し、500MHzの周波数のクロック信号を出力する機能を有する。セレクタ311は、セレクタ設定レジスタ310と1GHzPLL301と1/2分周回路302とグラウンド303とプロセッサA101にクロック信号を供給するためのプロセッサAクロック配線321とに接続し、セレクタ設定レジスタ310の0ビット目と1ビット目とに書き込まれている値に従って、1GHzの周波数のクロック信号と500MHzの周波数のクロック信号と0MHzの周波数のクロック信号とのうちの一つのクロック信号を選択して、プロセッサAクロック配線321を介してプロセッサA101に出力するセレクタである。セレクタ312~セレクタ314は、それぞれセレクタ311と同様のセレクタである。セレクタ312は、セレクタ設定レジスタ310の2ビット目と3ビット目とに書き込まれている値に従って、プロセッサBクロック配線322を介してプロセッサB102に出力するクロック信号を選択して出力するセレクタであって、セレクタ313は、セレクタ設定レジスタ310の4ビット目と5ビット目とに書き込まれている値に従って、プロセッサCクロック配線323を介してプロセッサC103に出力するクロック信号を選択して出力するセレクタであって、セレクタ314は、セレクタ設定レジスタ310の6ビット目と7ビット目とに書き込まれている値に従って、プロセッサDクロック配線324を介してプロセッサD104に出力するクロック信号を選択して出力するセレクタである。クロック制御ブロック112は、また、仮想計算機システム100がリセットされた場合には、セレクタ設定レジスタ310に初期値が代入されることで、プロセッサA101に1GHzのクロック信号を出力し、プロセッサB102に500MHzのクロック信号を出力し、プロセッサC103とプロセッサD104とに0Hzのクロック信号を供給する機能を有する。再び図1に戻って、仮想計算機システム100の主要なハードウエア構成の説明を続ける。ROM113は、内部バス120と接続し、プロセッサA101~プロセッサD104の動作を規定するプログラムと、プロセッサA101~プロセッサD104が利用するデータとを記憶している。RAM114は、内部バス120と接続し、プロセッサA101~プロセッサD104の動作を規定するプログラムと、プロセッサA101~プロセッサD104がプログラムを実行することに伴って発生するデータとを一時的に記憶する。ハードディスク装置インターフェース115と出力装置インターフェース116と入力装置インターフェース117とは、それぞれ内部バス120と接続し、それぞれ内部バス120とハードディスク装置130との間の信号のやり取りを仲介する機能、内部バス120と出力装置131との間の信号のやり取りを仲介する機能、内部バス120と入力装置132との間の信号のやり取りを仲介する機能を有する。内部バス120は、プロセッサA101とプロセッサB102とプロセッサC103とプロセッサD104と電源制御ブロック111とクロック制御ブロック112とROM113とRAM114とハードディスク装置インターフェース115と出力装置インターフェース116と入力装置インターフェース117とに接続し、接続される回路間の信号を伝達する機能を有する。ハードディスク装置130は、ハードディスク装置インターフェース115と接続し、プロセッサA101、プロセッサB102、プロセッサC103、又はプロセッサD104によって制御され、内蔵するハードディスクにデータを書き込む機能と、内蔵するハードディスクに書き込まれているデータを読み出す機能とを有する。出力装置131は、出力装置インターフェース116と接続し、プロセッサA101、プロセッサB102、プロセッサC103、又はプロセッサD104によって制御され、内蔵するディスプレイを用いて文字列等を表示する機能を有する。入力装置132は、入力装置インターフェース107と接続し、プロセッサA101、プロセッサB102、プロセッサC103、又はプロセッサD104によって制御され、付属するキーボード、マウスなどを通じてユーザからの操作コマンドを受け付け、受け付けた操作コマンドをプロセッサA101、プロセッサB102、プロセッサC103、又はプロセッサD104に送信する機能を有する。上述の仮想計算機システム100は、プロセッサA101、プロセッサB102、プロセッサC103、又はプロセッサD104が、ROM113、RAM114、又はハードディスク装置130に記憶されているプログラムを実行することによって、様々な機能を実現する。以下、上述のハードウエアによって実現される仮想計算機システム100の機能について、図面を用いて説明する。図4は、仮想計算機システム100を構成する主要な機能ブロックを示す機能構成図に、プロセッサA101に3つの仮想計算機が割り当てられ、プロセッサC103に1つの仮想計算機が割り当てられている状態を示す模式図を加えた図である。同図に示すように、仮想計算機システム100は、ハイパーバイザ440と複数の仮想計算機ここでは、仮想計算機A411と仮想計算機B412と仮想計算機C413と仮想計算機D414とから構成されている。仮想計算機A411は、仮想計算機システム100上で実現される仮想計算機であって、第1OSOperatingSystem421とタスクA431とタスクB432とが動作し、ここでは、プロセッサA101に割り当てられて動作している。仮想計算機B412は、仮想計算機システム100上で実現される仮想計算機であって、第2OS422とタスクI433とタスクJ434とが動作し、ここではプロセッサA101に割り当てられて動作している。仮想計算機C413は、仮想計算機システム100上で実現される仮想計算機であって、第3OS423とタスクM435とタスクN436とが動作し、ここではプロセッサA101に割り当てられて動作している。仮想計算機A411と仮想計算機B412と仮想計算機C413とは、プロセッサA101が時分割方式で順番に繰り返して各仮想計算機に係る処理を行うことによって実現されている。仮想計算機D414は、仮想計算機システム100上で実現される仮想計算機であって、第4OS424とタスクP437とタスクQ438とが動作し、ここではプロセッサC103に割り当てられて動作している。ハイパーバイザ440は、負荷監視手段441と仮想計算機割当手段442と仮想計算機管理手段443とプロセッサ管理手段444と仮想計算機情報記憶手段445とプロセッサ情報記憶手段446とから構成される、OSよりも特権レベルの高いソフトウエアである。負荷監視手段441は、仮想計算機で動作しているOSのそれぞれと仮想計算機管理手段443とに接続し、時間の経過を計測するタイマ機能と、所定時間T1例えば100μs毎に、各OSからそのOSによって管理されるタスク待ち行列に存在するタスクの数を取得し、OSから取得したタスクの数の情報と、そのOSが動作する仮想計算機を特定するための仮想計算機IDとの組を仮想計算機管理手段443に出力する機能とを有する。仮想計算機管理手段443は、負荷監視手段441と仮想計算機割当手段442と仮想計算機情報記憶手段445とに接続し、以下の4つの機能を有する。機能1:ハイパーバイザ440起動時に、実行対象となる仮想計算機の全てがプロセッサA101と対応付けられるように仮想計算機情報を生成し、生成した仮想計算機情報を仮想計算機情報記憶手段445に記憶させる機能。機能2:負荷監視手段441から、タスクの数の情報と仮想計算機IDとの組を受け取ると、受け取ったタスクの数の情報と仮想計算機IDとの組に基づいて、仮想計算機情報記憶手段445に記憶されている仮想計算機情報を更新する機能。機能3:負荷監視手段441から受け取ったタスクの数の情報と仮想計算機IDとの組に基づいて、仮想計算機情報記憶手段445に記憶されている仮想計算機情報を更新した場合において、更新前のタスクの数と更新後のタスクの数とで変化しているものがあるとき、そのタスクの数に対応する仮想計算機IDを、仮想計算機割当手段442に出力する機能。機能4:仮想計算機割当手段442から、仮想計算機IDとプロセッサIDとの組を受け取ると、受け取った仮想計算機IDとプロセッサIDとの組に基づいて、仮想計算機情報記憶手段445に記憶されている仮想計算機情報を更新する機能。図5は、仮想計算機管理手段443によって生成され、仮想計算機情報記憶手段445によって記憶される仮想計算機情報のデータ構成図である。同図に示されるように、仮想計算機情報は、仮想計算機ID501とタスク数502とプロセッサID503とが対応付けられたものである。仮想計算機ID501は、仮想計算機を特定するための情報である。タスク数502は、対応する仮想計算機IDで特定される仮想計算機で動作するOSによって管理されるタスク待ち行列に存在するタスクの数を示す情報である。プロセッサID503は、対応する仮想計算機IDで特定される仮想計算機が動作するプロセッサを特定するための情報である。再び、図4に戻って仮想計算機システム100の機能構成の説明を続ける。仮想計算機情報記憶手段445は、仮想計算機管理手段443と仮想計算機割当手段442とに接続し、仮想計算機情報を記憶するための記憶領域であって、RAM114の一部の領域として実装されている。プロセッサ管理手段444は、仮想計算機割当手段442とプロセッサ情報記憶手段446とに接続し、以下の3つの機能を有する。機能1:ハイパーバイザ440起動時に、プロセッサA101の属性が共有後述となり、プロセッサB102の属性が待機となり、プロセッサC103とプロセッサD104との属性がそれぞれオフとなり、プロセッサA101に対応付けられる仮想計算機数が実行対象となる仮想計算機の総数を示す情報となり、プロセッサB102とプロセッサC103とプロセッサD104とのそれぞれに対応付けられる仮想計算機数が、それぞれ初期値である0を示す情報となるようにプロセッサ情報を生成し、生成したプロセッサ情報をプロセッサ情報記憶手段446に記憶させる機能。機能2:仮想計算機割当手段442から、プロセッサIDと属性との組を受け取ると、受け取ったプロセッサIDと属性との組に基づいて、プロセッサ情報記憶手段446に記憶されているプロセッサ情報を更新する機能。機能3:プロセッサ情報記憶手段446に記憶されているプロセッサ情報に基づいて、各プロセッサにクロック信号と電源電圧とを供給する機能。図6は、プロセッサ管理手段444によって生成され、プロセッサ情報記憶手段446に記憶されるプロセッサ情報のデータ構成図である。同図に示されるように、プロセッサ情報は、プロセッサID601と属性602と仮想計算機数603とが対応付けられたものである。プロセッサID601は、プロセッサを特定するための情報である。属性602は、対応するプロセッサIDで特定されるプロセッサの属性を示す情報である。プロセッサA101~プロセッサD104のそれぞれは、専有、共有、待機、オフの4つの属性のうちの1つの属性を対応付けられる。専有属性は、プロセッサの状態が、電源電圧が1.2Vで動作周波数が1GHzで動作する通常動作モードで動作し、自プロセッサ上で動作する仮想計算機の数を1つに限定する状態となることを示す属性である。共有属性は、プロセッサの状態が、電源電圧が1.2Vで動作周波数が1GHzで動作する通常動作モードで動作し、自プロセッサ上で動作する仮想計算機の数を1以上とする状態となることを示す属性である。共有属性のプロセッサ上で動作する仮想計算機が複数の場合には、プロセッサは、時分割方式で仮想計算機を実行させる。待機属性は、プロセッサの状態が、電源電圧が1.0Vで動作周波数が500MHzで動作する省電力モードで動作し、自プロセッサ上で仮想計算機を動作させない状態となることを示す属性である。オフ属性は、プロセッサの状態が動作しない状態、すなわち、0Vの電源電圧が供給される状態となることを示す属性である。仮想計算機数603は、対応するプロセッサIDで特定されるプロセッサ上で動作する仮想計算機の数を示す情報である。再び、図4に戻って仮想計算機システム100の機能構成の説明を続ける。プロセッサ情報記憶手段446は、プロセッサ管理手段444と接続し、プロセッサ情報を記憶するための記憶領域であって、RAM114の一部の領域として実装される。仮想計算機割当手段442は、仮想計算機管理手段443とプロセッサ管理手段444と仮想計算機情報記憶手段445とプロセッサ情報記憶手段446とに接続し、以下の4つの機能を有する。機能1:仮想計算機情報記憶手段445に記憶されている仮想計算機情報と、プロセッサ情報記憶手段446に記憶されているプロセッサ情報とに基づいて、プロセッサの属性を変更する機能。機能2:プロセッサの属性を変更した場合に、属性を変更したプロセッサを特定するためのプロセッサIDと変更後の属性との組を、プロセッサ管理手段444に出力する機能。機能3:仮想計算機情報記憶手段445に記憶されている仮想計算機情報に基づいて、プロセッサ上で動作している仮想計算機を他のプロセッサに移動して、その移動先のプロセッサでその仮想計算機を動作させる機能。機能4:仮想計算機を移動させた場合に、移動させた仮想計算機を特定するための仮想計算機IDと、移動後のプロセッサを特定するためのプロセッサIDとの組を、プロセッサ管理手段444に出力する機能。以上のように構成される仮想計算機システム100の行う動作について、以下、図面を参照しながら説明する。<動作>ここでは、仮想計算機システム100の行う動作のうち、特徴的な動作である、システム起動処理と、システム更新処理とについて説明する。<システム起動処理>システム起動処理は、仮想計算機システム100がリセットされた場合に、仮想計算機システム100を起動する処理である。図7は、システム起動処理のフローチャートである。仮想計算機システム100がリセットされると、電源制御ブロック111は、プロセッサA101に1.2Vの電源電圧を供給し、プロセッサB102に1.0Vの電源電圧を供給し、クロック制御ブロック112は、プロセッサA101に1GHzのクロック信号を供給し、プロセッサB102に500MHzのクロック信号を供給し、プロセッサA101とプロセッサB102とが起動するステップS700。プロセッサA101が起動すると、プロセッサA101は、ハイパーバイザ440を起動するステップS710。ハイパーバイザ440が起動すると、仮想計算機管理手段443は、実行対象となる仮想計算機の全てがプロセッサA101と対応付けられるように仮想計算機情報を生成し、生成した仮想計算機情報を仮想計算機情報記憶手段445に記憶させるステップS720。このとき生成される仮想計算機情報のタスク数502には、それぞれ初期値である0を示す情報が代入される。ステップS720の処理が終了すると、プロセッサ管理手段444は、プロセッサA101の属性が共有となり、プロセッサB102の属性が待機となり、プロセッサC103とプロセッサD104との属性がそれぞれオフとなり、プロセッサA101に対応付けられる仮想計算機数が仮想計算機の総数を示す情報となり、プロセッサB102とプロセッサC103とプロセッサD104とのそれぞれに対応付けられる仮想計算機数が、それぞれ初期値である0を示す情報となるようにプロセッサ情報を生成し、生成したプロセッサ情報をプロセッサ情報記憶手段446に記憶させるステップS730。ステップS730の処理が終了すると、仮想計算機割当手段442は、仮想計算機情報記憶手段445に記憶されている仮想計算機情報に基づいて、プロセッサA101で全ての仮想計算機を動作させるステップS740。ステップS740の処理が終了すると、仮想計算機システム100は、そのシステム起動処理を終了する。<システム更新処理>システム更新処理は、各仮想計算機上で動作しているOSが管理する待ち行列のそれぞれに存在するタスクの数の変動に応じて、各プロセッサの属性を動的に変更し、各仮想計算機のプロセッサへの割り当てを動的に変更する処理である。図8は、システム更新処理のフローチャートである。負荷監視手段441は、仮想計算機システム100の稼働中に、タイマ機能を利用して所定時間T1例えば100μs毎に、各仮想計算機のOSによって管理されるタスク待ち行列に存在するタスクの数を取得しステップS800、OSから取得したタスクの数の情報と、そのOSが動作する仮想計算機を特定するための仮想計算機IDとの組を仮想計算機管理手段443に出力する。ステップS800の処理が終了すると、負荷監視手段441は、タイマを起動して、新たに所定時間T1例えば100μsの計測を開始するステップS810。ステップS810の処理が終了すると、仮想計算機管理手段443は、受け取ったタスクの数の情報と仮想計算機IDとの組に基づいて、仮想計算機情報記憶手段445に記憶されている仮想計算機情報を更新するステップS820。ステップS820の処理が終わると、仮想計算機管理手段443は、更新前のタスク数と更新後のタスク数とで変化しているものがあるか否かを調べるステップS830。ステップS830の処理において、更新前のタスク数と更新後のタスク数とで変化しているものがある場合にステップS830:Yes、仮想計算機管理手段443は、そのタスク数に対応する仮想計算機IDを仮想計算機割当手段442に出力し、仮想計算機システム100は、仮想計算機割当処理を実施するステップS840。図9、図10は、仮想計算機システム100の行う仮想計算機割当処理のフローチャートである。仮想計算機割当手段442は、変化しているタスク数に対応する仮想計算機IDを受け取ると、受け取った仮想計算機IDの中から1つを選択する。仮想計算機割当手段442は、仮想計算機IDを1つ選択すると、仮想計算機情報記憶手段445に記憶されている仮想計算機情報と、プロセッサ情報記憶手段446に記憶されているプロセッサ情報とを読み出して、選択している仮想計算機IDによって特定される仮想計算機が動作しているプロセッサの属性が共有であるか否かを調べるステップS900。ステップS900の処理において、選択している仮想計算機IDによって特定される仮想計算機が動作しているプロセッサの属性が共有である場合にステップS900:Yes、仮想計算機割当手段442は、その仮想計算機に対応付けられているタスク数が第1所定量例えば30以上であるか否かを調べるステップS910。ステップS910の処理において、タスク数が第1所定量例えば30以上の場合にステップS910:Yes、仮想計算機割当手段442は、選択している仮想計算機IDによって特定される仮想計算機が動作しているプロセッサに、他の仮想計算機が割り当てられて動作しているか否かを調べるステップS920。ステップS920の処理において、プロセッサに他の仮想計算機が割り当てられて動作している場合にステップS920:Yes、仮想計算機割当手段442は、待機属性のプロセッサが存在するか否かを調べるステップS930。ステップS930において、待機属性のプロセッサが存在する場合にステップS930:Yes、仮想計算機割当手段442は、その待機属性のプロセッサの属性が専有となるように、プロセッサ管理手段444を用いて、プロセッサ情報記憶手段446に記憶されているプロセッサ情報を更新するステップS940。ステップS940の処理が終わると、仮想計算機割当手段442は、選択している仮想計算機IDによって特定される仮想計算機を割り当てられて実行するプロセッサを、その仮想計算機が現在割り当てられて動作しているプロセッサ以後、移動元プロセッサと呼ぶ。から、ステップS940の処理において属性を待機から専有に更新されたプロセッサ以後、移動先プロセッサと呼ぶ。へと変更するステップS950:仮想計算機割当変更処理。図11は、仮想計算機システム100の行う仮想計算機割当変更処理のフローチャートである。仮想計算機システム100が仮想計算機割当変更処理を開始すると、仮想計算機割当手段442は、移動元プロセッサで対象となる仮想計算機が処理中であるか否かを調べるステップS1100。ステップS1100において、移動元プロセッサで対象となる仮想計算機が処理中である場合にステップS1100:Yes、その処理中の仮想計算機の状態各種レジスタに記憶されているデータ等の、仮想計算機の処理を復旧させるために必要なデータ群を、RAM114の所定の領域に退避するステップS1110。ステップS1100において、移動元プロセッサで対象となる仮想計算機が処理中でない場合にステップS1100:Noは、その仮想計算機は、時分割方式における退避状態となっているため、その仮想計算機の状態はRAM114の所定の領域に退避されているステップS1120。ステップS1110の処理が終了した場合、又はステップS1120の処理が終了した場合に、仮想計算機割当手段442は、移動先プロセッサで仮想計算機が動作中であるか否かを調べるステップS1130。ステップS1130の処理において、移動先プロセッサで仮想計算機が動作中である場合にステップS1130:Yes、仮想計算機割当手段442は、移動先プロセッサの時分割処理において、対象となる仮想計算機の処理が行われる時間になると、退避されている仮想計算機の状態を利用して、移動先プロセッサで対象となる仮想計算機を復旧させて動作させるステップS1140。ステップS1130の処理において、移動先プロセッサで仮想計算機が動作中でない場合にステップS1130:No、仮想計算機割当手段442は、退避されている仮想計算機の状態を利用して、移動先プロセッサで対象となる仮想計算機を復旧させて動作させるステップS1150。ステップS1140の処理が終了した場合、又はステップS1150の処理が終了した場合に、仮想計算機システム100は、その仮想計算機割当変更処理を終了する。再び、図9に戻って仮想計算機割当処理の説明を続ける。ステップS950の処理が終了した場合、又はステップS930の処理において、待機属性のプロセッサが存在しない場合にステップS930:No、仮想計算機割当手段442は、オフ属性のプロセッサが存在するか否かを調べるステップS960。ステップS960の処理において、オフ属性のプロセッサが存在する場合にステップS960:Yes、仮想計算機割当手段442は、そのオフ属性のプロセッサの属性が待機となるように、プロセッサ管理手段444を用いて、プロセッサ情報記憶手段446に記憶されているプロセッサ情報を更新するステップS970。ステップS920の処理において、プロセッサに他の仮想計算機が割り当てられて動作していない場合にステップS920:No、仮想計算機割当手段442は、その共有属性のプロセッサの属性が専有となるように、プロセッサ管理手段444を用いて、プロセッサ情報記憶手段446に記憶されているプロセッサ情報を更新するステップS990。ステップS900の処理において、選択している仮想計算機IDによって特定される仮想計算機が動作しているプロセッサの属性が共有でない場合、すなわち、属性が専有である場合にステップS900:No、仮想計算機割当手段442は、その仮想計算機に対応付けられているタスク数が第2所定量例えば25以下であるか否かを調べる図10のステップS1000。ステップS1000の処理において、タスク数が第2所定量例えば25以下の場合にステップS1000:Yes、仮想計算機割当手段442は、共有属性のプロセッサが存在するか否かを調べるステップS1010。ステップS1010の処理において、共有属性のプロセッサが存在する場合にステップS1010:Yes、仮想計算機システム100は、選択している仮想計算機IDによって特定される仮想計算機を割り当てられて実行するプロセッサを移動元プロセッサとし、共有属性のプロセッサを移動先プロセッサとして、前述の仮想計算機割当処理図11参照を実行するステップS1020。ステップS1020の処理が終了すると、仮想計算機割当手段442は、移動元プロセッサの属性がオフとなるように、プロセッサ管理手段444を用いて、プロセッサ情報記憶手段446に記憶されているプロセッサ情報を更新するステップS1030。ステップS1010の処理において、共有属性のプロセッサが存在しない場合にステップS1010:No、仮想計算機割当手段442は、選択している仮想計算機IDによって特定される仮想計算機を割り当てられて実行するプロセッサの属性が共有となるように、プロセッサ管理手段444を用いて、プロセッサ情報記憶手段446に記憶されているプロセッサ情報を更新するステップS1040。ステップS910の処理においてタスク数が第1所定量例えば30以上でない場合ステップS910:No、ステップS990の処理が終了した場合、ステップS960の処理においてオフ属性のプロセッサが存在しない場合ステップS960:No、ステップS1000の処理において、タスク数が第2所定量例えば25以下でない場合ステップS1000:No、ステップS1030の処理が終了した場合、又はステップS1040の処理が終了した場合に、仮想計算機割当手段442は、受け取った仮想計算機IDの中に未だ選択したことのない仮想計算機IDがあるか否かを調べる図9のステップS980。ステップS980の処理において、未だ選択したことのない仮想計算機IDが存在する場合にステップS980:Yes、仮想計算機割当手段442は、未だ選択したことのない仮想計算機IDのうちの1つを選択し、再びステップS900の処理に戻って、ステップS900以降の処理を行う。ステップS980の処理において、未だ選択したことのない仮想計算機IDが存在しない場合にステップS980:No、仮想計算機システム100は、その仮想計算機割当処理を終了する。再び図8に戻って、システム更新処理の説明を続ける。ステップS840の処理が終了すると、プロセッサ管理手段444は、ステップS840の仮想計算機割当処理において、プロセッサ情報記憶手段446に記憶されているプロセッサ情報の属性が更新されたプロセッサが存在するか否かを調べるステップS850。ステップS850の処理において、プロセッサ情報の属性が更新されていた場合にステップS850:Yes、プロセッサ管理手段444は、属性が更新されていたプロセッサのそれぞれに対して、プロセッサ更新処理を実施するステップS860。図12は、プロセッサ管理手段444の行うプロセッサ更新処理のフローチャートである。プロセッサ更新処理が開始されると、プロセッサ管理手段444は、対象となるプロセッサの現在の属性が専有又は共有であるか否かを調べるステップS1200。ステップS1200の処理において、対象となるプロセッサの現在の属性が専有又は共有である場合にはステップS1200:Yes、そのプロセッサに供給する電源電圧が1.2Vとなるように変更、又は継続し、供給するクロック信号の周波数が1GHzとなるように変更、又は継続するステップS1210。ステップS1200の処理において、対象となるプロセッサの現在の属性が専有又は共有でない場合にはステップS1200:No、プロセッサ管理手段444は、対象となるプロセッサの現在の属性が待機であるか否かを調べるステップS1220。ステップS1220の処理において、対象となるプロセッサの現在の属性が待機である場合にはステップS1220:Yes、プロセッサ管理手段444は、そのプロセッサに供給する電源電圧が1.0Vとなるように変更し、供給するクロック信号の周波数が500MHzとなるように変更するステップS1230。ステップS1220の処理において、対象となるプロセッサの現在の属性が待機でない場合にはステップS1220:No、プロセッサ管理手段444は、そのプロセッサに供給する電源電圧が0Vとなるように変更し、供給するクロック信号の周波数が0Hzとなるように変更するステップS1240。ステップS1210の処理が終了した場合、ステップS1230の処理が終了した場合、ステップS1240の処理が終了した場合に、プロセッサ管理手段444は、そのプロセッサ更新処理を終了する。再び図8に戻って、システム更新処理の説明を続ける。ステップS830の処理において更新前のタスク数と更新後のタスク数とで変化しているものがない場合ステップS830:No、ステップS850の処理においてプロセッサ情報の属性が更新されてなかった場合ステップS850:No、又はステップS860の処理が終了した場合に、負荷監視手段441は、起動中のタイマで計測している時間が所定時間T1例えば100μsとなるまで待機するステップS870。計測している時間が所定時間T1例えば100μsとなると、負荷監視手段441は再びステップS800の処理に戻り、ステップS800以下の処理を行う。<具体例>以下、上述のシステム更新処理について、具体例を用いて説明を補足する。この具体例は、時刻t1に、仮想計算機情報記憶手段445に記憶されている仮想計算機情報が図13に示されるものであり、プロセッサ情報記憶手段446に記憶されているプロセッサ情報が図14に示されるものであって、仮想計算機A411と仮想計算機B412と仮想計算機C413とがプロセッサA101に割り当てられて実行され、プロセッサB102が省電力モードで起動しつつ新たな仮想計算機の割り当てに備えて待機し、プロセッサC103とプロセッサD104とは電源が供給されていない状態となっている場合において図15参照、時刻t2に、第3OS423が管理するタスク待ち行列に存在するタスク数が5から40に変化したときの例である。時刻t2以降において負荷監視手段441が各仮想計算機のOSによって管理されるタスク待ち行列に存在するタスク数を取得する最初のタイミングになると、負荷監視手段441は、各仮想計算機のOSによって管理されるタスク待ち行列に存在するタスク数を取得して、タイマを起動し、仮想計算機管理手段443が仮想計算機情報を更新するステップS800~ステップS820。更新された仮想計算機情報は、図16に示されるものとなる。仮想計算機C413のタスク数が5から40に変化しているのでステップS830:Yes、仮想計算機システム100は、仮想計算機割当処理を実施するステップS840。仮想計算機C413が動作するプロセッサA101の属性は共有で図14参照、ステップS900:Yes、タスク数が第1所定量例えば30以上で図16参照、ステップS910:Yes、プロセッサA101に他のプロセッサが割り当てられていてステップS920:Yes、待機属性のプロセッサB102が存在する図14参照、ステップS930:Yesので、仮想計算機割当手段442は、プロセッサB102の属性を専有に変更してプロセッサ情報を更新してステップS940、仮想計算機割当処理ステップS950を実行する。仮想計算機割当手段442は、仮想計算機C413がプロセッサA101に割り当てられて動作している状態を、仮想計算機C413がプロセッサB102に割り当てられて動作している状態に変更するステップS1100~ステップS1140。プロセッサC103の属性はオフなのでステップS960:Yes、プロセッサC103の属性を待機に変更してプロセッサ情報を更新するステップS970。他にタスク数が変化している仮想計算機がないのでステップS980:No、仮想計算機割当手段442は、仮想計算機割当処理を終了し、プロセッサ管理手段444は、プロセッサ情報の属性が更新されたプロセッサが存在するか否かを調べるステップS850。この時のプロセッサ情報記憶手段446に記憶されているプロセッサ情報は図17に示されるものとなっており、プロセッサB102とプロセッサC103との属性が変更されていることがわかるステップS850:Yes。プロセッサB102の属性は専有なのでステップS1200:Yes、プロセッサ管理手段444は、プロセッサB102に供給する電源電圧を1.0Vから1.2Vに変更し、プロセッサB102に供給するクロック信号の周波数を500MHzから1GHzに変更しステップS1210、プロセッサB102を通常動作モードとする。プロセッサC103の属性は待機なので、ステップS1200:No~ステップS1220:Yes、プロセッサ管理手段444は、プロセッサC103に1.0Vの電源電圧を供給し、500MHzのクロック信号を供給して、プロセッサC103を省電力モードで動作させる図18参照。その後、負荷監視手段441は、起動中のタイマで計測している時間が所定時間T1例えば100μsとなるまで待機するステップS870。<まとめ>上述の仮想計算機システム100によれば、仮想計算機が割り当てられていないプロセッサに新たに仮想計算機を割り当てて動作させる必要が生じる場合に、仮想計算機が割り当てられていないプロセッサのうち、待機属性として既に起動中のプロセッサに仮想計算機を割り当てて動作させることとなる。従って、新たに仮想計算機を割り当てられたプロセッサが処理を開始するまでに数ミリ秒もの時間を要することがない。また、上述の仮想計算機システム100によれば、仮想計算機が割り当てられていないプロセッサが複数ある場合に、1つのプロセッサを待機属性として起動させ、他のプロセッサの電源をオフとすることとなる。従って、仮想計算機が割り当てられていないプロセッサの全てに電源を供給する方式の仮想計算機システムに比べて、仮想計算機が割り当てられていないプロセッサの数が多くなっても、仮想計算機に係る処理を行うことのないプロセッサによる消費電力が大きくなることがない。また、上述の仮想計算機システム100によれば、待機属性として起動されているプロセッサは、通常モードよりも消費電力の少ない省電力モードで動作することとなる。従って、新たに仮想計算機を割り当てられる場合に備えて待機している起動中のプロセッサが、通常モードで動作する方式の仮想計算機システムに比べて、仮想計算機に係る処理を行うことのないプロセッサによる消費電力を低く抑えることができる。<実施の形態2><概要>以下、本発明に係る仮想計算機システムの一実施形態として、実施の形態1における仮想計算機システム100の一部を変形した変形仮想計算機システムについて説明する。実施の形態1における仮想計算機システム100は、4つのプロセッサを備えているものであったが、この変形仮想計算機は、4つのプロセッサに替えて、3つの省電力プロセッサと3つの高性能プロセッサとを備えている。ここで、省電力プロセッサと高性能プロセッサとは、同じISAInstructionSetArchitectureを持つプロセッサである。省電力プロセッサは、高性能プロセッサよりも消費電力は小さいが、処理能力が小さい。この変形仮想計算機システムは、複数の仮想計算機を並列に実行し、複数の省電力プロセッサに仮想計算機が割り当てられていない場合に、次に新たな省電力プロセッサに仮想計算機を割り当てる場合に備えて、仮想計算機が割り当てられていない省電力プロセッサのうちの1つのプロセッサに電力を供給して待機状態としておき、その他の仮想計算機が割り当てられていない省電力プロセッサに電力を供給しないという制御を行い、複数の高性能プロセッサに仮想計算機が割り当てられていない場合に、次に新たな高性能プロセッサに仮想計算機を割り当てる場合に備えて、仮想計算機が割り当てられていない高性能プロセッサのうちの1つのプロセッサに電力を供給して待機状態としておき、その他の仮想計算機が割り当てられていない高性能プロセッサに電力を供給しないという制御を行うというものである。以下、本実施の形態2に係る変形仮想計算機システムの構成について図面を参照しながら、実施の形態1にける仮想計算機システム100との相違点を中心に説明する。図19は、変形仮想計算機システム1900の主要なハードウエア構成を示すブロック図である。同図に示すように、変形仮想計算機システム1900は、実施の形態1における仮想計算機システム100から、システムLSI110をシステムLSI1910に変更するように変形したものである。システムLSI1910は、実施の形態1におけるシステムLSI110から、電源制御ブロック111を電源制御ブロック1911に変形し、クロック制御ブロック112をクロック制御ブロック1912に変形し、プロセッサA101~プロセッサD104を削除し、省電力プロセッサA1901と省電力プロセッサB1902と省電力プロセッサC1903と高性能プロセッサA1904と高性能プロセッサB1905と高性能プロセッサC1906とを追加したものである。省電力プロセッサA1901と省電力プロセッサB1902と省電力プロセッサC1903とは、それぞれ内部バス120と電源制御ブロック1911とクロック制御ブロック1912とに接続し、それぞれROM113、RAM114、又はハードディスク装置130に記憶されているプログラムを実行することで、電源制御ブロック1911とクロック制御ブロック1912とROM113とRAM114とハードディスク装置130と出力装置131と入力装置132とを制御して、様々な機能を実現する。省電力プロセッサA1901~省電力プロセッサC1903は、それぞれ同じ機能を有するプロセッサであって、電源電圧が1.0Vで動作周波数が500MHzで動作する通常動作モードと、電源電圧が0.8Vで動作周波数が250MHzで動作する省電力モードとの2つのモードを有する。また、省電力プロセッサA1901~省電力プロセッサC1903は、供給される電源の電圧が0Vから0.8V以上に変化し、クロック信号が供給されるとことで起動する。高性能プロセッサA1904と高性能プロセッサB1905と高性能プロセッサC1906とは、それぞれ内部バス120と電源制御ブロック1911とクロック制御ブロック1912とに接続し、それぞれROM113、RAM114、又はハードディスク装置130に記憶されているプログラムを実行することで、電源制御ブロック1911とクロック制御ブロック1912とROM113とRAM114とハードディスク装置130と出力装置131と入力装置132とを制御して、様々な機能を実現する。高性能プロセッサA1904~高性能プロセッサC1906は、省電力プロセッサA1901~省電力プロセッサC1903と同じISAを持つプロセッサであって、それぞれ同じ機能を有し、電源電圧が1.2Vで動作周波数が1GHzで動作する通常動作モードと、電源電圧が1.0Vで動作周波数が500MHzで動作する省電力モードとの2つのモードを有する。また、高性能プロセッサA1904~高性能プロセッサC1906は、供給される電源の電圧が0Vから1.0V以上に変化し、クロック信号が供給されるとことで起動する。電源制御ブロック1911は、内部バス120と省電力プロセッサA1901と省電力プロセッサB1902と省電力プロセッサC1903と高性能プロセッサA1904と高性能プロセッサB1905と高性能プロセッサC1906とに接続し、省電力プロセッサA1901、省電力プロセッサB1902、省電力プロセッサC1903、高性能プロセッサA1904、高性能プロセッサB1905、又は高性能プロセッサC1906によって制御され、省電力プロセッサA1901~省電力プロセッサC1903、高性能プロセッサA1904~高性能プロセッサC1906へ供給する電源の電圧を切り換える機能を有する。図20は、電源制御ブロック1911の主要なハードウエア構成を示す構成図である。同図に示す通り、電源制御ブロック1911は、スイッチ設定レジスタ2010と電源スイッチ2011と電源スイッチ2012と電源スイッチ2013と電源スイッチ2014と電源スイッチ2015と電源スイッチ2016とから構成される。スイッチ設定レジスタ2010は、内部バス120と電源スイッチ2011と電源スイッチ2012と電源スイッチ2013と電源スイッチ2014と電源スイッチ2015と電源スイッチ2016とに接続し、省電力プロセッサA1901、省電力プロセッサB1902、省電力プロセッサC1903、高性能プロセッサA1904、高性能プロセッサB1905、又は高性能プロセッサC1906によって値を書き込まれる12ビットのレジスタである。電源スイッチ2011は、スイッチ設定レジスタ2010と1.2Vの電圧を供給する1.2V電源配線221と1.0Vの電圧を供給する1.0V電源配線222と0Vの電圧を供給するグラウンド配線223と高性能プロセッサA1904に電圧を供給するための高性能プロセッサA電源配線2031とに接続し、スイッチ設定レジスタ2010の0ビット目と1ビット目とに書き込まれている値に従って、1.2V電源配線221と1.0V電源配線222とグラウンド配線223との3つの配線のうちの一つの配線を選択して、選択する配線と高性能プロセッサA電源配線2031とを電気的に接続するスイッチである。電源スイッチ2012と電源スイッチ2013とは、それぞれ電源スイッチ2011と同様のスイッチである。電源スイッチ2012は、スイッチ設定レジスタ2010の2ビット目と3ビット目とに書き込まれている値に従って、高性能プロセッサB1905に電圧を供給するための高性能プロセッサB電源配線2032と電気的に接続する電源配線を選択するスイッチであって、電源スイッチ2013は、スイッチ設定レジスタ2010の4ビット目と5ビット目とに書き込まれている値に従って、高性能プロセッサC1906に電圧を供給するための高性能プロセッサC電源配線2033と電気的に接続する電源配線を選択するスイッチである。電源スイッチ2014は、スイッチ設定レジスタ2010と1.0Vの電圧を供給する1.0V電源配線222と0.8Vの電圧を供給する0.8V電源配線2024と0Vの電圧を供給するグラウンド配線223と省電力プロセッサA1901に電圧を供給するための省電力プロセッサA電源配線2034とに接続し、スイッチ設定レジスタ2010の6ビット目と7ビット目とに書き込まれている値に従って、1.0V電源配線222と0.8V電源配線2024とグラウンド配線223との3つの配線のうちの一つの配線を選択して、選択する配線と省電力プロセッサA電源配線2034とを電気的に接続するスイッチである。電源スイッチ2015と電源スイッチ2016とは、それぞれ電源スイッチ2014と同様のスイッチである。電源スイッチ2015は、スイッチ設定レジスタ2010の8ビット目と9ビット目とに書き込まれている値に従って、省電力プロセッサB1902に電圧を供給するための省電力プロセッサB電源配線2035と電気的に接続する電源配線を選択するスイッチであって、電源スイッチ2016は、スイッチ設定レジスタ2010の10ビット目と11ビット目とに書き込まれている値に従って、省電力プロセッサC1903に電圧を供給するための省電力プロセッサC電源配線2036と電気的に接続する電源配線を選択するスイッチである。電源制御ブロック1911は、また、変形仮想計算機システム1900がリセットされた場合には、スイッチ設定レジスタ2010に初期値が代入されることで、省電力プロセッサA1901に1.0Vの電圧を供給し、省電力プロセッサB1902と省電力プロセッサC1903と高性能プロセッサA1904と高性能プロセッサB1905と高性能プロセッサC1906とに0Vの電圧を供給する機能を有する。再び図19に戻って、変形仮想計算機システム1900の主要なハードウエア構成の説明を続ける。クロック制御ブロック1912は、内部バス120と省電力プロセッサA1901と省電力プロセッサB1902と省電力プロセッサC1903と高性能プロセッサA1904と高性能プロセッサB1905と高性能プロセッサC1906とに接続し、省電力プロセッサA1901、省電力プロセッサB1902、省電力プロセッサC1903、高性能プロセッサA1904、高性能プロセッサB1905、又は高性能プロセッサC1906によって制御され、省電力プロセッサA1901~省電力プロセッサC1903、高性能プロセッサA1904~高性能プロセッサC1906へ供給するクロック信号の周波数を切り換える機能を有する。図21は、クロック制御ブロック1912の主要なハードウエア構成を示す構成図である。同図に示す通り、クロック制御ブロック1912は、セレクタ設定レジスタ2110と1GHzPLL2101と1/2分周回路2102と1/4分周回路2103とセレクタ2111とセレクタ2112とセレクタ2113とセレクタ2114とセレクタ2115とセレクタ2116とから構成される。セレクタ設定レジスタ2110は、内部バス120とセレクタ2111とセレクタ2112とセレクタ2113とセレクタ2114とセレクタ2115とセレクタ2116とに接続し、省電力プロセッサA1901、省電力プロセッサB1902、省電力プロセッサC1903、高性能プロセッサA1904、高性能プロセッサB1905、又は高性能プロセッサC1906によって値を書き込まれる12ビットのレジスタである。1GHzPLL2101は、1/2分周回路2102と1/4分周回路2103とセレクタ2111とセレクタ2112とセレクタ2113とセレクタ2114とセレクタ2115とセレクタ2116とに接続し、実施の形態1における1GHzPLL301と同様に、1GHzの周波数のクロック信号を生成して出力する機能を有する。1/2分周回路2102は、1GHzPLL2101とセレクタ2111とセレクタ2112とセレクタ2113とに接続し、実施の形態1における1/2分周回路302と同様に、入力される1GHzの周波数のクロック信号を2分周し、500MHzの周波数のクロック信号を出力する機能を有する。1/4分周回路2103は、1GHzPLL2101とセレクタ2114とセレクタ2115とセレクタ2116とに接続し、入力される1GHzの周波数のクロック信号を4分周し、250MHzの周波数のクロック信号を出力する機能を有する。セレクタ2111は、セレクタ設定レジスタ2110と1GHzPLL2101と1/2分周回路2102とグラウンド303と高性能プロセッサA1904にクロック信号を供給するための高性能プロセッサAクロック配線2121とに接続し、セレクタ設定レジスタ2110の0ビット目と1ビット目とに書き込まれている値に従って、1GHzの周波数のクロック信号と500MHzの周波数のクロック信号と0MHzの周波数のクロック信号とのうちの一つのクロック信号を選択して、高性能プロセッサAクロック配線2121を介して高性能プロセッサA1904に出力するセレクタである。セレクタ2112とセレクタ2113とは、それぞれセレクタ2111と同様のセレクタである。セレクタ2112は、セレクタ設定レジスタ2110の2ビット目と3ビット目とに書き込まれている値に従って、高性能プロセッサBクロック配線2122を介して高性能プロセッサB1905に出力するクロック信号を選択して出力するセレクタであって、セレクタ2113は、セレクタ設定レジスタ2110の4ビット目と5ビット目とに書き込まれている値に従って、高性能プロセッサCクロック配線2123を介して高性能プロセッサC1906に出力するクロック信号を選択して出力するセレクタである。セレクタ2114は、セレクタ設定レジスタ2110と1/2分周回路2102と1/4分周回路2103とグラウンド303と省電力プロセッサA1901にクロック信号を供給するための省電力プロセッサAクロック配線2124とに接続し、セレクタ設定レジスタ2110の6ビット目と7ビット目とに書き込まれている値に従って、500MHzの周波数のクロック信号と250MHzの周波数のクロック信号と0MHzの周波数のクロック信号とのうちの一つのクロック信号を選択して、省電力プロセッサAクロック配線2124を介して省電力プロセッサA1901に出力するセレクタである。セレクタ2115とセレクタ2116とは、それぞれセレクタ2114と同様のセレクタである。セレクタ2115は、セレクタ設定レジスタ2110の8ビット目と9ビット目とに書き込まれている値に従って、省電力プロセッサBクロック配線2125を介して省電力プロセッサB1902に出力するクロック信号を選択して出力するセレクタであって、セレクタ2116は、セレクタ設定レジスタ2110の10ビット目と11ビット目とに書き込まれている値に従って、省電力プロセッサCクロック配線2126を介して省電力プロセッサC1903に出力するクロック信号を選択して出力するセレクタである。クロック制御ブロック1912は、また、変形仮想計算機システム1900がリセットされた場合には、セレクタ設定レジスタ2110に初期値が代入されることで、省電力プロセッサA1901に500MHzのクロック信号を出力し、省電力プロセッサB1902と省電力プロセッサC1903と高性能プロセッサA1904と高性能プロセッサB1905と高性能プロセッサC1906とに0Hzのクロック信号を供給する機能を有する。以下、上述のハードウエアによって実現される変形仮想計算機システム1900の機能について、図面を用いて説明する。図22は、変形仮想計算機システム1900を構成する主要な機能ブロックを示す機能構成図に、省電力プロセッサA1901と省電力プロセッサB1902と省電力プロセッサC1903とにそれぞれ1つの仮想計算機が割り当てられている状態を示す模式図を加えたものである。同図に示されるように、変形仮想計算機システム1900は、実施の形態1における仮想計算機システム100から、ハイパーバイザ440がハイパーバイザ2240に変形されたものである。ハイパーバイザ2240は、実施の形態1におけるハイパーバイザ440から仮想計算機割当手段442を仮想計算機割当手段2242に変更し、仮想計算機管理手段443を仮想計算機管理手段2243に変更し、プロセッサ管理手段444をプロセッサ管理手段2244に変更するように変形したものである。仮想計算機管理手段2243は、実施の形態1における仮想計算機管理手段443の一部の機能を変形したものであり、負荷監視手段441と仮想計算機割当手段2242と仮想計算機情報記憶手段445とに接続し、仮想計算機管理手段443の機能2と機能3と機能4とに加え、以下の機能1aを有する。機能1a:ハイパーバイザ2240起動時に、実行対象となる全ての仮想計算機が、それぞれ1つのプロセッサと対応付けられるように仮想計算機情報を生成し、生成した仮想計算機情報を仮想計算機情報記憶手段に記憶させる機能。ここで、実行対象となる仮想計算機を割り当てていくプロセッサの順番は、省電力プロセッサA1901、省電力プロセッサB1902、省電力プロセッサC1903、高性能プロセッサA1904、高性能プロセッサB1905、高性能プロセッサC1906の順になっている。図23は、仮想計算機管理手段2243によって生成され、仮想計算機情報記憶手段445によって記憶される仮想計算機情報のデータ構成図である。同図に示されるように、仮想計算機情報は、実施の形態1における仮想計算機情報と同様に、仮想計算機ID2301とタスク数2302とプロセッサID2303とが対応付けられたものである。再び、図22に戻って変形仮想計算機システム1900の機能構成の説明を続ける。プロセッサ管理手段2244は、実施の形態1におけるプロセッサ管理手段444の一部の機能を変形したものであり、仮想計算機割当手段2242とプロセッサ情報記憶手段446とに接続し、プロセッサ管理手段444の機能2と機能3とに加え、以下の機能1aと機能1bと機能1cと機能1dとの機能を有する。機能1a:ハイパーバイザ2240起動時に、実行対象となる仮想計算機の数のプロセッサの属性が実行後述となるようにプロセッサ情報を生成する機能。ここで、実行属性とするプロセッサの順番は、省電力プロセッサA1901、省電力プロセッサB1902、省電力プロセッサC1903、高性能プロセッサA1904、高性能プロセッサB1905、高性能プロセッサC1906の順になっている。機能1b:プロセッサ情報を生成する場合において、属性が実行となっていない省電力プロセッサが存在するとき、属性が実行となっていない省電力プロセッサのうちの1つのプロセッサの属性を待機とし、さらに、属性が実行、又は待機となっていない省電力プロセッサが存在すれば、そのプロセッサの属性をオフとするように、プロセッサ情報を生成する機能。機能1c:プロセッサ情報を生成する場合において、属性が実行となっていない高性能プロセッサが存在するとき、属性が実行となっていない高性能プロセッサのうちの1つのプロセッサの属性を待機とし、さらに、属性が実行、又は待機となっていない高性能プロセッサが存在すれば、そのプロセッサの属性をオフとするように、プロセッサ情報を生成する機能。機能1d:ハイパーバイザ2240起動時に生成したプロセッサ情報を、プロセッサ情報記憶手段446に記憶させる機能。図24は、プロセッサ管理手段2244によって生成され、プロセッサ情報記憶手段446に記憶されるプロセッサ情報のデータ構成図である。同図に示されるように、プロセッサ情報は、プロセッサID2401と属性2402とが対応付けられたものである。プロセッサID2401は、プロセッサを特定するための情報である。属性2402は、対応するプロセッサIDで特定されるプロセッサの属性を示す情報である。省電力プロセッサA1901~省電力プロセッサC1903、高性能プロセッサA1904~高性能プロセッサC1906のそれぞれは、実行、待機、オフの3つの属性のうちの1つの属性を対応付けられる。実行属性は、自プロセッサ上で仮想計算機を動作させる状態であることを示し、省電力プロセッサであれば、電源電圧が1.0Vで動作周波数が500MHzで動作する通常動作モードで動作する状態となり、高性能プロセッサであれば、電源電圧が1.2Vで動作周波数が1GHzで動作する通常動作モードで動作する状態となる属性である。待機属性は、自プロセッサ上で仮想計算機を動作させない状態であることを示し、省電力プロセッサであれば、電源電圧が0.8Vで動作周波数が250MHzで動作する省電力モードで動作する状態となり、高性能プロセッサであれば、電源電圧が1.0Vで動作周波数が500MHzで動作する省電力モードで動作する状態となる属性である。オフ属性は、プロセッサの状態が動作しない状態、すなわち、0Vの電源電圧が供給される状態となることを示す属性である。再び、図22に戻って変形仮想計算機システム1900の機能構成の説明を続ける。仮想計算機割当手段2242は、実施の形態1における仮想計算機割当手段442の一部の機能を変形したものであり、仮想計算機管理手段2243とプロセッサ管理手段2244と仮想計算機情報記憶手段445とプロセッサ情報記憶手段446とに接続し、仮想計算機割当手段442と同様の機能を有する。仮想計算機割当手段2242は、仮想計算機割当手段442と同様の機能を有するが、対象とするプロセッサが、省電力プロセッサと高性能プロセッサの2種類である点、及び、プロセッサの属性が、実行と待機とオフとの3種類である点が、仮想計算機割当手段442と異なっているため、仮想計算機割当手段2242の行う動作の一部は、仮想計算機割当手段442の動作の一部と異なっている。仮想計算機割当手段2242の行う動作のうちの、仮想計算機割当手段442の行う動作との相違点については、後述する。以上のように構成される変形仮想計算機システム1900の行う動作について、以下、図面を参照しながら説明する。<動作>ここでは、変形仮想計算機システム1900が行う動作のうち、特徴的な動作である、変形システム起動処理と、変形システム更新処理とについて説明する。<変形システム起動処理>変形システム起動処理は、実施の形態1におけるシステム起動処理の一部を変形されたものであり、変形仮想計算機システム1900がリセットされた場合に、変形仮想計算機システム1900を起動する処理である。図25は、変形システム起動処理のフローチャートである。変形仮想計算機システム1900がリセットされると、電源制御ブロック1911は、省電力プロセッサA1901に1.0Vの電圧を供給し、クロック制御ブロック1912は、省電力プロセッサA1901に500MHzのクロック信号を供給し、省電力プロセッサA1901が起動するステップS2500。省電力プロセッサA1901が起動すると、省電力プロセッサA1901は、ハイパーバイザ2240を起動するステップS2510。ハイパーバイザ2240が起動すると、仮想計算機管理手段2243は、実行対象となる全ての仮想計算機が、それぞれ1つのプロセッサと対応付けられるように仮想計算機情報を生成し、生成した仮想計算機情報を仮想計算機情報記憶手段に記憶させるステップS2520。このとき、実行対象となる仮想計算機を対応付けていくプロセッサの順番は、省電力プロセッサA1901、省電力プロセッサB1902、省電力プロセッサC1903、高性能プロセッサA1904、高性能プロセッサB1905、高性能プロセッサC1906の順となり、生成される仮想計算機情報のタスク数2302には、それぞれ初期値である0を示す情報が代入される。ステップS2520の処理が終了すると、プロセッサ管理手段2244は、実行対象となる仮想計算機を対応付けられたプロセッサのそれぞれの属性が実行となるように、また、属性が実行とならなかった省電力プロセッサが存在するとき、属性が実行となっていない省電力プロセッサのうちの1つのプロセッサの属性を待機とし、さらに、属性が実行、又は待機とならなかった省電力プロセッサが存在すれば、そのプロセッサの属性をオフとなるように、そして、属性が実行となっていない高性能プロセッサが存在するとき、属性が実行となっていない高性能プロセッサのうちの1つのプロセッサの属性を待機とし、さらに、属性が実行、又は待機となっていない高性能プロセッサが存在すれば、そのプロセッサの属性をオフとするように、プロセッサ情報を生成し、生成したプロセッサ情報をプロセッサ情報記憶手段446に記憶させるステップS2530。ステップS2530の処理が終了すると、プロセッサ管理手段2244は、省電力プロセッサA1901以外のプロセッサのそれぞれについて、プロセッサ情報記憶手段446に記憶させたプロセッサ情報に基づいて、変形プロセッサ更新処理を実施するステップS2540。図26、図27は、プロセッサ管理手段2244の行う変形プロセッサ更新処理のフローチャートである。変形プロセッサ更新処理が開始されると、プロセッサ管理手段2244は、対象のプロセッサが省電力プロセッサか否かを調べるステップS2600。ステップS2600の処理において、対象のプロセッサが省電力プロセッサである場合にステップS2600:Yes、プロセッサ管理手段2244は、対象となるプロセッサの現在の属性が実行であるか否かを調べるステップS2610。ステップS2610の処理において、属性が実行である場合にステップS2610:Yes、プロセッサ管理手段2244は、そのプロセッサに供給する電源電圧が1.0Vとなるように変更し、供給するクロック信号の周波数が500MHzとなるように変更するステップS2620。ステップS2610の処理において、対象となるプロセッサの現在の属性が実行でない場合にはステップS2610:No、プロセッサ管理手段2244は、対象となるプロセッサの現在の属性が待機であるか否かを調べるステップS2630。ステップS2630の処理において、対象となるプロセッサの現在の属性が待機である場合にはステップS2630:Yes、プロセッサ管理手段2244は、そのプロセッサに供給する電源電圧が0.8Vとなるように変更し、供給するクロック信号の周波数が250MHzとなるように変更するステップS2640。ステップS2630の処理において、対象となるプロセッサの現在の属性が待機でない場合にはステップS2630:No、プロセッサ管理手段2244は、そのプロセッサに供給する電源電圧が0Vとなるように変更し、供給するクロック信号の周波数が0Hzとなるように変更するステップS2650。ステップS2600の処理において、対象のプロセッサが省電力プロセッサでない、すなわち、高性能プロセッサである場合にステップS2600:No、プロセッサ管理手段2244は、対象となるプロセッサの現在の属性が実行であるか否かを調べるステップS2710。ステップS2710の処理において、属性が実行である場合にステップS2710:Yes、プロセッサ管理手段2244は、そのプロセッサに供給する電源電圧が1.2Vとなるように変更し、供給するクロック信号の周波数が1GHzとなるように変更するステップS2720。ステップS2710の処理において、対象となるプロセッサの現在の属性が実行でない場合にはステップS2710:No、プロセッサ管理手段2244は、対象となるプロセッサの現在の属性が待機であるか否かを調べるステップS2730。ステップS2730の処理において、対象となるプロセッサの現在の属性が待機である場合にはステップS2730:Yes、プロセッサ管理手段2244は、そのプロセッサに供給する電源電圧が1.0Vとなるように変更し、供給するクロック信号の周波数が500MHzとなるように変更するステップS2740。ステップS2730の処理において、対象となるプロセッサの現在の属性が待機でない場合にはステップS2730:No、プロセッサ管理手段2244は、そのプロセッサに供給する電源電圧が0Vとなるように変更し、供給するクロック信号の周波数が0Hzとなるように変更するステップS2750。ステップS2620の処理が終了した場合、ステップS2640の処理が終了した場合、ステップS2650の処理が終了した場合、ステップS2720の処理が終了した場合、ステップS2740の処理が終了した場合、ステップS2750の処理が終了した場合に、プロセッサ管理手段2244は、その変形プロセッサ更新処理を終了する。ステップS2540の処理変形プロセッサ更新処理が終了すると、仮想計算機割当手段2242は、仮想計算機情報記憶手段445に記憶されている仮想計算機情報に基づいて、仮想計算機と対応付けられているプロセッサで仮想計算機を動作させるステップS2550。ステップS2550の処理が終了すると、変形仮想計算機システム1900は、その変形システム起動処理を終了する。<変形システム更新処理>変形システム更新処理は、実施の形態1におけるシステム更新処理の一部を変形されたものであり、各仮想計算機上で動作しているOSが管理する待ち行列のそれぞれに存在するタスクの数の変動に応じて、各プロセッサの属性を動的に変更し、各仮想計算機のプロセッサへの割り当てを動的に変更する処理である。図28は、変形システム更新処理のフローチャートである。変形システム更新処理のうち、ステップS2800、ステップS2810、ステップS2820、ステップS2830の処理は、それぞれ、実施の形態1におけるシステム更新処理図8参照のステップS800、ステップS810、ステップS820、ステップS830の処理と同等の処理なので、ここでは説明を省略する。ステップS2830の処理において、更新前のタスク数と更新後のタスク数とで変化しているものがある場合にステップS2830:Yes、仮想計算機管理手段2243は、そのタスク数に対応する仮想計算機IDを仮想計算機割当手段2242に出力し、変形仮想計算機システム1900は、変形仮想計算機割当処理を実施するステップS2840。図29、図30は、変形仮想計算機システム1900の行う変形仮想計算機割当処理のフローチャートである。仮想計算機割当手段2242は、変化しているタスク数に対応する仮想計算機IDを受け取ると、受け取った仮想計算機IDの中から1つを選択する。仮想計算機割当手段2242は、仮想計算機IDを1つ選択すると、仮想計算機情報記憶手段445に記憶されている仮想計算機情報を読み出して、選択している仮想計算機IDによって特定される仮想計算機が動作しているプロセッサが省電力プロセッサであるか否かを調べるステップS2900。ステップS2900の処理において、選択している仮想計算機IDによって特定される仮想計算機が動作しているプロセッサが省電力プロセッサである場合にステップS2900:Yes、仮想計算機割当手段2242は、その仮想計算機に対応付けられているタスク数が第1所定量例えば30以上であるか否かを調べるステップS2910。ステップS2910の処理において、タスク数が第1所定量例えば30以上の場合にステップS2910:Yes、仮想計算機割当手段2242は、待機属性の高性能プロセッサが存在するか否かを調べるステップS2920。ステップS2920の処理において、待機属性の高性能プロセッサが存在する場合にステップS2920:Yes、仮想計算機割当手段2242は、その待機属性の高性能プロセッサの属性が実行となるように、プロセッサ管理手段2244を用いて、プロセッサ情報記憶手段446に記憶されているプロセッサ情報を更新するステップS2925。ステップS2925の処理が終わると、仮想計算機割当手段2242は、選択している仮想計算機IDによって特定される仮想計算機を割り当てられて実行するプロセッサを、その仮想計算機が現在割り当てられて動作しているプロセッサ以後、移動元プロセッサと呼ぶ。から、ステップS2920の処理において存在することが判明した待機属性のプロセッサ以後、移動先プロセッサと呼ぶ。へと変更するステップS2930:変形仮想計算機割当変更処理。図31は、変形仮想計算機システム1900の行う変形仮想計算機割当変更処理のフローチャートである。変形仮想計算機システム1900が変形仮想計算機割当変更処理を開始すると、仮想計算機割当手段2242は、移動元プロセッサにおける仮想計算機の状態各種レジスタに記憶されているデータ等の、仮想計算機の処理を復旧させるために必要なデータ群を、RAM114の所定の領域に退避させステップS3100、移動先プロセッサで対象となる仮想計算機を復旧させて動作させるステップS3110。ステップS3110の処理が終了すると、変形仮想計算機システム1900は、その変形仮想計算機割当変更処理を終了する。再び、図29に戻って変形仮想計算機割当処理の説明を続ける。ステップS2930の処理が終了した場合、又はステップS2920の処理において、待機属性の高性能プロセッサが存在しない場合にステップS2920:No、仮想計算機割当手段2242は、オフ属性の高性能プロセッサが存在するか否かを調べるステップS2940。ステップS2940の処理において、オフ属性の高性能プロセッサが存在する場合にステップS2940:Yes、仮想計算機割当手段2242は、そのオフ属性の高性能プロセッサの属性が待機となるように、プロセッサ管理手段2244を用いて、プロセッサ情報記憶手段446に記憶されているプロセッサ情報を更新するステップS2950。ステップS2950の処理が終了した場合に、仮想計算機割当手段2242は、待機属性の省電力プロセッサが存在するか否かを調べるステップS2960。ステップS2960の処理において、待機属性の省電力プロセッサが存在する場合にステップS2960:Yes、仮想計算機割当手段2242は、移動元プロセッサの属性がオフとなるように、プロセッサ管理手段2244を用いて、プロセッサ情報記憶手段446に記憶されているプロセッサ情報を更新するステップS2970。ステップS2960の処理において、待機属性の省電力プロセッサが存在しない場合にステップS2960:No、仮想計算機割当手段2242は、移動元プロセッサの属性が待機となるように、プロセッサ管理手段2244を用いて、プロセッサ情報記憶手段446に記憶されているプロセッサ情報を更新するステップS2980。ステップS2900の処理において、選択している仮想計算機IDによって特定される仮想計算機が動作しているプロセッサが省電力プロセッサでない場合、すなわち、高性能プロセッサである場合にステップS2900:No、仮想計算機割当手段2242は、その仮想計算機に対応付けられているタスク数が第2所定量例えば25以下であるか否かを調べるステップS3000。ステップS3000の処理において、タスク数が第2所定量例えば25以下の場合にステップS3000:Yes、仮想計算機割当手段2242は、待機属性の省電力プロセッサが存在するか否かを調べるステップS3010。ステップS3010の処理において、待機属性の省電力プロセッサが存在する場合にステップS3010:Yes、仮想計算機割当手段2242は、選択している仮想計算機IDによって特定される仮想計算機を割り当てられて実行するプロセッサを移動元プロセッサとして、ステップS2920の処理において存在することが判明した待機属性のプロセッサを移動先プロセッサとして、変形仮想計算機割当変更処理を実施するステップS3020。ステップS3020の処理が終了した場合、又はステップS3010の処理において、待機属性の省電力プロセッサが存在しない場合にステップS3010:No、仮想計算機割当手段2242は、オフ属性の省電力プロセッサが存在するか否かを調べるステップS3030。ステップS3030の処理において、オフ属性の省電力プロセッサが存在する場合にステップS3030:Yes、仮想計算機割当手段2242は、そのオフ属性の省電力プロセッサの属性が待機となるように、プロセッサ管理手段2244を用いて、プロセッサ情報記憶手段446に記憶されているプロセッサ情報を更新するステップS3040。ステップS3040の処理が終了した場合に、仮想計算機割当手段2242は、待機属性の高性能プロセッサが存在するか否かを調べるステップS3050。ステップS3050の処理において、待機属性の高性能プロセッサが存在する場合にステップS3050:Yes、仮想計算機割当手段2242は、移動元プロセッサの属性がオフとなるように、プロセッサ管理手段2244を用いて、プロセッサ情報記憶手段446に記憶されているプロセッサ情報を更新するステップS3060。ステップS3050の処理において、待機属性の省電力プロセッサが存在しない場合にステップS3050:No、仮想計算機割当手段2242は、移動元プロセッサの属性が待機となるように、プロセッサ管理手段2244を用いて、プロセッサ情報記憶手段446に記憶されているプロセッサ情報を更新するステップS3070。ステップS2910の処理において、タスク数が第1所定量例えば30以上でない場合ステップS2910:No、ステップS2940の処理において、オフ属性の高性能プロセッサが存在しない場合ステップS2940:No、ステップS2970の処理が終了した場合、ステップS2980の処理が終了した場合、ステップS3000の処理において、タスク数が第2所定量例えば25以下でない場合ステップS3000:No、ステップS3030の処理において、オフ属性の省電力プロセッサが存在しない場合ステップS3030:NoステップS3060の処理が終了した場合、ステップS3070の処理が終了した場合に、仮想計算機割当手段2242は、受け取った仮想計算機IDの中に未だ選択したことのない仮想計算機IDがあるか否かを調べる図29のステップS2990。ステップS2990の処理において、未だ選択したことのない仮想計算機IDが存在する場合にステップS2990:Yes、仮想計算機割当手段2242は、未だ選択したことのない仮想計算機IDのうちの1つを選択し、再びステップS2900の処理に戻って、ステップS2900以降の処理を行う。ステップS2990の処理において、未だ選択したことのない仮想計算機IDが存在しない場合にステップS2990:No、変形仮想計算機システム1900は、その仮想計算機割当処理を終了する。再び図28に戻って、変形システム更新処理の説明を続ける。ステップS2840の処理が終了すると、プロセッサ管理手段2244は、ステップS2840の仮想計算機割当処理において、プロセッサ情報記憶手段446に記憶されているプロセッサ情報の属性が更新されたプロセッサが存在するか否かを調べるステップS2850。ステップS2850の処理において、プロセッサ情報の属性が更新されていた場合にステップS2850:Yes、プロセッサ管理手段2244は、属性が更新されていたプロセッサのそれぞれに対して、プロセッサ更新処理図26、図27参照を実施するステップS2860。ステップS2830の処理において更新前のタスク数と更新後のタスク数とで変化しているものがない場合ステップS2830:No、ステップS2850の処理においてプロセッサ情報の属性が更新されてなかった場合ステップS2850:No、又はステップS2860の処理が終了した場合に、負荷監視手段441は、起動中のタイマで計測している時間が所定時間T1例えば100μsとなるまで待機するステップS2870。計測している時間が所定時間T1例えば100μsとなると、負荷監視手段441は再びステップS2800の処理に戻り、ステップS2800以下の処理を行う。<具体例>以下、上述の変形システム更新処理について、具体例を用いて説明を補足する。この具体例は、時刻t1に、仮想計算機情報記憶手段445に記憶されている仮想計算機情報が図23に示されるものであり、プロセッサ情報記憶手段446に記憶されているプロセッサ情報が図24に示されるものであって、仮想計算機A411が省電力プロセッサA1901に割り当てられて実行され、仮想計算機B412が省電力プロセッサB1902に割り当てられて実行され、仮想計算機C413が省電力プロセッサC1903に割り当てられて実行され、高性能プロセッサA1904が省電力モードで起動しつつ新たな仮想計算機の割り当てに備えて待機し、高性能プロセッサB1905と高性能プロセッサC1906とは電源が供給されていない状態となっている場合において図22参照、時刻t2に、第3OSが管理するタスク待ち行列に存在するタスク数が5から40に変化したときの例である。時刻t2以降において負荷監視手段441が各仮想計算機のOSによって管理されるタスク待ち行列に存在するタスク数を取得する最初のタイミングになると、負荷監視手段441は、各仮想計算機のOSによって管理されるタスク待ち行列に存在するタスク数を取得して、タイマを起動し、仮想計算機管理手段2243が仮想計算機情報を更新するステップS2800~ステップS2820。更新された仮想計算機情報は、図32に示されるものとなる。仮想計算機C413のタスク数が5から40に変化しているのでステップS2830:Yes、変形仮想計算機システム1900は、変形仮想計算機割当処理を実施するステップS2840。仮想計算機C413が動作するプロセッサは、省電力プロセッサで図32参照、ステップS2900:Yes、タスク数が第1所定量例えば30以上でステップS2910:Yes、待機属性の高性能プロセッサA1904が存在する図24参照、ステップS2920:Yesので、仮想計算機割当手段2242は、高性能プロセッサA1904の属性を実行に変更してプロセッサ情報を更新してステップS2925、変形仮想計算機割当変更処理ステップS2940を実行する。仮想計算機割当手段2242は、仮想計算機C413が省電力プロセッサC1903に割り当てられて動作している状態を、仮想計算機C413が高性能プロセッサA1904に割り当てられて動作している状態に変更するステップS3100~ステップS3110。高性能プロセッサB1905の属性はオフなのでステップS2940、高性能プロセッサB1905の属性を待機に変更してプロセッサ情報を更新しステップS2950、待機属性の省電力プロセッサがないのでステップS2960:No、省電力プロセッサC1903の属性を待機に変更してプロセッサ情報を更新するステップS2980。他にタスク数が変化している仮想計算機がないのでステップS2990:No、仮想計算機割当手段2242は、変形仮想計算機割当処理を終了し、プロセッサ管理手段2244は、プロセッサ情報の属性が更新されたプロセッサが存在するか否かを調べるステップS2850。この時のプロセッサ情報記憶手段446に記憶されているプロセッサ情報は図33に記憶されているものとなっており、省電力プロセッサC1903と高性能プロセッサA1904と高性能プロセッサB1905との属性が変更されていることがわかるステップS2860:Yes。省電力プロセッサC1903は、省電力プロセッサでステップS2600:Yes、属性が待機なのでステップS2610:No~ステップS2630:Yes、プロセッサ管理手段2244は、省電力プロセッサC1903に供給する電源電圧を1.0Vから0.8Vに変更し、省電力プロセッサC1903に供給するクロック信号の周波数を500MHzから250MHzに変更しステップS2640、省電力プロセッサC1903を省電力モードとする。高性能プロセッサA1904は、高性能プロセッサでステップS2600:No、属性が実行なのでステップS2710:Yes、プロセッサ管理手段2244は、高性能プロセッサA1904に供給する電源電圧を1.0Vから1.2Vに変更し、高性能プロセッサA1904に供給するクロック信号の周波数を500MHzから1GHzに変更しステップS2720、高性能プロセッサA1904を通常動作モードとする。高性能プロセッサB1905は、高性能プロセッサでステップS2600:No、属性が待機なのでステップS2710:No~ステップS2730:Yes、プロセッサ管理手段224は、高性能プロセッサB1905に1.0Vの電源電圧を供給し、500MHzのクロック信号を供給して、高性能プロセッサB1905を省電力モードで起動させる図34参照。その後、負荷監視手段441は、起動中のタイマで計測している時間が所定時間T1例えば100μsとなるまで待機するステップS2870。<まとめ>上述の変形仮想計算機システム1900によれば、省電力プロセッサに割り当てられて動作している仮想計算機のタスク数が第1所定量以上になると、その仮想計算機を省電力プロセッサよりも処理能力の高い高性能プロセッサに割り当てて動作させることができるようになる。また、上記変形仮想計算機システム1900によれば、高性能プロセッサに割り当てられて動作している仮想計算機のタスク数が第2所定量以下になると、その仮想計算機を高性能プロセッサよりも消費電力の少ない省電力プロセッサに割り当てて動作させることができるようになる。<補足>以上、本発明に係る仮想計算機システムの一実施形態として、実施の形態1、実施の形態2において、2つの仮想計算機システムの例について説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態で示した通りの仮想計算機システムに限られないことはもちろんである。1実施の形態1において、仮想計算機システム100が4つのプロセッサを備える場合の例について説明したが、複数のプロセッサを備えていれば、プロセッサの数は必ずしも4に限られることはなく、例えば、プロセッサの数が3、10等であっても構わない。2実施の形態2において、各プロセッサは、通常モード時に電源電圧が1.2Vで動作周波数が1GHzで動作し、省電力モード時に電源電圧が1.0Vで動作周波数が500MHzで動作する場合の例について説明したが、必ずしも通常モード時に電源電圧が1.2Vで動作周波数が1GHzで動作し、省電力モード時に電源電圧が1.0Vで動作周波数が500MHzで動作する必要はなく、通常モード時のデータ処理能力が省電力モード時のデータ処理能力以上であって、通常モード時の消費電力が省電力モード時の消費電力以上であれば、例えば、通常モード時に電源電圧が1.5Vで動作周波数が200MHzで動作し、省電力モード時に電源電圧が1.2Vで動作周波数が100MHzで動作するとしても構わない。さらには、通常モードと省電力モードとで、電源電圧と動作周波数とが同じ、すなわち、通常モードと省電力モードとの区別がないとしても構わない。3実施の形態1において、仮想計算機システム100は、仮想計算機で動作するOSによって管理されるタスク待ち行列に存在するタスクの数に基づいて、プロセッサの属性を変更する場合の例について説明したが、仮想計算機の負荷量を示す指標となり得るものに基づいて、プロセッサの属性を変更することができれば、必ずしもタスクの数に基づいて、プロセッサの属性を変更する必要はなく、例えば、タスクの種類によって重み付けされたタスクの数に基づいて、プロセッサの属性を変更するとしても構わないし、タスクの種類に基づいて、プロセッサの属性を変更するとしても構わない。4実施の形態1において、各仮想計算機が1つのプロセッサに割り当てられて動作する場合の例について説明したが、仮想計算機を実現することができれば、1つの仮想計算機が割り当てられるプロセッサは必ずしも1つである必要はなく、例えば、1つの仮想計算機が2つのプロセッサに割り当てられて動作するとしても構わない。5実施の形態1において、仮想計算機システム100は、一部のプロセッサに仮想計算機が割り当てられていない場合に、次に新たなプロセッサに仮想計算機を割り当てる場合に備えて、仮想計算機が割り当てられていないプロセッサのうちの1つのプロセッサに電力を供給して待機状態としておき、その他の仮想計算機が割り当てられていないプロセッサに電力を供給しないという制御を行う例について説明したが、待機状態となるプロセッサが存在していれば、必ずしも待機状態としておくプロセッサの数は1つに限られず、例えば、待機状態となるプロセッサが2つとなるように制御しても構わないし、例えば、午前9時から午後7時までの時刻には待機状態となるプロセッサは2つで、それ以外の時刻には待機状態となるプロセッサが1つとなるように制御するというように、時刻に応じて待機状態となるプロセッサの数が変動するように制御しても構わない。6実施の形態1において、仮想計算機システム100は、待機属性のプロセッサが存在する場合において、仮想計算機が割り当てられていたプロセッサに仮想計算機が割り当てられなくなるとき、その新たに仮想計算機が割り当てられなくなるプロセッサをオフ属性にする場合の例について説明したが、待機属性のプロセッサが少なくとも1つ存在するように制御できれば、必ずしも新たに仮想計算機が割り当てられなくなるプロセッサをオフ属性にする必要はなく、例えば、待機属性のプロセッサをオフ属性とし、新たに仮想計算機が割り当てられなくなるプロセッサを待機属性とするとしても構わない。7実施の形態1において、プロセッサA101とプロセッサB102とプロセッサC103とプロセッサD104と電源制御ブロック111とクロック制御ブロック112とROM113とRAM114とハードディスク装置インターフェース115と出力装置インターフェース116と入力装置インターフェース117と内部バス120とが、1つのシステムLSI110に集積されている例について説明したが、これらの回路が必ずしも1つのLSIに集積されている必要はなく、システムLSI110によって実現される機能を実現することができれば、例えば、各回路がそれぞれ互いに異なる集積回路に集積されている構成であっても構わない。8実施の形態1において、第1所定量が例えば30で、第2所定量が例えば25である場合の例について説明したが、第1所定量が第2所定量以上であれば、第1所定量は必ずしも30である必要はなく、第2所定量は必ずしも25である必要はなく、例えば、第1所定量が100で第2所定量が90であっても構わないし、第1所定量と第2所定量とが共に40であっても構わない。9実施の形態1において、プロセッサは、複数の仮想計算機を動作させる場合に、それぞれの仮想計算機を時分割方式で順番に繰り返し動作させる例について説明したが、複数の仮想計算機を動作させることができれば、必ずしも時分割方式で順番に繰り返し動作させる必要はなく、例えば、プロセッサは、複数のスレッドを並列に動作させることができるマルチスレッド処理機能を有していて、複数の仮想計算機を、そのマルチスレッド処理機能を利用して並列に動作させるとしても構わない。10実施の形態1において、待機属性のプロセッサは、電源電圧が1.0Vで、動作周波数が500MHzで動作する例について説明したが、待機属性のプロセッサは、動作に必要となる電源電圧が供給されていれば、必ずしも電源電圧が1.0Vである必要はなく、また、必ずしも動作周波数が500MHzで動作している必要はない。例えば、待機属性のプロセッサは、電源電圧が1.2Vで、動作周波数が0Hz、すなわち、動作していない状態であっても構わないし、電源電圧が1.2Vで、動作周波数が1GHzで動作していても構わない。11実施の形態2において、省電力プロセッサの数と高性能プロセッサの数とが同じである場合の例について説明したが、省電力プロセッサの数が複数で、高性能プロセッサの数が複数であれば、必ずしも省電力プロセッサの数と高性能プロセッサの数とが同じである必要はない。12実施の形態2において、省電力プロセッサと高性能プロセッサとが同じISAである場合の例について説明したが、必ずしも同じISAである必要はない。異なるISAにおいて、実装されていない命令を実行する場合、例えば、ハイパーバイザ等によって命令のエミュレーションを行うことで代用できる。13実施の形態2において、仮想計算機管理手段2243は、ハイパーバイザ2240起動時に、実行対象となる仮想計算機を割り当てていくプロセッサの順番を、省電力プロセッサA1901、省電力プロセッサB1902、省電力プロセッサC1903、高性能プロセッサA1904、高性能プロセッサB1905、高性能プロセッサC1906の順とする場合の例について説明したが、順番が一意に決まっていれば、必ずしも、省電力プロセッサA1901、省電力プロセッサB1902、省電力プロセッサC1903、高性能プロセッサA1904、高性能プロセッサB1905、高性能プロセッサC1906の順である必要はない。14実施の形態1において、スイッチ設定レジスタ210のビット数が8ビットである場合の例について説明したが、各プロセッサに供給する電源電圧を設定することができるビット数であれば、必ずしも8ビットである必要はない。また、実施の形態1では、仮想計算機システム100において、プロセッサの数が4であり、各プロセッサに供給する電源電圧が3種類である場合に、スイッチ設定レジスタ210のビット数を8ビットとする例について説明したが、仮想計算機システム100とプロセッサの数や電源電圧の種類が互いに異なる仮想計算機システムであれば、当然、その仮想計算機システムにおけるプロセッサの数や電源電圧の種類を反映して、スイッチ設定レジスタのビット数は決定される。同様に、実施の形態2において、スイッチ設定レジスタ2010のビット数が12ビットである場合の例について説明したが、各プロセッサに供給する電源電圧を設定することができるビット数であれば、必ずしも12ビットである必要はない。また、同様に、実施の形態2では、仮想計算機システム1900において、省電力プロセッサの数が3であり、各省電力プロセッサに供給する電源電圧が3種類であり、高性能プロセッサの数が3であり、各高性能プロセッサに供給する電源電圧が3種類である場合に、スイッチ設定レジスタ2010のビット数を12ビットとする例について説明したが、仮想計算機システム1900とプロセッサの数や電源電圧の種類が互いに異なる仮想計算機システムであれば、当然、その仮想計算機システムにおけるプロセッサの数や電源電圧の種類を反映して、スイッチ設定レジスタのビット数は決定される。15実施の形態1において、セレクタ設定レジスタ310のビット数が8ビットである場合の例について説明したが、各プロセッサに供給するクロック信号の周波数を設定することができるビット数であれば、必ずしも8ビットである必要はない。また、実施の形態1では、仮想計算機システム100において、プロセッサの数が4であり、各プロセッサに供給するクロック信号が3種類である場合に、セレクタ設定レジスタ310のビット数を8ビットとする例について説明したが、仮想計算機システム100とプロセッサの数やクロック信号の種類が互いに異なる仮想計算機システムであれば、当然、その仮想計算機システムにおけるプロセッサの数やクロック信号の種類を反映して、セレクタ設定レジスタのビット数が決定される。同様に、実施の形態2において、セレクタ設定レジスタ2110のビット数が12ビットである場合の例について説明したが、各プロセッサに供給するクロック信号の周波数を設定することができるビット数であれば、必ずしも12ビットである必要はない。また、同様に、実施の形態2では、仮想計算機システム1900において、省電力プロセッサの数が3であり、各省電力プロセッサに供給するクロック信号が3種類であり、高性能プロセッサの数が3であり、各高性能プロセッサに供給するクロック信号が3種類である場合に、セレクタ設定レジスタ2110のビット数を12ビットとする例について説明したが、仮想計算機システム1900とプロセッサの数やクロック信号の種類が互いに異なる仮想計算機システムであれば、当然、その仮想計算機システムにおけるプロセッサの数やクロック信号の種類を反映して、セレクタ設定レジスタのビット数が決定される。16以下、さらに本発明の一実施形態に係る仮想計算機システムの構成及びその変形例と各効果について説明する。a本発明の一実施形態に係る仮想計算機システムは、複数のプロセッサを有し、複数の仮想計算機を動作させる仮想計算機システムであって、電力を供給されているプロセッサに仮想計算機を割り当てる割当手段と、前記割当手段が、電力を供給されていて仮想計算機を割り当てられていないプロセッサに仮想計算機を割り当てる場合において、電力を供給されていないプロセッサが複数存在するとき、電力を供給されていないプロセッサのうちの一部のプロセッサに電力を供給し、電力を供給されていないプロセッサのうちの前記一部のプロセッサ以外のプロセッサに電力を供給しない状態を維持する電力供給手段とを備えることを特徴とする。上述の構成を備える仮想計算機システムは、電力を供給されていて仮想計算機を割り当てられていないプロセッサに仮想計算機を割り当てる場合に、次に新たなプロセッサに仮想計算機を割り当てるときに備えて、電力供給手段によって新たに電力を供給されるプロセッサを待機状態にしておくことができるようになる。また、仮想計算機を割り当てられていないプロセッサのうち、次に新たなプロセッサに仮想計算機を割り当てるときに備えて待機させておくプロセッサ以外のプロセッサには電力を供給されない。従って、仮想計算機システムのパフォーマンスの低下を防止しつつ、消費電力を抑えることができる。図35は、上記変形例において、複数のプロセッサを有し、複数の仮想計算機を動作させる仮想計算機システム上で実現される、割当手段3501と電力供給手段3502とを模式的に示す模式図である。同図において、割当手段3501は、電力を供給されているプロセッサに仮想計算機を割り当てる機能を有する。この割当部3501は、一例として、実施の形態1図4参照における、ハイパーバイザ440の機能の一部として実現される。電力供給手段3502は、割当手段3501が、電力を供給されていて仮想計算機を割り当てられていないプロセッサに仮想計算機を割り当てる場合において、電力を供給されていないプロセッサが複数存在するとき、電力を供給されていないプロセッサのうちの一部のプロセッサに電力を供給し、電力を供給されていないプロセッサのうちの前記一部のプロセッサ以外のプロセッサに電力を供給しない状態を維持する機能を有する。この電力供給手段3502は、一例として、実施の形態1における、ハイパーバイザ440の機能の一部として実現される。bまた、前記仮想計算機システムは、プロセッサのうち、電力を供給されているプロセッサに限ってクロック信号を供給するクロック供給手段を備えるとしてもよい。このような構成にすることによって、動作しないプロセッサにクロック信号を供給しなくなるので、仮想計算機システムのパフォーマンスの低下を防止しつつ、消費電力を抑えることができるようになる。cまた、前記仮想計算機システムは、電力を供給されていて仮想計算機を割り当てられているプロセッサに供給するクロック信号の周波数の方が、電力を供給されていて仮想計算機を割り当てられていないプロセッサに供給するクロック信号の周波数よりも高くなるように、電力を供給されているプロセッサに供給するクロック信号を制御するクロック制御手段を備えるとしてもよい。このような構成にすることによって、待機中のプロセッサの消費電力の方が、仮想計算機を割り当てられているプロセッサの消費電力よりも低くすることができるため、仮想計算機システムのパフォーマンスの低下を防止しつつ、消費電力を抑えることができるようになる。dまた、前記仮想計算機システムは、電力を供給されていて仮想計算機を割り当てられているプロセッサの電源電圧の方が、電力を供給されていて仮想計算機を割り当てられていないプロセッサの電源電圧よりも高くなるように、電力を供給されているプロセッサの電源電圧を制御する電圧制御手段を備えるとしてもよい。このような構成にすることによって、待機中のプロセッサの消費電力の方が、仮想計算機を割り当てられているプロセッサの消費電力よりも低くすることができるため、仮想計算機システムのパフォーマンスの低下を防止しつつ、消費電力を抑えることができるようになる。eまた、前記仮想計算機システムは、前記電力供給手段は、さらに、電力を供給されていて仮想計算機を割り当てられていたプロセッサが仮想計算機を割り当てられていない状態となった場合に、電力を供給されていて仮想計算機を割り当てられていないプロセッサのうちの、少なくとも1つのプロセッサの電力供給を停止するとしてもよい。このような構成にすることによって、待機中のプロセッサの数を少なくすることができるため、消費電力を抑えることができるようになる。fまた、前記仮想計算機システムは、前記割当手段は、前記仮想計算機の割り当てを、第1仮想計算機を割り当てられている第1プロセッサに当該第1仮想計算機以外の仮想計算機が割り当てられている場合において当該第1仮想計算機の処理対象とする処理が所定条件を満たすようになるとき、電力を供給されていて仮想計算機を割り当てられていない第2プロセッサが存在すれば、前記仮想計算機を、前記第1プロセッサから前記第2プロセッサに変更して割り当てるように行うとしてもよい。このような構成にすることによって、複数の仮想計算機が割り当てられているプロセッサで動作している仮想計算機の中に、負荷が大きくなる仮想計算機があると、その仮想計算機を他のプロセッサに割り当てて、そのプロセッサをその仮想計算機に専有させて動作させることができるようになる。gまた、前記仮想計算機システムは、前記割当手段は、前記仮想計算機の割り当てを、第1仮想計算機を割り当てられている第1プロセッサに当該第1仮想計算機以外の仮想計算機が割り当てられていない場合において当該第1仮想計算機の処理対象とする処理が第1の所定条件を満たすようになるとき、処理対象とする処理が第2の所定条件を満たす仮想計算機を割り当てられている第2のプロセッサが存在すれば、前記第1仮想計算機を、前記第1プロセッサから前記第2プロセッサに変更して割り当てるように行うとしてもよい。このような構成にすることによって、プロセッサを専有して動作している仮想計算機の負荷が小さくなると、その仮想計算機を他の仮想計算機とプロセッサを共有して動作させることができるようになる。hまた、前記仮想計算機システムは、前記仮想計算機システムは、複数の第1種プロセッサと、第1種プロセッサよりも処理能力と消費電力とが低い複数の第2種プロセッサとを有し、前記割当手段は、前記仮想計算機の割り当てを、プロセッサに割り当てられている仮想計算機のそれぞれについて、当該仮想計算機の処理対象とする処理が所定条件を満たすようになる場合に、割り当てるプロセッサのプロセッサ種を変更するように行い、前記電力供給手段は、前記電力の供給を、前記割当手段が、電力を供給されていて仮想計算機を割り当てられていない第1種プロセッサに仮想計算機を割り当てる場合において電力を供給されていない第1種プロセッサが複数存在するとき、電力を供給されていない第1種プロセッサのうちの一部のプロセッサに電力を供給し、電力を供給されていない第1種プロセッサのうちの前記一部のプロセッサ以外のプロセッサに電力を供給しない状態を維持するように行い、前記割当手段が、電力を供給されていて仮想計算機を割り当てられていない第2種プロセッサに仮想計算機を割り当てる場合において電力を供給されていない第2種プロセッサが複数存在するとき、電力を供給されていない第2種プロセッサのうちの一部のプロセッサに電力を供給し、電力を供給されていない第2種プロセッサのうちの前記一部のプロセッサ以外のプロセッサに電力を供給しない状態を維持するように行うとしてもよい。このような構成にすることによって、プロセッサの種類が1つの仮想計算機システムに比べて、よりきめ細かく、仮想計算機システムのパフォーマンスと消費電力とのトレードオフの調整をすることができるようになる。iまた、前記仮想計算機システムは、前記電力供給手段は、さらに、電力を供給されていて仮想計算機を割り当てられていた第1種プロセッサが仮想計算機を割り当てられていない状態となった場合に、電力を供給されていて仮想計算機を割り当てられていない第1種プロセッサのうちの、少なくとも1つの第1種プロセッサの電力供給を停止し、電力を供給されていて仮想計算機を割り当てられていた第2種プロセッサが仮想計算機を割り当てられていない状態となった場合に、電力を供給されていて仮想計算機を割り当てられていない第2種プロセッサのうちの、少なくとも1つの第2種プロセッサの電力供給を停止するとしてもよい。このような構成にすることによって、待機中の第1種プロセッサの数と待機中の第2種プロセッサの数とを少なくすることができるため、消費電力を抑えることができるようになる。