第1のデバイスと、前記第1のデバイスとは異なる第2のデバイスと、前記第1のデバイスに対応する第1のデバイスドライバ及び前記第2のデバイスに対応する第2のデバイスドライバを有し、前記第1及び第2のデバイスに割込みが発生した場合に前記第1のデバイスからの割込みであるか前記第2のデバイスからの割込みであるかを判定し、この判定結果に基づいて割込みを発生した前記第1または第2のデバイスに処理を行わせる仮想計算機と、を備えた仮想計算機システムにおいて、前記仮想計算機は、前記第1のデバイスが割込みを発生した場合に、前記第1のデバイスの割込み発生を確認する第1の確認信号を前記第1のデバイスドライバを介して送信し、前記第2のデバイスが割込みを発生した場合に、前記第2のデバイスの割込み発生を確認する第2の確認信号を前記第2のデバイスドライバを介して送信するオペレーティングシステム部と、前記第1のデバイスの割込み信号及び前記第2のデバイスの割込み信号を伝送する割込み信号線、前記第1及び第2のデバイスに関する情報を記憶した情報テーブル、前記割込み信号線を介して前記第1又は第2のデバイスの割込み信号を受信した場合に前記オペレーティングシステム部に割込み発生信号を送信し、前記情報テーブルを参照して該割込みを発生したデバイスを判定する割込み判定部、前記割込み発生信号を受信したオペレーティングシステム部から送信される前記第1及び第2の確認信号を受信し、前記割込み判定部の判定結果に基づき前記第1又は第2のデバイスを模擬して該オペレーティングシステム部に応答信号を送信する割込み発生模擬部、を有する仮想マシンモニタと、を備えたことを特徴とする仮想計算機システム。前記第1及び第2のデバイスに関する情報は、前記第1のデバイスが割込みを発生したことを示す該第1のデバイスに設けられた第1の割込み発生フラグのアドレス情報、及び前記第2のデバイスが割込みを発生したことを示す該第2のデバイスに設けられた第2の割込み発生フラグのアドレス情報、を有することを特徴とする請求項1に記載の仮想計算機システム。前記オペレーティングシステム部は、前記第1及び第2のデバイスに関する情報、及び該情報の登録、変更、削除の指示を前記仮想マシンモニタに送信する送信部、を備え、前記仮想マシンモニタは、前記オペレーティングシステム部からの指示を受信し、該指示に応じて前記情報テーブルに情報の登録、変更、削除を行う情報テーブル登録更新部、を備えたことを特徴とする請求項1に記載の仮想計算機システム。第1のデバイスに対応する第1のデバイスドライバ、及び前記第1のデバイスとは異なる第2のデバイスに対応する第2のデバイスドライバ、を有し、前記第1のデバイスが割込みを発生した場合に、前記第1のデバイスの割込み発生を確認する第1の確認信号を前記第1のデバイスドライバを介して送信し、前記第2のデバイスが割込みを発生した場合に、前記第2のデバイスの割込み発生を確認する第2の確認信号を前記第2のデバイスドライバを介して送信するオペレーティングシステム部と、前記第1のデバイスの割込み信号及び前記第2のデバイスの割込み信号を伝送する割込み信号線を有し、前記割込み信号線を介して前記第1又は第2のデバイスの割込み信号を受信した場合に前記第1のデバイスからの割込みであるか前記第2のデバイスからの割込みであるかを判定し、この判定結果を前記オペレーティングシステム部に通知する仮想マシンモニタと、を備えた仮想計算機において、前記仮想マシンモニタは、前記第1及び第2のデバイスに関する情報を記憶した情報テーブルと、前記割込み信号線を介して前記第1又は第2のデバイスの割込み信号を受信した場合に前記オペレーティングシステム部に割込み発生信号を送信し、前記情報テーブルを参照して該割込みを発生したデバイスを判定する割込み判定部と、前記割込み発生信号を受信したオペレーティングシステム部から送信される前記第1及び第2の確認信号を受信し、前記割込み判定部の判定結果に基づき前記第1又は第2のデバイスを模擬して該オペレーティングシステム部に応答信号を送信する割込み発生模擬部と、を備えたことを特徴とする仮想計算機。第1のデバイスと、前記第1のデバイスとは異なる第2のデバイスと、前記第1のデバイスに対応する第1のデバイスドライバ及び前記第2のデバイスに対応する第2のデバイスドライバを有するオペレーティングシステム部、及び前記第1及び第2のデバイスに関する情報テーブルを有し、前記第1又は第2のデバイスから割込み信号を受信すると該割込みを発生したデバイスを判定して前記オペレーティングシステム部に通知する仮想マシン、を備えた仮想計算機と、が設けられた仮想計算機システムの割込み処理方法において、前記第1又は第2のデバイスが前記仮想計算機に対して割込み信号を送信する第1の送信ステップと、前記第1の送信ステップにより送信された前記割込み信号を前記仮想マシンが受信する受信ステップと、前記受信ステップにより前記割込み信号を受信した前記仮想マシンが、前記情報テーブルを参照して該割込みを発生したデバイスを判定する判定ステップと、前記受信ステップにより前記割込み信号を受信した前記仮想マシンが、前記第1のデバイスの割込み発生又は前記第2のデバイスの割込み発生を通知する割込み発生信号を前記オペレーティングシステム部に送信する第2の送信ステップと、前記第2の送信ステップにより送信された前記割込み発生信号を受信した前記オペレーティングシステム部が、前記割込み発生信号により前記第1のデバイスに割込みが発生したとの通知を受けた場合に該第1のデバイスに割込み発生有無を確認する第1の確認信号を送信し、前記割込み発生信号により前記第2のデバイスに割込みが発生したとの通知を受けた場合に該第2のデバイスに割込み発生有無を確認する第2の確認信号を送信する確認ステップと、前記確認ステップにより送信された前記第1及び第2の確認信号を受信した前記仮想マシンが、前記判定ステップによる判定結果に基づき割込みを発生した前記第1又は第2のデバイスを模擬して前記オペレーティングシステム部に応答する応答ステップと、前記応答ステップにより割込みを発生したデバイスを確認した前記オペレーティングシステム部が、割込みを発生した該第1又は第2のデバイスに割込み処理を実行させる割込み処理ステップと、を備えたことを特徴とする仮想計算機システムの割込み処理方法。上記のような複数のデバイスが割込み信号線を共有するシステムにおいては、OS間制御部が割込みを発生したデバイスに割り付けられたOSを起動した後、このOSが割込みを発生したデバイスの確認を行うことが多い。しかしながら、デバイス識別レジスタがリードによりクリアされるレジスタで構成されている場合、OS間制御部がこのレジスタを参照する時にデバイス識別レジスタの値がクリアされ、その後起動したOSが割込み発生デバイスの確認をできないという課題があった。本発明はこのような課題を解決するためになされたもので、デバイス識別レジスタの種別によらず、OSから割込み発生デバイスを確認できる仮想計算機システムを得ることを目的とする。本発明に係る仮想計算機システムは、第1のデバイスと、第1のデバイスとは異なる第2のデバイスと、第1のデバイスに対応する第1のデバイスドライバ及び第2のデバイスに対応する第2のデバイスドライバを有し、第1及び第2のデバイスに割込みが発生した場合に第1のデバイスからの割込みであるか第2のデバイスからの割込みであるかを判定し、この判定結果に基づいて割込みを発生した第1または第2のデバイスに処理を行わせる仮想計算機と、を備えた仮想計算機システムであって、この仮想計算機は、第1のデバイスが割込みを発生した場合に、第1のデバイスの割込み発生を確認する第1の確認信号を第1のデバイスドライバを介して送信し、第2のデバイスが割込みを発生した場合に、第2のデバイスの割込み発生を確認する第2の確認信号を第2のデバイスドライバを介して送信するオペレーティングシステム部と、第1のデバイスの割込み信号及び第2のデバイスの割込み信号を伝送する割込み信号線、第1及び第2のデバイスに関する情報を記憶した情報テーブル、割込み信号線を介して第1又は第2のデバイスの割込み信号を受信した場合にオペレーティングシステム部に割込み発生信号を送信し、情報テーブルを参照してこの割込みを発生したデバイスを判定する割込み判定部、割込み発生信号を受信したオペレーティングシステム部から送信される第1及び第2の確認信号を受信し、割込み判定部の判定結果に基づき第1又は第2のデバイスを模擬してオペレーティングシステム部に応答信号を送信する割込み発生模擬部、を有する仮想マシンモニタと、を備えたものである。本発明に係る仮想計算機は、第1のデバイスに対応する第1のデバイスドライバ、及び第1のデバイスとは異なる第2のデバイスに対応する第2のデバイスドライバ、を有し、第1のデバイスが割込みを発生した場合に、第1のデバイスの割込み発生を確認する第1の確認信号を第1のデバイスドライバを介して送信し、第2のデバイスが割込みを発生した場合に、第2のデバイスの割込み発生を確認する第2の確認信号を第2のデバイスドライバを介して送信するオペレーティングシステム部と、第1のデバイスの割込み信号及び第2のデバイスの割込み信号を伝送する割込み信号線を有し、割込み信号線を介して第1又は第2のデバイスの割込み信号を受信した場合に第1のデバイスからの割込みであるか第2のデバイスからの割込みであるかを判定し、この判定結果をオペレーティングシステム部に通知する仮想マシンモニタと、を備えた仮想計算機であって、この仮想マシンモニタは、第1及び第2のデバイスに関する情報を記憶した情報テーブルと、割込み信号線を介して第1又は第2のデバイスの割込み信号を受信した場合にオペレーティングシステム部に割込み発生信号を送信し、情報テーブルを参照して割込みを発生したデバイスを判定する割込み判定部と、割込み発生信号を受信したオペレーティングシステム部から送信される第1及び第2の確認信号を受信し、割込み判定部の判定結果に基づき第1又は第2のデバイスを模擬してオペレーティングシステム部に応答信号を送信する割込み発生模擬部と、を備えたものである。本発明に係る仮想計算機システムの割込み処理方法は、第1のデバイスと、第1のデバイスとは異なる第2のデバイスと、第1のデバイスに対応する第1のデバイスドライバ及び第2のデバイスに対応する第2のデバイスドライバを有するオペレーティングシステム部、及び、第1及び第2のデバイスに関する情報テーブルを有し、第1又は第2のデバイスから割込み信号を受信すると割込みを発生したデバイスを判定してオペレーティングシステム部に通知する仮想マシン、を備えた仮想計算機と、が設けられた仮想計算機システムにおいて、第1又は第2のデバイスが仮想計算機に対して割込み信号を送信する第1の送信ステップと、第1の送信ステップにより送信された割込み信号を仮想マシンが受信する受信ステップと、受信ステップにより割込み信号を受信した仮想マシンが、情報テーブルを参照して割込みを発生したデバイスを判定する判定ステップと、受信ステップにより割込み信号を受信した仮想マシンが、第1のデバイスの割込み発生又は前記第2のデバイスの割込み発生を通知する割込み発生信号をオペレーティングシステム部に送信する第2の送信ステップと、第2の送信ステップにより送信された割込み発生信号を受信したオペレーティングシステム部が、割込み発生信号により第1のデバイスに割込みが発生したとの通知を受けた場合に第1のデバイスに割込み発生有無を確認する第1の確認信号を送信し、割込み発生信号により第2のデバイスに割込みが発生したとの通知を受けた場合に第2のデバイスに割込み発生有無を確認する第2の確認信号を送信する確認ステップと、確認ステップにより送信された第1及び第2の確認信号を受信した仮想マシンが、判定ステップによる判定結果に基づき割込みを発生した第1又は第2のデバイスを模擬してオペレーティングシステム部に応答する応答ステップと、応答ステップにより割込みを発生したデバイスを確認したオペレーティングシステム部が、割込みを発生した第1又は第2のデバイスに割込み処理を実行させる割込み処理ステップと、を備えたものである。本発明によれば、仮想計算機システム、仮想計算機、仮想計算機システムの割込み処理方法は、上記構成を備えたことにより、デバイス識別レジスタの種別によらず、OSから割込み発生デバイスを確認できる。実施の形態1.本発明を実施するための実施の形態1に係る仮想計算機システムを図1ないし図6を用いて説明する。図1において、仮想計算機システム1は、仮想計算機2と、ケーブルやネットワーク等を介して仮想計算機2に接続されたキーボード31、マウス32、ディスプレイ33、プリンタ34、スキャナ35、外付けハードディスク36、など周辺機器であるデバイス3と、を備えている。仮想計算機2は、CPU4、割込みコントローラ5、メモリ6、割込み信号線7、等を備えている。なお、デバイス3の一部または全部は、仮想計算機2に内蔵しても良い。仮想計算機2の内外に設けられた各デバイス3は、PCIPeripheralComponentInterconnectバス8を介して割込みコントローラ5に接続され、複数のデバイス3間で割込み信号線7を共有している。仮想計算機2に設けられた割込み信号線7は、通常、PCIバス接続されたデバイス3の数よりも少ない。このため、各デバイス3は割込み信号線7を共有するが、割込み信号線7の数がPCIバスで接続されたデバイス3の数以上の場合にも共有することができる。図2は、仮想計算機システム1の一例を示す機能ブロック図である。仮想計算機システム1は、ハードウェアのデバイス部30と、ソフトウェアの仮想マシンモニタ10及びオペレーティングシステム部20以下、OS部20と称するとで構成されている。ソフトウェアで構成される仮想マシンモニタ10及びOS部20は、物理的にはメモリ6に記憶され、CPU4からの指令指示に従い動作するものである。なお、デバイス部30はデバイス3A~3Cを総称するものであればよく、物理的な構成として備えていなくても良い。OS部20も同様に、OS21A~21Cを総称するものであればよく、物理的な構成として備えていなくても良い。図2の例では、OS部20には、デバイス部30のデバイス3A~3Cを操作する3つのOS21A~21Cが設けられ、各OSはデバイスを認識させるソフトウェアとしてデバイスドライバ22A~22Cをそれぞれ1つずつ備えている。OS21A~21Cは仮想計算機2上で動作するソフトウェアであり、例えばMicrosoftWindows登録商標やLinuxやリアルタイムOSなどがある。なお、1つのOSが複数のデバイスドライバ22A~22Cを備えていても良い。また、OS21A~21Cは、このOS上で動作する1つ又は複数のアプリケーションプログラムで構成されるアプリケーション部23A~23Cを備えていても良い。仮想マシンモニタ10は、デバイス部30の各デバイス3A~3C上で動作するOS21A~21C又はデバイスドライバ22A~22Cの切替え制御を行うソフトウェアであり、ハイパーバイザ、あるいはOS間制御部とも呼ばれる。仮想マシンモニタ10は、割込みを発生したデバイスを判定するために必要な情報を記憶した共有割込み判定テーブル11、各OS21A~21Cからの指示に応じて共有割込み判定テーブル11への情報の登録更新削除を行う共有割込み判定テーブル登録部12、共有割込み判定テーブル11に格納された情報を参照し、割込みを発生したデバイスがどのデバイスであるかを判定する共有割込み判定部13、デバイス3A~3Cから割込みが発生した場合にOS21A~21Cからデバイス3A~3Cへの確認アクセスを受付け、デバイス3A~3Cの割込み発生を模擬して応答する割込み発生模擬部14、が設けられている。デバイス部30は3つのデバイス3A~3Cを備えている。デバイス3A~3Cは、仮想計算機2に内蔵しているものと外部接続しているものとで同じ役割を果たすため、図2では区別していない。図3は、共有割込み判定テーブル11の一例を示している。デバイス3それぞれに対してa割込み発生フラグレジスタのIOアドレス情報、b割込み発生を判定するためのビットマスク値、c割込み未発生時の割込み発生フラグレジスタの値、を1つずつ備えている。割込み発生フラグレジスタとは、各デバイス3に設けられた割込み発生の有無を識別するためのレジスタのことである。通常、データの読み書きは複数ビット単位で行うが、割込み発生フラグレジスタは1ビット又は数ビット程度である。よって、上記aで読み出したIOアドレスに対応するデータのうち、割込み発生の識別に不要なレジスタをマスクするために上記bを用いる。ここで、仮想計算機システム1の動作を説明する。共有割込み判定テーブルへの情報の登録図4に示すように、OS部20に設けられたOS21A~21Cは、送信部図示しないから指示を送信することで共有割込み判定テーブル登録部12を呼び出し、自身に備えたアプリケーションプログラム23A~23Cやデバイスドライバ22A~22Cの情報を共有割込み判定テーブル11に登録させるステップS101。上記呼び出しは、例えば仮想マシンモニタ10が提供するサービスコールであるハイパーコールを利用することにより可能となる。共有割込み判定テーブル登録部12は、OS21A~21Cからの指示に従い、デバイス3A~3Cそれぞれについて共有割込み判定テーブル11を作成し、受信した情報を共有割込み判定テーブル11に登録するステップS102。なお、共有割込み判定テーブル11が既に作成されている場合は、共有割込み判定テーブル登録部12は、OS21A~21Cからの指示に従い、受信した情報の更新を行う。共有割込み発生時の全体処理図5に示すように、デバイス部30のいずれかのデバイス3A~3Cに割込みが発生すると、割込みを発生したデバイス3はPCIバス8の割込み信号線7を介して共有割込み判定部13に割込み信号を送信するステップS111、第1の送信ステップ。共有割込み判定部13は、割込み信号を受信すると共有割込み判定テーブル11を参照し、この参照結果に基づき割込みを発生したデバイスを判定するステップS112、受信ステップ及び判定ステップ。具体的には、共有割込み判定部13が共有割込み判定テーブル11に割込み信号を送信すると、共有割込み判定テーブル11がa割込み発生フラグレジスタのIOアドレス情報、b割込み発生を判定するためのビットマスク値、c割込み未発生時の割込み発生フラグレジスタの値、を参照結果として返信する。共有割込み判定部13は、受信したa割込み発生フラグレジスタのIOアドレスにアクセスし、このI/Oアドレスに対応するデバイス3A~3C内のレジスタのデータを読み出す。読み出したI/Oアドレスのデータには割込み発生フラグレジスタ以外の値も含まれているため、読み出したI/Oアドレスのデータと、共有割込み判定テーブル11から受信したb割込み発生を判定するためのビットマスク値との論理積ANDをとる。次に、この論理積と共有割込み判定テーブル11から受信したc割込み未発生時の割込み発生フラグレジスタの値を比較し、一致する場合はこのデバイスは割込みを発生したデバイスではないと判定し、不一致の場合はこのデバイスが割込みを発生したデバイスであると判定する。ここで、デバイス3Aが割込みを発生したとして、以下の説明を行う。共有割込み判定部13は、割込みを発生したデバイス3Aを特定すると、割込み発生模擬部14に判定結果を通知するステップS113。判定結果の通知を受けた割込み発生模擬部14は、OS21Aから割込み発生を確認する確認信号が送信された場合に自身が呼び出されるように仮想マシンモニタ10に対して設定を行うステップS114。この設定は、例えばメモリコントロールユニットMMUやCPUの特権モード、IntelVTVirtualizationTechnologyやAMDVVirtualization機能によるIOアクセス保護機能を用いて、このIOアドレスへのアクセス保護を行うことで実現できる。割込み発生模擬部14は設定が完了すると共有割込み判定部13にこれを通知し、共有割込み判定部13は、割込み発生デバイスに対応するデバイスドライバ22Aを備えたOS21Aに割込み発生信号を送信するステップS115、第2の送信ステップ。なお、割込みを発生したデバイスがデバイス3B、3Cの場合は、これらの割込み発生デバイスに対応するデバイスドライバ22B、22C、及びこれを備えたOS21B、21Cが上記デバイスドライバ22A及びOS21Aと同様に動作する。OS21Aは、割込み発生信号を受信するとステップS116、割込みを発生したデバイス3Aへ割込みを発生しているか否かを確認するため、デバイス3Aに設けられた割込み発生フラグレジスタを読み出す確認信号第1の確認信号をOS21Aからデバイスドライバ22Aを介して、もしくはデバイスドライバ22Aから直接、デバイス3Aに向けて送信するステップS117、確認ステップ。なお、割込みを発生したデバイスがデバイス3B、3Cの場合は、デバイスドライバ22B又はOS21Bからデバイス3Bの確認信号第2の確認信号、デバイスドライバ22C又はOS21Cからデバイス3Cの確認信号が送信される。仮想マシンモニタ10は、この確認信号を検知すると割込み発生模擬部14に通知しステップS118、割込み発生模擬部14は、ステップS114による設定、すなわち確認信号を検知した場合に自身を呼び出す仮想マシンモニタ10への設定を解除するステップS119。次に、割込み発生模擬部14は受信した確認信号に対し、ステップS113により通知された判定結果に従い、割込みを発生したデバイス3Aを模擬してこのデバイスの割込み発生フラグレジスタの値をOS21A又はデバイスドライバ22Aへ返信するステップS120、応答ステップ。割込み発生模擬部14から割込み発生フラグレジスタの値を受信してOS21A又はデバイスドライバ22Aは対応するデバイス3Aの割込み発生を確認しステップS121、このデバイス3Aに対して割込み処理を実行するステップS122。共有割込み判定テーブルからの情報の削除ここで、デバイス3の交換等により、共有割込み判定テーブル11の登録情報が不要になった場合の削除手順について、図6を用いて説明する。OS21は、デバイスドライバ22の無効化やアンロードを行い、これに伴い実行されるアプリケーション部23又はデバイスドライバ22からの指示指令により、共有割込み判定テーブル登録部12を呼び出すステップS131。共有割込み判定テーブル登録部12は、割込み発生模擬部14から仮想マシンモニタ10に対してステップS114による設定確認信号を検知した場合に自身を呼び出す設定がなされている場合は設定の解除を通知しステップS132、この通知を受けた割込み発生模擬部14は仮想マシンモニタ10に対する設定を解除するステップS133。割込み発生模擬部14の仮想マシンモニタ10に対する設定解除を割込み発生模擬部14又は仮想マシンモニタ10からの通知もしくは自身の検知により確認すると、共有割込み判定テーブル登録部12はOS21からの指示に従い、共有割込み判定テーブル11から指示されたデバイス3に関する情報を削除するステップS134。デバイス3に関する情報とは、例えば、デバイス3の識別子、IOレジスタのアドレス情報、割込み発生フラグレジスタのビット情報、IOレジスタの割込み未発生時のデータ情報、等のことである。なお、デバイス3に関する全ての情報を削除する場合は、共有割込み判定テーブル11を削除しても良い。本実施の形態によれば、仮想計算機システム1は、仮想マシンモニタ10が割込みを発生したデバイス3を判定する共有割込み判定部13と、この割込み発生デバイスに関する情報を保持し、OS21又はデバイスドライバ22から送信される割込み発生の確認信号に対してこのデバイス3を模擬した応答を返す割込み発生模擬部14とを備えたことにより、OS21はデバイス3の割込み発生フラグレジスタに直接アクセスせず、仮想マシンモニタ10との間でデバイス3の割込み発生有無を確認することが可能となる。これにより、デバイス3に設けられた割込み発生フラグレジスタがリードによりクリアされるレジスタであっても、OS21から割込みを発生したデバイス3を確認できる。また、仮想計算機システム1が使用するデバイス3を追加しても、OS部20や仮想マシンモニタ10の構成を変更することなく、共有割込み判定テーブル11の情報を更新することで、デバイス3の割込みを判定することもできる。なお、上記実施の形態では、一例として、情報テーブルを共有割込み判定テーブル、情報テーブル登録更新部を共有割込み判定テーブル登録部、割込み判定部を共有割込み判定部として説明した。名称は上記のものに限らず、同様の機能を果たすものであれば~手段、~プログラム等であっても良い。