処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備え、前記ハイパバイザは、各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得手段と、前記取得手段により逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更手段とを有することを特徴とする情報処理システム。前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイム性の処理が要求されるリアルタイムタスクに係る処理負荷量であり、前記変更手段は、各プロセッサ間でリアルタイムタスクに係る処理負荷量に偏りが生じているときには、リアルタイムタスクに係る処理負荷量が分散されるようプロセッサとタスクグループの対応付けを変更することを特徴とする請求項1に記載の情報処理システム。タスクグループに含まれるリアルタイムタスクに係る前記処理負荷量は、当該タスクグループに含まれるリアルタイムタスクの個数であり、前記変更手段は、各プロセッサ間で当該プロセッサで処理すべきリアルタイムタスクの個数に偏りが生じているときには、処理すべきリアルタイムタスクの個数が分散されるようプロセッサとタスクグループの対応付けを変更することを特徴とする請求項2に記載の情報処理システム。前記変更手段は、複数のタスクグループが対応付けられたプロセッサにおいて、少なくとも2つのタスクグループそれぞれにリアルタイムタスクを含んでいる場合に、当該プロセッサについてリアルタイムタスクに係る処理負荷量の偏りが生じていると判断し、当該プロセッサにおける前記少なくとも2つのタスクグループそれぞれを個別のプロセッサへ対応付けることを特徴とする請求項2に記載の情報処理システム。前記変更手段は、複数のタスクグループが対応付けられたプロセッサにおいて、1つのタスクグループにリアルタイムタスクが属している場合に、当該プロセッサについて処理負荷量の偏りが生じていると判断し、当該プロセッサと前記1つのタスクグループのみと対応付け、当該プロセッサに対応付けられていた他のタスクグループを他のプロセッサへ対応付けることを特徴とする請求項2に記載の情報処理システム。前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイムタスクの動作間隔を示す値であり、前記変更手段は、一のプロセッサに対して動作間隔の短いリアルタイムタスクが属する第1タスクグループと他のリアルタイムタスクが属する第2タスクグループとが対応付けられている場合に、当該一のプロセッサについて処理負荷量の偏りが生じていると判断し、前記第2タスクグループの対応付けを、動作間隔が前記第1タスクグループの動作間隔よりも長いタスクグループが属する第3タスクグループが対応付けられているプロセッサへ変更することを特徴とする請求項2に記載の情報処理システム。前記ハイパバイザは、さらに、割り込みを受け付けると、リアルタイムタスクを含むタスクグループに含まれるタスクのものである場合には、当該リアルタイムタスクを含むタスクグループの実行制御を行うOSに当該割り込みの通知を即座に行うことを特徴とする請求項2に記載の情報処理システム。前記タスクには、処理の優先度が対応付けられており、前記変更手段は、各タスクグループにおいて当該タスクグループに属するタスクの優先度の合計値に基づき、各プロセッサ間で優先度の合計値に偏りが生じている場合に前記処理負荷量に偏りが生じていると判断し、優先度の合計値が平均化されるようプロセッサとタスクグループの対応付けを変更することを特徴とする請求項1に記載の情報処理システム。前記ハイパバイザは、さらに、各OSに対して、当該OSに属する各タスクグループについて、当該タスクグループが割り当てられたプロセッサにおける当該タスクグループの処理能力を通知する通知手段を備え、各OSは、新たなタスクを生成すると、通知された処理能力のうち高い処理能力を有するタスクグループに前記新たなタスクを割り当てることを特徴とする請求項1に記載の情報処理システム。前記ハイパバイザは、各プロセッサにおいて、当該プロセッサに対応付けられた1又は複数のタスクグループの処理スケジュールを決定するスケジュール決定手段を備え、前記処理能力は、前記各タスクグループに対する処理スケジュールに基づく処理時間を示すものであることを特徴する請求項9に記載の情報処理システム。処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備える情報所処理システムにおいて、前記ハイパバイザで用いられる処理方法であって、各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得ステップと、前記取得ステップにより逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更ステップとを有することを特徴とする処理方法。処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備える情報所処理システムにおいて前記ハイパバイザで用いられる処理プログラムであって、コンピュータに、各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得ステップと、前記取得ステップにより逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更ステップとを実行させるための処理プログラム。前記処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されていることを特徴とする請求項12に記載の処理プログラム。処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備え、前記ハイパバイザは、各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得手段と、前記取得手段により逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更手段とを有することを特徴とする集積回路。仮想計算機の技術では、複数の物理CPUプロセッサのうち一の物理CPUに2つ以上の仮想CPUを割り当てることがある。このとき、例えば、当該2つの仮想CPUがそれぞれ別のOSに属している場合には、各OSにおいて、当該OSに含まれる複数のタスクキュー間では処理負荷は均等となるように制御されている。しかしながら、当該2つの仮想CPUが割り当てられた前記一の物理CPUでは、他の物理CPUよりも、処理負荷が高くなる場合が考えられる。このような場合において、上記の特許文献2の技術を用いると、当該一の物理CPUに割り当てられた2つの仮想CPUについての実行順序を決定するのみであり、当該一の物理CPUの処理負荷が変化するわけではない。そうすると、他の物理CPUと処理負荷に不均衡が生じている場合には、全体の処理効率はよいものとは言えない。そこで、本発明は、上記の問題に鑑みて、複数のプロセッサ間で処理負荷の均衡を保つことのできる情報処理システム、方法、プログラム及び集積回路を提供することを目的とする。上記目的を達成するために、本発明は、情報処理システムであって、処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備え、前記ハイパバイザは、各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得手段と、前記取得手段により逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更手段とを有することを特徴とする。上記の構成によると、情報処理システムは、各プロセッサ間で処理負荷量の偏りが生じているときにはプロセッサとタスクグループとの対応付けを変更するので、複数のプロセッサ間で処理負荷の均衡を保つようにすることができる。1.第1の実施の形態以下、本発明の一実施形態である情報処理システム1000について説明する。1.1構成図1は、本実施の形態における情報処理システム1000の構成を示す図である。情報処理システム1000は、複数の物理CPU1a、1b、1cと、入出力装置2と、負荷分散装置3とから構成されている。負荷分散装置3は、ランダムアクセスメモリRAMやフラッシュメモリなどのメモリを有し、実行する各種のプログラムやデータを格納している。1負荷分散装置3負荷分散装置3は、複数のOS毎に仮想計算機を構築し、各OSで生成される複数のタスクの実行を、対応付けられた1つの物理CPUに実行させるものである。具体的には、図1に示すように、負荷分散装置3は、複数ここでは2個のOS20a、20bからなるOS群と、ハイパバイザ5とを備えている。1-1OS20a、20bOS20aは、図1に示すように、仮想計算機4aを構成するものであり、OS20aにはタスクキュー100a、100b、タスク負荷分散部101、タスク登録部102、タスク情報通知部103が備えられている。また、OS20bは、仮想計算機4bを構成するものであり、図1では図示していないが、OS20aと同様の構成である。以下、OS20aとOS20bとは同様の構成であるので、OS20aの構成要素について説明する。タスクキュー100a、100bタスクキュー100a、100bそれぞれは、OS20aで生成されたタスクを格納するものであり、後述する仮想CPUを形成する。各タスクキュー100a、100bで発生するタスク10a、10bは、通常の情報処理システム1000で用いられる処理単位としてのタスクである。OS20aは複数のCPUを用いて動作するものであるが、本実施の形態では仮想計算機として動作するので仮想的な複数のCPU仮想CPUを用いて動作することになる。タスク負荷分散部101タスク負荷分散部101は、生成されたリアルタイムタスクや通常のタスクの分散を決定する。ここで、リアルタイムタスクとは、例えばデッドラインまでの実行の完了といったリアルタイム性能を要求するタスクであり、例えば、優先度を高くするといった手法で通常のタスクより先に実行されるものである。なお、以降においてRTタスクと記述し、リアルタイム性能を要求しない通常のタスクを単に通常タスクと記述する。なお、RTタスクと通常タスクとを区別する必要がない場合には、単に、タスクと記述する。タスク負荷分散部101は、例えば、新たにタスクが生成された際に動作し、タスクキュー100a、100bのうちどのタスクキューに新たに生成されたタスクを登録すれば負荷が分散されるかを決定する。具体的には、タスク負荷分散部101は、タスクが新たに生成されると、タスクキュー100a、100bそれぞれの処理負荷として、各タスクキュー100a、100bで保持されている各タスクそれぞれの優先度の合計値を算出する。タスク負荷分散部101は、処理負荷の小さい、つまり優先度の合計値が最も小さいタスクキューを決定する。タスク登録部102タスク登録部102は、タスク負荷分散部101の決定を受け、決定されたタスクキューに生成されたタスクを登録する。タスク情報通知部103タスク情報通知部103は、新たに生成されたタスクが通常タスクであるかRTタスクであるかを判断し、RTタスクであると判断する場合には、RTタスクの登録先をハイパバイザ5に通知する。この時、タスク情報通知部103は、タスク登録部102から呼び出され、タスク登録部102を実行した物理CPUで即座に実行されるものとする。1-2ハイパバイザ5ハイパバイザ5は、仮想計算機4a、4bそれぞれにおける各仮想CPUについて物理CPUの割り当ての管理やタスクをOSに実行させる制御を行う。ハイパバイザ5は、仮想CPU負荷決定部200、仮想CPU負荷分散部201及び仮想CPUスケジュール部202を有している。仮想CPU負荷決定部200仮想CPU負荷決定部200は、各仮想CPU6a~6dの負荷を決定するものである。具体的には、仮想CPU負荷決定部200は、タスク情報通知部103から新たに生成されたRTタスクの登録先の通知を受け取ると、現時点での各タスクキューにおける負荷状況を特定する。ここで、例えば、各タスクキューについて当該タスクキューがRTタスクを保持しているか否かにより処理負荷を管理する。この場合、RTタスクには、通常、優先度が高い値が対応付けられているので、仮想CPU負荷決定部200は、予め定められた閾値以上の優先度を持つタスクの存在の有無、つまりRTタスクの存在の有無を検知することができ、存在を検知するとそのタスクキューは処理負荷が高いとし、存在が未検知である場合にはタスクキューの処理負荷は低いと特定する。仮想CPU負荷分散部201仮想CPU負荷分散部201は、物理CPU1a、1b、1cそれぞれについて仮想計算機4a、4bそれぞれのタスクキュー仮想CPUの分配を決定し、実行するものである。具体的には、仮想CPU負荷分散部201は、仮想CPU負荷決定部200で特定された各タスクキューにおける負荷状況に基づいて、各物理CPU1a、1b、1cについて当該物理CPUの処理負荷を特定する。仮想CPU負荷分散部201は、物理CPU毎に特定した処理負荷について偏りが生じている場合には、偏りが生じないように物理CPU1a、1b、1cそれぞれについてタスクキュー仮想CPUの分配を決定し、決定された分配となるよう変更する。仮想CPUスケジュール部202仮想CPUスケジュール部202は、個々の物理CPUに分配された仮想CPUの実行の順番を決定するものである。例えば、1つの物理CPUに異なる仮想CPUが分配されている場合には、仮想CPUスケジュール部202は、一の仮想CPUと他の仮想CPUとを時分割で実行するよう処理順番を決定する。具体的には、1つの物理CPUに分配されている2つの仮想CPUについては、一の仮想CPUと他の仮想CPUのコンテキストを切り替えることで、2つの仮想CPUを時分割で実行するよう処理順番を決定する。また、各仮想CPUは、当該仮想CPUが保持している各タスクを時分割により順次実行する。2物理CPU1a、1b、1c物理CPU1a、1b、1cは、ハイパバイザ5の制御により分配された1又は複数のタスクキューに登録されたタスクを、仮想CPUスケジュール部202でスケジュールされた処理順番に従って処理する。3入出力装置2入出力装置2は、外部からの指示を受け付け、受け付けた指示を物理CPU1a、1b、1c及び負荷分散装置3へ通知するものである。1.2分配の具体例ここでは、各タスクキュー仮想CPUの分配の変更について、具体例を用いて説明する。1具体例1生成されたタスクを仮想CPUへの分配する具体例図2は、分配の一例を示すものである。図2では、仮想計算機4aのタスクキュー100a仮想CPU6aは物理CPU1aに分配され、タスクキュー100b仮想CPU6bは物理CPU1bに分配されている。また、仮想計算機4bのタスクキュー100c仮想CPU6cは物理CPU1bに分配され、タスクキュー100d仮想CPU6dは物理CPU1cに分配されている。つまり、物理CPU1bには、2つのタスクキュー100b、100cが分配されている状態である。そして、図2では、この分配状態において仮想CPU6aにてRTタスク30が生成されたものとする。そして、タスク負荷分散部101は、タスクキュー100a、100bそれぞれで保持されているRTタスクの個数に基づいて、タスクキュー100a、100bについて処理負荷に偏りが生じないように新たなRTタスク30の登録先を決定する。例えば、タスク負荷分散部101は登録先をタスクキュー100bと決定し、図3に示すように、タスク登録部102はRTタスク30を決定された登録先仮想CPU6bへと移動させ、タスクキュー100bへ登録する。タスク情報通知部103は、仮想CPU6bのタスクキューにRTタスク30が登録されたことをハイパバイザ5に通知する。この時、上述したように、タスク情報通知部103は、タスク登録部102から呼び出され、タスク登録部102を実行したCPUここでは、物理CPU1aで即座に実行される。例えば、仮想CPU6bでのタスクスイッチの時に、RTタスク30の登録をハイパバイザ5に通知することも可能である。しかし、タスクスイッチ時の通知の場合、通知は仮想CPU6bが物理CPU1bで実行された後になる。つまり、タスク登録部102が仮想CPU6bのタスクキュー100bにRTタスク30が登録したにもかかわらず、その情報がハイパバイザ5に通知されるのが遅れる場合がある。その為、RTタスク30の実行が要求を満たせなくなる可能性がある。本実施の形態では、この問題を避ける為、タスク登録部102が動作した際に、その物理CPUでハイパバイザ5への通知を即座に動作させる。仮想CPU負荷決定部200は、タスク情報通知部103から新たに生成されたRTタスクの登録先の通知を受け取ると、現時点での各タスクキューにおける負荷状況を特定する。そして、仮想CPU負荷分散部201は、各物理CPU1a~1cへの仮想CPU6a~6dの分配を決定し、実行する。なお、このとき、仮想CPU負荷決定部200、仮想CPU負荷分散部201は、タスク情報通知部103と同様に、タスク登録部102を実行したCPUここでは、物理CPU1aで即座に実行される。なお、仮想CPU負荷分散部201で各物理CPU1a~1cへの仮想CPU6a~6dの分配を決定し、実行がされると、図3では図示していないが、図1に示す仮想CPUスケジュール部202で、個々の物理CPUに分配された仮想CPUの実行の順番が決定される。図4aは、RTタスク30が仮想CPU6aタスクキュー100aから仮想CPU6bタスクキュー100bへ移動した場合における、各仮想CPU6a~6dタスクキュー100a~100dの一例を示すものである。各仮想CPUを物理CPUへ再分配する具体例図4aでは、物理CPU1bに2つの仮想CPU6b、6cが分配されており、仮想CPU6bにはRTタスク30が、仮想CPU6cにはRTタスク30cが、それぞれ登録されている。そして、他の仮想CPU6a、6dにはRTタスクは登録されていない。この場合、仮想CPU負荷分散部201は、物理CPU1bにRTタスクの個数の偏りが生じているので、偏りが生じないように物理CPU1a、1b、1cそれぞれについてタスクキュー仮想CPUの分配を決定し、決定された分配となるよう変更する。図4bは、その結果の一例を示すものであり、仮想CPU6bに対する物理CPUの割り当てを変更している。これにより、物理CPU1aと、物理CPU1bとに対して、RTタスクが登録されたタスクキュー仮想CPU6b、仮想CPU6cをそれぞれ個別に分配しているので、RTタスクの偏りが生じないようになっている。これにより、RTタスク30を持つ仮想CPUは、物理CPUごとに高々一つになる。各物理CPU1a~1cに対してタスクキュー仮想CPUが再分配された後、仮想CPUスケジュール部202により、個々の物理CPU1a~1cに分配された仮想CPU6a~6dの実行の順番を決定する。図4では、例えば、仮想CPUスケジュール部202はRTタスク30を持つ仮想CPUを優先して実行する。例えば、同じ物理CPUにRTタスク30を持つ仮想CPUと持たない仮想CPUが分配された場合ここでは、物理CPU1b、仮想CPUスケジュール部202は、RTタスク30cを持つ仮想CPU6cをまず実行し、この仮想CPUのタスクが無くなる、つまりアイドルになった際に、RTタスクを持たない仮想CPU6aに切り替える。1.3動作ここでは、情報処理システム1000の動作について説明する。1概要まず、処理の概要について、図5に示す流れ図を用いて説明する。タスク負荷分散部101は、新たに生成されたタスクの仮想CPUへの分散を決定するステップS5。タスク登録部102は、タスク負荷分散部101で決定された仮想CPUのタスクキューに新たに生成されたタスクを登録するステップS10。タスク情報通知部103は、タスクキューに登録されたタスクの情報を、ハイパバイザ5に即座に通知するステップS15。ハイパバイザ5の仮想CPU負荷決定部200は、タスク情報通知部103からの通知を受け取ると、各仮想CPUの負荷を決定するステップS20。仮想CPU負荷分散部201は、仮想CPU負荷決定部200の決定結果に基づいて、各仮想CPUを物理CPU1a~1cに分散するステップS25。仮想CPUスケジュール部202は、各物理CPU1a~1cそれぞれについて、当該物理CPUに分配された仮想CPUの実行の順番を決定するステップS30。そして、各物理CPUは、決定された順番に従って、当該物理CPUに分配された1又は複数の仮想CPUに含まれるタスクを実行する。2処理の詳細ここでは、図5で示した処理の詳細を、図6に示す流れ図を用いて説明する。なお、ここでは、仮想計算機4aにて新たなRTタスクが生成されたものとして説明する。タスク負荷分散部101は、新たなタスクが生成されると、各仮想CPU6a、6bのタスクキュー100a、100bそれぞれついて、当該タスクキューに保持されているタスクの優先度の合計値を算出し、これら合計値を各仮想CPU6a、6bの処理負荷とし、新たなタスクが生成されたOS内で最も処理負荷の小さい仮想CPUを特定するステップS100。タスク登録部102は、特定された仮想CPUのタスクキューに生成された新たなタスクを登録するステップS105。タスク情報通知部103は、登録されたタスクはRTタスクであるか否かを判断するステップS110。RTタスクであると判断する場合にはステップS110におけるYes、タスク情報通知部103は、新たなRTタスクを登録した旨をハイパバイザ5の仮想CPU負荷決定部200に通知するステップS115。仮想CPU負荷決定部200は、タスク情報通知部103からの通知を受け取ると、現時点での各タスクキューにおける負荷状況を特定するステップS120。仮想CPU負荷分散部201は、仮想CPU負荷決定部200で特定された各タスクキューにおける負荷状況に基づいて、各物理CPU1a~1cそれぞれの処理負荷を特定する。そして、仮想CPU負荷分散部201は、特定した各物理CPU1a~1cについての処理負荷に基づいて、各仮想CPU6a~6dの物理CPU1a~1cへの分配を決定する。具体的には、仮想CPU負荷決定部200は、RTタスクを有する複数の仮想CPUのうち同一の物理CPUに分配されているものが存在するか否かを判断するステップS125。同一の物理CPUに分配されているものが存在すると判断する場合にはステップS125におけるYes、仮想CPU負荷決定部200は、RTタスクを有していない仮想CPUが分配されている物理CPUを検索するステップS130。検索結果によりRTタスクを有していない仮想CPUが分配されている物理CPUが見つかった場合ステップS135におけるYes、見つかった物理CPUの処理負荷は低いと特定するステップS140。仮想CPU負荷分散部201は、新たなRTタスクが登録された仮想CPUと、処理負荷が低いと特定された物理CPUに分配されているRTタスクを有していない仮想CPUとを入れ替えるステップS145。タスク情報通知部が仮想CPUに登録されたタスクはRTタスクでないと判断する場合にはステップS110におけるNo、RTタスクを有する複数の仮想CPUのうち同一の物理CPUに分配されているものが存在しないと判断する場合ステップS125におけるNo、及びステップS130による検索結果により、該当する物理CPUが見つからなかった場合ステップS135におけるNo、処理は終了する。なお、本処理が実行された後において、仮想CPUスケジュール部202により、各物理CPU1a~1cそれぞれについて、当該物理CPUに分配された仮想CPUの実行の順番が決定される。1.4第1の実施の形態に係る変形例1第1の変形例第1の変形例において、第1の実施の形態と異なる点は、仮想CPU負荷分散部での分配方法である。以下の説明において、第1の実施の形態と同様の構成要素については、同じ符号を用いて説明する。第1の変形例における仮想タスク負荷分散部以下、単に仮想タスク負荷分散部という。は、仮想CPU負荷決定部200で特定された各タスクキューにおける負荷状況から、現時点での物理CPU1a~1cそれぞれの負荷状況を特定する。以下、その具体的な機能について説明する。仮想タスク負荷分散部は、RTタスクを保持する仮想CPUタスクキューが分配されている物理CPUここでは、第1物理CPUという。に他の仮想CPUも分配されているかどうかを判断する。他の仮想CPUも分配されていると判断する場合には、仮想タスク負荷分散部は、RTタスクを保持した仮想CPUが分配されていない物理CPUここでは、第2物理CPUという。が存在するときには第2物理CPUの負荷が低いと判断し、当該第2物理CPUに対して、第1物理CPUに分配されている他の仮想CPUを再分配する。2具体例ここで、上記で説明した仮想CPU負荷分散部の機能を適用した分配方法の具体例について説明する。図7aは、図3におけるRTタスク30が仮想CPU6aタスクキュー100aから仮想CPU6bタスクキュー100bへ移動した場合における、各仮想CPU6a~6dタスクキュー100a~100dの一例を示すものである。図7aでは、物理CPU1bに2つの仮想CPU6b、6cが分配されており、仮想CPU6bにはRTタスク30が登録され、仮想CPU6cにはRTタスクは登録されていない。そして、仮想CPU6aにはRTタスク30aが登録され、仮想CPU6dにはRTタスクは登録されていない。この場合、仮想CPU負荷分散部201は、物理CPU1bについて、RTタスクを保持する仮想CPU6bとRTタスクを保持しない仮想CPU6cとが同一の物理CPU1bに分配されているので、処理負荷に偏りが生じていると判断し、偏りが生じないよう、つまりRTタスク30を持つ仮想CPU6bを分配した物理CPU1bには、他の仮想CPUを分配しないよう新たな分配を決定し、決定された分配となるよう変更する。図7bは、その結果の一例を示すものであり、仮想CPU6cに対する物理CPUの割り当てを変更している。この例では、RTタスク30が仮想CPU6bに移動された為、仮想CPU6cが、物理CPU1cに分散されている。RTタスクを保持する仮想CPUが分配されている物理CPUには他の仮想CPUを分配しないようにすることで、RTタスクを保持する仮想CPUについては競合は起こらないので、仮想CPUスケジュール部202は特別の動作をする必要はない。3動作ここでは、第1の変形例に係る情報処理システムの動作について、第1の実施の形態と異なる点を中心に、図8に示す流れ図を用いて説明する。先ず、第1の変形例に係る情報処理システムは、図6に示すステップS100からS115を実行する。なお、これらの処理動作については既に説明しているので、ここでの説明は省略する。ステップS115が実行された後、仮想CPU負荷決定部200は、タスク情報通知部103からの通知を受け取ると、現時点での各タスクキューにおける負荷状況を特定するステップS200。仮想タスク負荷分散部は、RTタスクを保持する仮想CPUと他の仮想CPUとが同一の物理CPUに分配されているか否かを判断するステップS205。具体的には、仮想タスク負荷分散部は、RTタスクを保持する仮想CPUが分配されている第1物理CPUに他の仮想CPUも分配されているかどうかを判断する。判断が肯定的である場合にはステップS205におけるYes、仮想CPU負荷分散部は、RTタスクを保持していない仮想CPUが分配されている物理CPUを検索するステップS210。検索結果によりRTタスクを保持していない仮想CPUが分配されている物理CPUが見つかった場合ステップS215におけるYes、仮想CPU負荷分散部は、見つかった物理CPUの処理負荷は低いと特定し、検索結果により見つかった物理CPU第2物理CPUに対して、第1物理CPUに分配されている他の仮想CPUを再分配する。ステップS205における判断が否定的である場合ステップS205におけるNo、及びステップS210における検索結果によりRTタスクを保持していない仮想CPUが分配されている物理CPUが見つからなかった場合ステップS215におけるNo、処理は終了する。なお、本処理が実行された後において、仮想CPUスケジュール部202により、各物理CPU1a~1cそれぞれについて、当該物理CPUに分配された仮想CPUの実行の順番が決定される。2第2の変形例第1の変形例において、第1の実施の形態と異なる点は、仮想タスク負荷分散部での分配方法である。以下の説明において、第1の実施の形態と同様の構成要素については、同じ符号を用いて説明する。第2の変形例では、通常タスク、RTタスクの双方に対してタスクの負荷を示す値負荷値を予め決めておく。具体的には、本変形例に係る仮想CPU負荷決定部は、タスクキュー100a、100bそれぞれについて当該タスクキューで保持しているタスクの負荷値の合計を対応する仮想CPUの処理の負荷状態とする。本変形例に係る仮想CPU負荷分散部は各仮想CPU6a~6dそれぞれの負荷値の合計が物理CPU1a~1c毎に均等になるように、仮想CPU6a~6dを分散分配する。2具体例ここで、上記で説明した本変形例に係る仮想CPU負荷分散部の機能を適用した分配方法の具体例について説明する。図9aは、図3におけるRTタスク30が仮想CPU6aタスクキュー100aから仮想CPU6bタスクキュー100bへ移動した場合における、各仮想CPU6a~6dタスクキュー100a~100dの一例を示すものである。ここで、通常タスクには負荷値として値1が、RTタスクには負荷値として値10が割り当てられるものとする。図9aでは、物理CPU1bに2つの仮想CPU6b、6cが分配されており、仮想CPU6bにはRTタスク30と通常タスク10bとが登録され、仮想CPU6cにはRTタスク30cと通常タスク10cとが登録されている。そして、仮想CPU6aには通常タスク10aが登録され、仮想CPU6dにはRTタスク30dと通常タスク10dとが登録されている。この場合、RTタスク30の移動により、仮想CPU6aの負荷値の合計は11から1へと、仮想CPU6bの負荷値の合計は12から22へとそれぞれ変更される。そうすると、物理CPU1bに分配されている仮想CPU6b、6cによる負荷値の合計値が22となり、他の物理CPU1a、1cと比べて高いものとなっている。そこで、仮想CPU負荷分散部201は、物理CPU1bについて、処理負荷に偏りが生じていると判断し、偏りが生じないよう、つまり負荷値の合計が均等となるように新たな分配を決定し、決定された分配となるよう変更する。図9bは、その結果の一例を示すものであり、仮想CPU6bに対する物理CPUの割り当てを変更している。この例では、仮想CPU6bが物理CPU1aに分散分配されている。再分配後の物理CPU1a~1cそれぞれの負荷値の合計は、12、11、11となりほぼ均等となる。これにより、RTタスクを持つ仮想CPUが特定の物理CPUに集中することを避けることができる。なお、一般に優先度が高いタスクがリアルタイムタスクとなるので、タスクの負荷はタスクの優先度から決定してもよい。3動作ここでは、第2の変形例に係る情報処理システムの動作について、図10に示す流れ図を用いて説明する。なお、ここでは、仮想計算機4aにて新たなタスクが生成されたものとして説明する。タスク負荷分散部101は、新たなタスクが生成されると、各仮想CPU6a、6bのタスクキュー100a、100bそれぞれついて、当該タスクキューに保持されているタスクの優先度の合計値を算出し、これら合計値を各仮想CPU6a、6bの処理負荷とし、新たなタスクが生成されたOS内で最も処理負荷の小さい仮想CPUを特定するステップS300。タスク登録部102は、特定された仮想CPUのタスクキューに生成された新たなタスクを登録するステップS305。タスク情報通知部103は、登録された新たなタスクの負荷値を本変形例に係る仮想CPU負荷決定部へ通知するステップS310。本変形例に係る仮想CPU負荷決定部は、仮想CPU6a~6d毎に、負荷値の合計を算出するステップS315。本変形例に係る仮想CPU負荷分散部は、算出された仮想CPU毎の負荷値の合計から物理CPU1a~1c毎の負荷状況を特定するステップS320。本変形例に係る仮想CPU負荷分散部は、新たなタスクが登録された仮想CPUを最も負荷の低い物理CPUへ移動した場合の当該物理CPUの負荷を算出するステップS325。本変形例に係る仮想CPU負荷分散部は、ステップS325で計算された結果のほうが、計算前の結果よりも各物理CPU1a~1cの負荷が均等化されるか否かを判断するステップS330。均等化されると判断する場合にはステップS330におけるYes、本変形例に係る仮想CPU負荷分散部は、タスクが登録された仮想CPUを最も負荷の低い物理CPUへ移動するステップS335。均等化されないと判断する場合にはステップS330におけるNo、処理は終了する。なお、本処理が実行された後において、仮想CPUスケジュール部202により、各物理CPU1a~1cそれぞれについて、当該物理CPUに分配された仮想CPUの実行の順番が決定される。1.5第1の実施の形態のまとめ以上により、本実施の形態に係る情報処理システム1000は、一の仮想CPUでRTタスクが生成されると、各仮想CPUが分配されている物理CPUについてRTタスクが重複しないよう再割付を行うので、RTタスクの競合を避け、RTタスクの実行要求を満たせるように、仮想CPUの負荷を物理CPU間で分散できる。2.第2の実施の形態ここでは、第1の実施の形態と異なる点を中心に説明する。なお、第1の実施の形態と同一の構成要素については同一の符号を付するものとする。図11は、第2の実施の形態における情報処理システム1000aの構成を示す図である。図11の情報処理システム1000aは、図1に示した情報処理システム1000に、割り込み通知部204を追加し、情報処理システム1000の仮想CPU負荷決定部200を仮想CPU負荷決定部203に置き換えたものである。2.1構成ここでは、仮想CPU負荷決定部203及び割り込み通知部204について説明する。1仮想CPU負荷決定部203仮想CPU負荷決定部203は、第1の実施の形態で示す仮想CPU負荷決定部200の機能と同様の機能とともに、以下の機能を有する。仮想CPU負荷決定部203は、割り込み通知部204で割り込みが受け付けられると、割り込み対象の仮想CPUに対して割り込み通知を発行すべきか否かを判断し、発行すべきと判断する場合には、仮想CPU負荷決定部203は、割り込み通知を発行すべき旨の指示割り込み通知指示を割り込み通知部204へ通知する。なお、割り込み通知を発行すべきか否かを判断する動作については、後述する。特定し、その結果を割り込み通知部204に通知する。2割り込み通知部204割り込み通知部204は、入出力装置2からの割り込みを受け付けると、割り込みの対象である仮想CPUを特定する。そして、割り込み通知部204は、仮想CPU負荷決定部203により特定した仮想CPUに対する割り込み通知指示を受け取ると、割り込みの通知を即座に行う。ここで、割り込み通知を即座に行うとは、他の割り込み通知リアルタイムタスク以外のタスクに関する割り込みが発行待ちの状態であっても、リアルタイムタスクに係る割り込みを発行待ちの状態とすることなく、他の割り込み通知と比較して最優先に発行することである。従来、仮想計算機技術では、割り込みの通知は遅らせることができるので、例えば、対象の仮想CPUが実行されていない場合、実行を待ってから仮想計算機に通知するといったことがある。例えば、タスクは一時的に動作を止めるサスペンド状態になり、サスペンド状態のタスクは割り込みを契機として再実行される。従って、RTタスクを持つ仮想CPUに対する割り込み通知は、RTタスクの再動作の契機になっている可能性がある。そこで、割り込み通知部204は、即座の割り込み通知でRTタスクの即座の再動作を可能にする。また、RTタスクを持つ仮想CPUと他の仮想CPUが同じ物理CPUで実行されている場合、他の仮想CPUに割り込みを即座に通知すると、その処理によりRTタスクを持つ仮想CPUの実行が中断する可能性がある。このような場合は、RTタスクを持つ物理CPUがアイドル状態になるまで、同じ物理CPUに分配されている他の仮想CPUへの割り込み配送を遅延させても良い。2.2動作仮想CPUの分配に係る動作は、第1の実施の形態で示す図5、6と同様の動作で実現できるので、ここでの説明は省略する。以下、割り込み通知があった場合における動作について図12に示す流れ図を用いて説明する。割り込み通知部204は、入出力装置2から割り込みを受け付けるステップS400。割り込み通知部204は、受け付けた割り込みに対象となる仮想CPUを特定するステップS405。仮想CPU負荷決定部203は、割り込み通知部204で特定された仮想CPUがRTタスクを保持しているか否かを判断するステップS410。特定された仮想CPUがRTタスクを保持していると判断する場合ステップS410におけるYes、仮想CPU負荷決定部203は、割り込み通知指示を割り込み通知部204へ通知する。そして、割り込み通知部204は、割り込み通知指示を受け付けると、即座に割り込み通知を特定した仮想CPUへ発行するステップS430。特定した仮想CPUがRTタスクを保持していないと仮想CPU負荷決定部203が判断する場合ステップS410におけるNo、仮想CPU負荷決定部203は、さらに、特定された仮想CPUと他の仮想CPUとが同一の物理CPUに分配されているか否かを判断するステップS415。同一の物理CPUに分配されていると判断する場合ステップS415におけるYes、仮想CPU負荷決定部203は、当該他の仮想CPUはRTタスクを保持しているか否かを判断するステップS420。他の仮想CPUがRTタスクを保持していると判断する場合ステップS420におけるYes、仮想CPU負荷決定部203は、当該物理CPUがアイドル状態であるか否かを判断するステップS425。アイドル状態であると判断する場合ステップS425におけるYes、仮想CPU負荷決定部203は、割り込み通知指示を割り込み通知部204へ通知する。そして、割り込み通知部204は、割り込み通知指示を受け付けると、割り込み通知を特定した仮想CPUへ発行するステップS430。また、特定した仮想CPUが分配された物理CPUに他の仮想CPUが分配されていない場合ステップS415におけるNo、及び特定した仮想CPUが分配された物理CPUに他の仮想CPUにも分配されているか、当該他の仮想タスクがRTタスクを保持していない場合ステップS420におけるNo、仮想CPU負荷決定部203は、割り込み通知指示を割り込み通知部204へ通知する。そして、割り込み通知部204は、割り込み通知指示を受け付けると、即座に割り込み通知を特定した仮想CPUへ発行するステップS430。3.第3の実施の形態ここでは、第3の実施の形態について、第1の実施の形態と異なる点を中心に説明する。なお、第1の実施の形態と同一の構成要素については同一の符号を付するものとする。図13は、第3の実施の形態における情報処理システム1000bの構成を示す図である。図13の情報処理システム1000bは、図1に示した情報処理システム1000に、リアルタイムタスク実行通知部104を追加し、情報処理システム1000の仮想CPU負荷決定部200及び仮想CPU負荷分散部201それぞれを仮想CPU負荷決定部205及び仮想CPU負荷分散部206に置き換えたものである。3.1構成以下、リアルタイムタスク実行通知部104、仮想CPU負荷決定部205及び仮想CPU負荷分散部206それぞれの機能について説明する。1リアルタイムタスク実行通知部104リアルタイムタスク実行通知部104は、RTタスクの動作が開始された時間を示す時間情報を仮想CPU負荷決定部205に通知するものである。ここで、RTタスクに係る時間情報は、例えばOS20a内のタスクスケジューラ図示せずから取得される。2仮想CPU負荷決定部205仮想CPU負荷決定部205は、RTタスクの時間情報を受け取ると、受け取った時間情報と、前回受け取った時間情報とから当該RTタスクの動作周期起動周期を算出し、算出した動作周期を、当該RTタスクを保持する仮想CPUの負荷として記録する。3仮想CPU負荷分散部206仮想CPU負荷分散部206は、第1の実施の形態における仮想CPU負荷分散部201の機能に、以下に示す機能を備える。仮想CPU負荷分散部206は、再分配を決定する際に、RTタスクを保持する仮想CPUが分配されていない物理CPUを検索した場合に、当該物理CPUが見つからないときには、新たに生成されたRTタスクを保持する仮想CPUを、動作周期が最も長い周期であるRTタスクを保持する仮想CPUが分配された物理CPUに分配する。3.2分配の具体例以下において、本実施の形態での各仮想CPUの分散の方法の例である。図14aは、分配変更前の状態を示している。具体的には、物理CPU1bに2つの仮想CPU6b、6cが分配されており、仮想CPU6bには新たに生成されたRTタスク40が、仮想CPU6cにはRTタスク30cが、それぞれ登録されている。そして、他の仮想CPU6a、6dについても、それぞれRTタスク30a、30dが登録されている。この場合、仮想CPU負荷分散部201は、全ての仮想CPUにRTタスクが存在するので、各物理CPU1aから1cに高々1個のRTタスクが割り当てられるように、仮想CPUを再分配することができない。そこで、仮想CPU負荷分散部206は、新たに生成されたRTタスク40を保持する仮想CPU6bを、動作周期が最も長い周期であるRTタスクを保持する仮想CPUを検索し、検索された仮想CPUが分配されている物理CPUに、仮想CPU6bを再分配する。図14bは、その結果の一例を示すものであり、仮想CPU6bを、分配先を物理CPU1bから、動作周期が最も長い周期であるRTタスクを保持する仮想CPU6aが分配されている物理CPU1aに変更している。このように、再分配をすることで、新たなRTタスクは、動作周期が長いRTタスクとならば競合する可能性は低い。従って、仮想CPU6aのRTタスク30aと仮想CPU6bのRTタスク40とが同時に動作を要求される可能性は低く、リアルタイム要求を満たしやすい。さらにRTタスクを持つ仮想CPUの数が増える場合は、例えば、物理CPUごとに分配されている複数の仮想CPU6a~6dそれぞれにおけるリアルタイムタスクの周期の内、最も短いものを物理CPUの動作周期として分配先を決めても良い。3.3動作ここでは、第3の実施の形態に係る情報処理システム1000bの動作について説明する。1動作周期更新処理ここでは、仮想CPU負荷決定部205がRTタスク毎に管理している動作周期の更新の処理の動作について、図15に示す流れ図を用いて説明する。リアルタイムタスク実行通知部104は、管理対象のタスクキューで保持されている一のRTタスクの動作が開始されたか否かを判断するステップS400。動作が開始されたと判断する場合にはステップS400におけるYes、リアルタイムタスク実行通知部104は、当該RTタスクに係る時間情報を仮想CPU負荷決定部205に通知するステップS405。仮想CPU負荷決定部205は、リアルタイムタスク実行通知部104から動作が開始されたRTタスクについて、前回の動作情報と今回受け取った動作情報とから動作周期を算出し、管理している当該RTタスクの動作周期を更新するステップS410。2タスク生成移動処理ここでは、情報処理システム1000bで行われるタスクの生成移動処理の動作について、第1の実施の形態と異なる点を中心に、図16に示す流れ図を用いて説明する。先ず、情報処理システム1000bは、図6に示すステップS100からS115を実行する。なお、これらの処理動作については既に説明しているので、ここでの説明は省略する。ステップS115が実行された後において、仮想CPU負荷決定部205は、タスク情報通知部103からの通知を受け取ると、現時点での各タスクキューにおける負荷状況を特定するステップS500。仮想CPU負荷分散部206は、新たなRTタスクを保持する仮想CPUと他の仮想CPUとが同一の物理CPUに分配されているか否かを判断するステップS505。具体的には、仮想CPU負荷分散部206は、新たなRTタスクを保持する仮想CPUが分配されている物理CPUに他の仮想CPUも分配されているかどうかを判断する。判断が肯定的である場合にはステップS505におけるYes、仮想CPU負荷分散部は、RTタスクを保持していない仮想CPUが分配されている物理CPUを検索するステップS510。検索結果によりRTタスクを保持していない仮想CPUが分配されている物理CPUが見つかった場合ステップS515におけるYes、仮想CPU負荷分散部206は、見つかった物理CPUの処理負荷は低いと特定し、検索結果により見つかった物理CPUに対して、新たなRTタスクを保持する仮想CPUが分配されている物理CPUに分配されている他の仮想CPUを再分配する。ステップS510における検索結果によりRTタスクを保持していない仮想CPUが分配されている物理CPUが見つからなかった場合ステップS515におけるNo、仮想CPU負荷分散部206は、新たなRTタスクが登録された仮想CPUを、動作周期の最も長いRTタスクを保持する仮想CPUが分配された物理CPUへ移動するステップS525。ステップS505における判断が否定的である場合ステップS205におけるNo、処理は終了する。なお、本処理が実行された後において、仮想CPUスケジュール部202により、各物理CPU1a~1cそれぞれについて、当該物理CPUに分配された仮想CPUの実行の順番が決定される。4.第4の実施の形態ここでは、第4の実施の形態について、第1の実施の形態と異なる点を中心に説明する。なお、第1の実施の形態と同一の構成要素については同一の符号を付するものとする。図17は、第4の実施の形態における情報処理システム1000cの構成を示す図である。図17の情報処理システム1000cは、図1に示した情報処理システム1000に、仮想CPU処理能力通知部207を追加し、情報処理システム1000のタスク負荷分散部101をタスク負荷分散部105に置き換えたものである。4.1構成1仮想CPU処理能力通知部207仮想CPU処理能力通知部207は、仮想CPUスケジュール部202より仮想CPUにどれだけの物理CPU時間を割り当てるかの情報を取得する。例えば、物理CPU時間の50を割り当てるといった情報である。仮想CPU処理能力通知部207は、各物理CPU1aから1cの割り当て時間から仮想CPU6aから6dの処理能力を算出し、タスク負荷分散部105に通知する。2タスク負荷分散部105タスク負荷分散部105は、CPUの処理能力を考慮してタスクの分散を決定するものである。具体的には、タスク負荷分散部105は、仮想CPU処理能力通知部207から仮想CPU6aから6dそれぞれの処理能力に係る情報を受け取ると、各仮想CPU6aから6dそれぞれの処理能力に基づいて、処理能力が他より低い仮想CPUにはタスクの分配を抑制する。これにより、タスク負荷分散部105は、物理CPU時間の少ない仮想CPUに対してはタスクの分配を抑制する。特定の物理CPUに多くの仮想CPUが分配されている場合、その仮想CPUのタスクキューへのRTタスクの登録が抑制されるので、特定の物理CPUにRTタスクが集中することを抑制することができる。4.2動作ここで、情報処理システム1000cで行われるタスク生成移動処理は、図6で示す動作におけるステップS100を、各仮想CPU6aから6dそれぞれの処理能力に基づいて新たなタスクの格納先を決定するように変更するだけで実現できるので、ここでの詳細な説明は省略する。5.変形例以上、実施の形態及び変形例に基づいて説明したが、本発明は上記の実施の形態及び変形例に限られない。例えば、以下のような変形例が考えられる。1上記各実施の形態では、情報処理システムは、新たにタスクが生成された場合に、当該新たなタスクの移動を決定したが、これに限定されない。情報処理システムは、タスク負荷分散部を一定周期で呼び出し、負荷が均等になるように各タスクキュー間でのタスクの移動を決定してもよい。2上記各実施の形態では、仮想計算機を2つとしたが、これに限定されない。情報処理システムに、3つ以上の仮想計算機を設けてもよい。3上記各実施の形態において、仮想CPUスケジュール部は、時分割により、タスクキューで保持する各タスクの実行順序を決定したが、これに限定されない。OS20a及びOS20bは、RTタスクの終了をハイパバイザ5に通知し、仮想CPUスケジュール部は、終了の通知までRTタスクを持つ仮想CPUの実行を続けるといった仮想CPUスケジュールを行ってもよい。4上記各実施の形態において、RTタスクと通常タスクとを優先度により区別したが、これに限定されない。例えば、優先度以外にリアルタイムタスクを区別する機能を持つOSを用いて、RTタスクと通常タスクと区別してもよい。あるいは、設計上の事項として、リアルタイム性能を要求するタスクには一定以上の優先度を付与する場合、この優先度以上のタスクをリアルタイムタスクとみなしてもよい。本発明におけるRTタスクとは、優先度やタスクの種別を参照にして、特に優先しての実行を要求するタスクとして扱われるタスクに相当するものである。5上記第3の実施の形態において、動作情報をOSのタスクスケジュールから取得するとしたが、これに限定されない。タスクの動作時間を記録しているOSを用いて、当該OSによる記録を利用してもよい。または、タスク登録部によるタスクキューへのタスクの登録で、リアルタイムタスクの動作の時間情報がわかる場合、タスク情報通知部がリアルタイムタスク実行通知部を兼ねてもよい。6上記第3の実施の形態において、再分配に用いる情報として、RTタスクの動作周期としたが、これに限定されない。例えば、RTタスクにおける平均の動作間隔を擬似的な周期としてもよい。また、周期だけでなく、RTタスクの動作の時間を仮想CPUの分散の決定に考慮しても良い。7なお、本発明の各機能ブロックは典型的にはソフトウェアとして実現されるが、集積回路であるLSIとして実現しても良い。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGAFieldProgrammableGateArrayや、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブルプロセッサーを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、その技術を用いて機能ブロックの集積化を行ってもよい。8上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。6.補足1本発明の一態様である、情報処理システムは、処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備え、前記ハイパバイザは、各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得手段と、前記取得手段により逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更手段とを有することを特徴とする。この構成によると、情報処理システムは、各プロセッサ間で処理負荷量の偏りが生じているときにはプロセッサとタスクグループとの対応付けを変更するので、複数のプロセッサ間で処理負荷の均衡を保つようにすることができる。2ここで、前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイム性の処理が要求されるリアルタイムタスクに係る処理負荷量であり、前記変更手段は、各プロセッサ間でリアルタイムタスクに係る処理負荷量に偏りが生じているときには、リアルタイムタスクに係る処理負荷量が分散されるようプロセッサとタスクグループの対応付けを変更するとしてもよい。この構成によると、情報処理システムは、各プロセッサ間でリアルタイムタスクに係る処理負荷量に偏りが生じているときには、リアルタイムタスクに係る処理負荷量が分散されるようにプロセッサとタスクグループとの対応付けを変更するので、リアルタイムタスクに係る処理負荷の均衡を保つことができる。これにより、リアルタイムタスクに係る処理負荷の均衡が保たれるので、リアルタイムタスクに対するリアルタイム要求を満たすことができる。3ここで、タスクグループに含まれるリアルタイムタスクに係る前記処理負荷量は、当該タスクグループに含まれるリアルタイムタスクの個数であり、前記変更手段は、各プロセッサ間で当該プロセッサで処理すべきリアルタイムタスクの個数に偏りが生じているときには、処理すべきリアルタイムタスクの個数が分散されるようプロセッサとタスクグループの対応付けを変更するとしてもよい。この構成によると、情報処理システムは、リアルタイムタスクの個数を処理負荷量とするので、容易に各プロセッサの処理負荷量を特定することができる。4ここで、前記変更手段は、複数のタスクグループが対応付けられたプロセッサにおいて、少なくとも2つのタスクグループそれぞれにリアルタイムタスクを含んでいる場合に、当該プロセッサについてリアルタイムタスクに係る処理負荷量の偏りが生じていると判断し、当該プロセッサにおける前記少なくとも2つのタスクグループそれぞれを個別のプロセッサへ対応付けるとしてもよい。この構成によると、情報処理システムは、同一のプロセッサに対応付けられた少なくとも2つのタスクグループそれぞれを、個別のプロセッサへ対応付けることで、リアルタイムタスクに係る処理負荷の均衡を保つことができる。5ここで、前記変更手段は、複数のタスクグループが対応付けられたプロセッサにおいて、1つのタスクグループにリアルタイムタスクが属している場合に、当該プロセッサについて処理負荷量の偏りが生じていると判断し、当該プロセッサと前記1つのタスクグループのみと対応付け、当該プロセッサに対応付けられていた他のタスクグループを他のプロセッサへ対応付けるとしてもよい。この構成によると、情報処理システムは、1つのプロセッサに、リアルタイムタスクを保持する1つのタスクグループを対応付けることで、リアルタイムタスクを保持しない他のタスクグループとのスケジューリングを行う必要がないので、リアルタイムタスクに対するリアルタイム要求を満たすことができる。6ここで、前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイムタスクの動作間隔を示す値であり、前記変更手段は、一のプロセッサに対して動作間隔の短いリアルタイムタスクが属する第1タスクグループと他のリアルタイムタスクが属する第2タスクグループとが対応付けられている場合に、当該一のプロセッサについて処理負荷量の偏りが生じていると判断し、前記第2タスクグループの対応付けを、動作間隔が前記第1タスクグループの動作間隔よりも長いタスクグループが属する第3タスクグループが対応付けられているプロセッサへ変更するとしてもよい。この構成によると、情報処理システムは、第2タスクグループの対応付けを、第3タスクグループが対応付けられているプロセッサへ変更するので、第2タスクグループにおけるリアルタイムタスクと、第3タスクグループにおけるリアルタイムタスクとで競合が発生する確率を低くすることができる。7ここで、前記ハイパバイザは、さらに、割り込みを受け付けると、リアルタイムタスクを含むタスクグループに含まれるタスクのものである場合には、当該リアルタイムタスクを含むタスクグループの実行制御を行うOSに当該割り込みの通知を即座に行うとしてもよい。この構成によると、情報処理システムは、リアルタイムタスクに係る割り込みが発生すると、即座に割り込み通知を行うので、リアルタイムタスクに対するリアルタイム要求を満たすことができる。8ここで、前記タスクには、処理の優先度が対応付けられており、前記変更手段は、各タスクグループにおいて当該タスクグループに属するタスクの優先度の合計値に基づき、各プロセッサ間で優先度の合計値に偏りが生じている場合に前記処理負荷量に偏りが生じていると判断し、優先度の合計値が平均化されるようプロセッサとタスクグループの対応付けを変更するとしてもよい。この構成によると、情報処理システムは、各タスクグループにおいて当該タスクグループに属するタスクの優先度の合計値を処理負荷量とするので、容易に各プロセッサの処理負荷量を特定することができる。9ここで、前記ハイパバイザは、さらに、各OSに対して、当該OSに属する各タスクグループについて、当該タスクグループが割り当てられたプロセッサにおける当該タスクグループの処理能力を通知する通知手段を備え、各OSは、新たなタスクを生成すると、通知された処理能力のうち高い処理能力を有するタスクグループに前記新たなタスクを割り当てるとしてもよい。この構成によると、情報処理システムは、各プロセッサについて当該プロセッサに対応付けられたタスクグループの処理能力に基づいて、新たに生成されたタスクを割り当てるので、タスクの割り当て時点で、複数のプロセッサ間で処理負荷の均衡を保つようにすることができる。10ここで、前記ハイパバイザは、各プロセッサにおいて、当該プロセッサに対応付けられた1又は複数のタスクグループの処理スケジュールを決定するスケジュール決定手段を備え、前記処理能力は、前記各タスクグループに対する処理スケジュールに基づく処理時間を示すものであるとしてもよい。この構成によると、情報処理システムは、各プロセッサについて当該プロセッサに対応付けられたタスクグループの処理スケジュールに基づいて、新たに生成されたタスクを割り当てることができる。