複数のOSOperatingSystemが動作する計算機システムであって、割込み番号が含まれる割込みを受付ける割込みコントローラと、2以上のOSに共用されている共用割込み番号が含まれている割込みがあった場合に当該割込みを処理するOSを割込み処理OSとして特定する共用割込み応答処理部と、いずれかのOSより出力された、当該OSが使用を開始する割込み番号が示される使用開始割込み番号情報を入力し、前記使用開始割込み番号情報に示される割込み番号が他のOSに使用されているか否かを判断し、当該割込み番号が他のOSに使用されている場合に、当該割込み番号を共用割込み番号に指定し、当該共用割込み番号と前記共用割込み応答処理部とを対応付ける共用割込み制御情報を前記割込みコントローラに設定する割込み番号管理部とを有し、前記割込みコントローラは、前記共用割込み制御情報に基づき、受付けた割込みに含まれる割込み番号が共用割込み番号に該当するかを判断し、受付けた割込みに含まれる割込み番号が共用割込み番号に該当する場合に前記共用割込み応答処理部に当該割込みの割込み処理OSを特定させることを特徴とする計算機システム。前記割込み番号管理部は、前記使用開始割込み番号情報に示される割込み番号が他のOSに使用されていない場合に、前記使用開始割込み番号情報を前記割込みコントローラに転送し、前記割込みコントローラは、前記割込み番号管理部により転送された前記使用開始割込み番号情報に示されている割込み番号と、前記使用開始割込み番号情報の出力元のOSとを対応付けて記憶し、受付けた割込みに含まれる割込み番号が共用割込み番号に該当しない場合に、受付けた割込みに含まれる割込み番号に対応付けられているOSに当該割込みを処理させることを特徴とする請求項1に記載の計算機システム。前記計算機システムでは、各々に割込みの発行元のデバイスが指定デバイスとして指定され、指定デバイスからの割込みを処理する割込みハンドラが含まれ、指定デバイスからの割込み有無を確認する機能を有する複数のOSが、複数個のプロセッサにより動作しており、前記割込み番号管理部は、前記共用割込み制御情報を前記割込みコントローラに設定した場合に、前記共用割込み制御情報に示されている共用割込み番号と、当該共用割込み番号を共用する2以上のOSである番号共用OSと、各番号共用OSを実行するプロセッサとを対応付ける共用割込み番号情報を生成し、前記共用割込み応答処理部は、前記割込みコントローラから割込み処理OSの特定を指示された場合に、割込み処理OSの特定を指示された割込みに含まれている共用割込み番号と前記共用割込み番号情報とに基づき、当該共用割込み番号を共用する番号共用OSを特定し、特定した各番号共用OSを用いて各番号共用OSの指定デバイスからの割込み有無を判定し、指定デバイスからの割込みがあった番号共用OSを割込み処理OSとして特定し、前記共用割込み番号情報において前記割込み処理OSに対応付けられているプロセッサに前記割込み処理OSの割込みハンドラを実行させることを特徴とする請求項1又は2に記載の計算機システム。前記共用割込み応答処理部は、特定した各番号共用OSに含まれる関数であって、指定デバイスにアクセスして指定デバイスからの割込み有無を確認する割込み有無確認関数を実行して、各番号共用OSの指定デバイスからの割込み有無を判定することを特徴とする請求項3に記載の計算機システム。前記共用割込み応答処理部は、特定した各番号共用OSに含まれる関数であって、指定デバイス内のレジスタのレジスタ情報にアクセスして指定デバイスからの割込み有無を確認する割込み有無確認関数を実行して、各番号共用OSの指定デバイスからの割込み有無を判定し、前記計算機システムは、更に、各割込み有無確認関数がアクセスしたレジスタ情報を蓄積するレジスタ情報蓄積部を有し、各プロセッサは、前記レジスタ情報蓄積部に蓄積されていているレジスタ情報を用いて、前記割込み処理OSの割込みハンドラを実行することを特徴とする請求項4に記載の計算機システム。前記割込み番号管理部は、共用割込み番号と、各番号共用OSと、各番号共用OSを実行するプロセッサと、各番号共用OSの指定デバイスの優先度とを対応付ける共用割込み番号情報を生成し、前記共用割込み応答処理部は、前記共用割込み番号情報において指定デバイスの優先度の高い番号共用OSから順に、指定デバイスからの割込み有無を判定することを特徴とする請求項3~5のいずれかに記載の計算機システム。特定の番号共用OSを実行するプロセッサが、前記共用割込み応答処理部であることを特徴とする請求項3~6のいずれかに記載の計算機システム。前記割込み番号管理部は、共用割込み番号と、各番号共用OSと、各番号共用OSを実行するプロセッサと、各番号共用OSの指定デバイスの優先度とを対応付ける共用割込み番号情報を生成し、前記共用割込み番号情報において指定デバイスの優先度が最も高い番号共用OSを実行するプロセッサが、前記共用割込み応答処理部であることを特徴とする請求項3~7のいずれかに記載の計算機システム。前記計算機システムは、前記複数のOSの制御を行う仮想計算機モニタを有する仮想計算機システムであり、前記共用割込み応答処理部と前記割込み番号管理部は、前記仮想計算機モニタを実行するプロセッサであることを特徴とする請求項3~8のいずれかに記載の計算機システム。複数のOSOperatingSystemが動作する計算機システムが行う割込み制御方法であって、2以上のOSに共用されている共用割込み番号が含まれている割込みがあった場合に当該割込みを処理するOSを割込み処理OSとして特定する共用割込み応答処理と、いずれかのOSより出力された、当該OSが使用を開始する割込み番号が示される使用開始割込み番号情報を入力し、前記使用開始割込み番号情報に示される割込み番号が他のOSに使用されているか否かを判断し、当該割込み番号が他のOSに使用されている場合に、当該割込み番号を共用割込み番号に指定し、当該共用割込み番号と前記共用割込み応答処理とを対応付ける共用割込み制御情報を生成する割込み番号管理処理と、いずれかの割込み番号が含まれる割込みを受付け、前記共用割込み制御情報に基づき、受付けた割込みに含まれる割込み番号が共用割込み番号に該当するかを判断し、受付けた割込みに含まれる割込み番号が共用割込み番号に該当する場合に前記共用割込み応答処理に当該割込みの割込み処理OSを特定させる割り込み受付け処理とを有することを特徴とすることを特徴とする割込み制御方法。複数のOSOperatingSystemが動作する計算機システムに、2以上のOSに共用されている共用割込み番号が含まれている割込みがあった場合に当該割込みを処理するOSを割込み処理OSとして特定する共用割込み応答処理と、いずれかのOSより出力された、当該OSが使用を開始する割込み番号が示される使用開始割込み番号情報を入力し、前記使用開始割込み番号情報に示される割込み番号が他のOSに使用されているか否かを判断し、当該割込み番号が他のOSに使用されている場合に、当該割込み番号を共用割込み番号に指定し、当該共用割込み番号と前記共用割込み応答処理とを対応付ける共用割込み制御情報を生成する割込み番号管理処理と、いずれかの割込み番号が含まれる割込みを受付け、前記共用割込み制御情報に基づき、受付けた割込みに含まれる割込み番号が共用割込み番号に該当するかを判断し、受付けた割込みに含まれる割込み番号が共用割込み番号に該当する場合に前記共用割込み応答処理に当該割込みの割込み処理OSを特定させる割り込み受付け処理とを実行させることを特徴とするプログラム。従来の仮想計算機システムでは、共通の割込み番号の割込みを発行できるのは、割込み管理装置がサポートするI/OInput/Outputデバイスのみであり、割込み管理装置が対応していない新たなI/Oデバイスは共通の割込み番号の割込みを発行できないという課題がある。また、割込み番号を共用する全てのI/Oデバイスを直接アクセスする方法では、仮想計算機モニタのリリース後にユーザが新たな未サポートのI/Oデバイスを装着する場合は仮想計算機モニタの修正及び再リリースによる追従が必要であるという課題がある。この発明は、かかる課題に鑑みたものであり、複数のOSが動作する計算機システムにおいて、各OSが任意のタイミングで新たなデバイスに対して新たな割込み番号の使用を開始することができ、当該割込み番号が既に他のOSにより使用されている場合であっても2以上のOSの間で割込み番号を共用することができる仕組みを実現することを主な目的とする。本発明に係る計算機システムは、複数のOSOperatingSystemが動作する計算機システムであって、割込み番号が含まれる割込みを受付ける割込みコントローラと、2以上のOSに共用されている共用割込み番号が含まれている割込みがあった場合に当該割込みを処理するOSを割込み処理OSとして特定する共用割込み応答処理部と、いずれかのOSより出力された、当該OSが使用を開始する割込み番号が示される使用開始割込み番号情報を入力し、前記使用開始割込み番号情報に示される割込み番号が他のOSに使用されているか否かを判断し、当該割込み番号が他のOSに使用されている場合に、当該割込み番号を共用割込み番号に指定し、当該共用割込み番号と前記共用割込み応答処理部とを対応付ける共用割込み制御情報を前記割込みコントローラに設定する割込み番号管理部とを有し、前記割込みコントローラは、前記共用割込み制御情報に基づき、受付けた割込みに含まれる割込み番号が共用割込み番号に該当するかを判断し、受付けた割込みに含まれる割込み番号が共用割込み番号に該当する場合に前記共用割込み応答処理部に当該割込みの割込み処理OSを特定させることを特徴とする。本発明によれば、OSが使用を開始する割込み番号が他のOSに使用されているか否かを判断し、他のOSに使用されている場合には、当該割込み番号を共用割込み番号として指定するとともに当該共用割込み番号と共用割込み応答処理部との対応付けを割込みコントローラに設定する。そして、割込みコントローラが受付けた割込みに含まれる割込み番号が共用割込み番号に該当する場合に、共用割込み応答処理部に当該割込みの割込み処理OSを特定させる。このため、各OSは任意のタイミングで新たなデバイスに対して新たな割込み番号の使用を開始することができ、当該割込み番号が既に他のOSにより使用されている場合であっても、適切な割込み処理OSに割込みを処理させることができ、2以上のOSの間で割込み番号を共用することができる。実施の形態1.実施の形態1~4では、マルチコア構成の仮想計算機システムにおいて、共用割込み番号の割込みを使用する新たなI/Oデバイスへの追従を、仮想計算機モニタを変更せずに行うこと、及び、割込み処理のオーバヘッドを抑える構成を説明する。なお、共用割込み番号とは、2以上のOSに共用されている割り込み番号である。また、共用割込み番号を共用するOSを番号共用OSともいう。図1は、本実施の形態における仮想計算機システム500の構成を示す図である。実施の形態1~4では、複数のOSが動作するマルチコア構成の計算機システムの例として、仮想計算機システム500を説明する。物理計算機100は、プロセッサ110-0、110-1、110-2、110-3、割込みコントローラ120、I/Oデバイス例えばPCIPeripheralComponentsInterconnectデバイス130-0、130-1、メモリ140、ディスク装置150以下、単にディスクとも表記するを有する。なお、ディスク装置150もI/Oデバイス130として動作する場合もあるが、ディスク装置150は後述する共用割込み管理テーブル250を記憶する役割を有するため、I/Oデバイス130とは別に示している。プロセッサ110-0、110-1、110-2、110-3は、それぞれプロセッサ間割込み制御部111-0、111-1、111-2、111-3を有する。割込みコントローラ120は、外部割込みを割込みベクタに変換してプロセッサに出力する装置であり、割込み番号に対する割込みベクタ及び出力先プロセッサの設定はプログラム可能である。より具体的には、割込みコントローラ120は、割込みを受付け、受付けた割込みに含まれる割込み番号が共用割込み番号か否かを判断し、受付けた割込みに含まれる割込み番号が共用割込み番号である場合に、当該割込みを処理するゲストOS割込み処理OSを仮想計算機モニタ200に特定させる。一方、受付けた割込みに含まれる割込み番号が共用割込み番号でない場合に、当該割込み番号に対応するゲストOSに当該割込みを処理させる。なお、割込みコントローラ120により実施される処理は、割込み受付け処理に対応する。仮想計算機モニタVMM:VirtualMachineMonitor200は、プロセッサ110-0~110-3及びI/Oデバイス130-0~130-1を論理的に分割して、仮想計算機VM:VirtualMachine300-0、300-1を構築する。プロセッサ110-0、110-1とI/Oデバイス130-0は、仮想計算機300-0に割り当てられる。プロセッサ110-2、110-3とI/Oデバイス130-1は、仮想計算機300-1に割り当てられる。また、仮想計算機モニタ200は、プロセッサ110-0~110-3の全てで実行されるものとする。また、以下ではプロセッサ110-0が仮想計算機モニタ200のブートプロセッサであるとして説明を行う。I/Oデバイス130-0及びI/Oデバイス130-1は、ゲストOSから直接アクセス可能、かつ、ゲストOS間で共用されないI/Oデバイスであり、仮想計算機モニタ200によるエミュレートは行わない。仮想計算機モニタ200は、外部割込みハンドラ210、プロセッサ間通信制御部220、割込み注入部230、共用割込み注入先決定部240、共用割込み管理テーブル250及びコントローラ登録部280を有する。外部割込みハンドラ210は、外部割込み発生時に起動され、ゲストOS400への割込みを横取りする。プロセッサ間通信制御部220は、プロセッサ間でメッセージ通信を行う。割込み注入部230は、横取りした割込みを、ゲストOS400に注入する処理を行う。共用割込み注入先決定部240は、外部割込みハンドラ210が横取りした、共用割込み番号による割込み以下、共用割込みと表記するについて、どのゲストOS400のどのプロセッサ110に注入するかを決定するものである。なお、外部割込みハンドラ210、割込み注入部230及び共用割込み注入先決定部240により行われる処理は共用割込み応答処理に相当する。このため、仮想計算機モニタ200を実行するプロセッサ110-0~110-3、すなわち、共用割込み応答処理を実行するプロセッサ110-0~110-3は、共用割込み応答処理部の例に相当する。なお、図1では作図上の理由からプロセッサ110-0を共用割込み番号処理部と表記しているが、プロセッサ110-1~110-3も同様に共用割込み応答処理部として機能する。共用割込み応答処理は、より具体的には、割込みコントローラ120から共用割込み番号が含まれる割込みを処理するゲストOS割込み処理OSを特定するよう指示され、当該共用割込み番号と後述の共用割込み管理テーブル250とに基づき、当該共用割込み番号を共用する番号共用OSを特定し、特定した各番号共用OSを用いて各番号共用OSに指定されているI/Oデバイス130からの割込み有無を判定し、指定されているI/Oデバイス130からの割込みがあった番号共用OSを割込み処理OSとして特定し、共用割込み管理テーブル250において割込み処理OSに対応付けられているプロセッサに割込み処理OSの割込みハンドラ411を実行させる処理である。共用割込み管理テーブル250は、共用割込みの割込み処理OSを特定し、共用割込みの注入先を決定するのに必要な情報を、割込み番号ごとに管理するテーブルである。共用割込み管理テーブル250の詳細は後述する。コントローラ登録部280は、各ゲストOS400が割込みコントローラ120に送信した使用開始割込み番号情報を入力する。使用開始割込み番号情報は、各ゲストOS400が使用を開始しようとする割込み番号と、各ゲストOS400の割込みハンドラ411の割込みベクタと、各ゲストOS400を実行するプロセッサ110が示される情報である。更に、コントローラ登録部280は、入力した使用開始割込み番号情報に示される割込み番号が他のゲストOS400に使用されているか否かを判断し、当該割込み番号が他のゲストOS400に使用されている場合に、入力した使用開始割込み番号情報に示される割込み番号を共用割込み番号と指定し、仮想計算機モニタ200共用割込み応答処理を実行するプロセッサ110例えば、プロセッサ110-0と当該共用割込み番号とを対応付ける情報共用割込み制御情報の例を割込みコントローラ120に登録する。一方、割込み番号が他のゲストOS400に使用されていない場合は、コントローラ登録部280は、使用開始割込み番号情報を割込みコントローラ120に転送する。なお、コントローラ登録部280により実施される処理は、割込み番号管理処理に相当する。このため、コントローラ登録部280、すなわち、仮想計算機モニタ200を実行するプロセッサ110-0~110-3は、割込み番号管理部の例でもある。なお、図1では作図上の理由からプロセッサ110-0を割込み番号管理部と表記しているが、プロセッサ110-1~110-3も同様に割込み番号管理部として機能する。ここで、本実施の形態における、共用割込み管理テーブル250のデータ構成の例を図2に示す。図2において、共用割込み用割込みベクタは、仮想計算機モニタ200が共用割込みを横取りするのに使用する割込みベクタ以下、共用割込み用割込みベクタと表記を保持する。共用割込み用割込みベクタには、仮想計算機モニタ200が、共用割込み専用にあらかじめ確保している割込みベクタが使用される。登録元OSは、共用割込みを使用するゲストOSの識別子を保持し、注入先プロセッサ、割込みベクタは、該ゲストOSが該共用割込みに対して設定した、割込みベクタ出力先プロセッサ及び割込みベクタの情報を保持する。割込み元判定手段は、ゲストOSから与えられた割込み元判定手段を保持する。図2の設定例では、割込み番号17番の割込みについて、ゲストOS400-0は、注入先プロセッサをプロセッサ110-0、注入する割込みベクタを49番として設定し、ゲストOS400-1は、注入先プロセッサをプロセッサ110-1、注入する割込みベクタを65番として設定している。割込み番号17番の割込みは、ゲストOS400-0とゲストOS400-1が共用しており、該割込みは、仮想計算機モニタ200が、241番の割込みベクタで横取りする。また、割込み番号16番は、ゲストOS400-0のみが使用している。更に、割込み番号18番は、いずれのゲストOSでも未使用である。なお、割込み番号18番の行にあるように、割込み番号が未使用であっても、共用割込み用割込みベクタはあらかじめ設定されている。また、割込み番号17番の行に明らかなように、共用割込み管理テーブル250は、2以上のOSに共用されている共用割込み番号割込み番号17番と、共用割込み番号を共用する番号共用OSゲストOS400-0とゲストOS400-1と、各番号共用OSを実行するプロセッサプロセッサ110-0とプロセッサ110-1とを対応付ける情報であり、共用割込み番号情報の例である。なお、図1では、仮想計算機モニタ200が共用割込み管理テーブル250を参照することを明示する意味で、仮想計算機モニタ200内に共用割込み管理テーブル250を示しているが、物理計算機100レベルでは、共用割込み管理テーブル250はディスク150に格納されており、仮想計算機モニタ200実行時に、例えば、仮想計算機モニタ200のブートプロセッサが、ディスク150からメモリ140にロードし、プロセッサ110-0~110-3がメモリ140から読み出して共用割込み管理テーブル250を参照する。仮想計算機300-0上ではゲストOS400-0が動作し、仮想計算機300-1上ではゲストOS400-1が動作する。ゲストOS400-0は、シングルプロセッサまたはマルチプロセッサ上で動作するOSである。一例として、本実施の形態では、ゲストOS400-0は、プロセッサ110-0をブートプロセッサとして利用するマルチプロセッサ型OSである。ゲストOS400-0のデバイスドライバ410-0は、I/Oデバイス130-0のドライバである。デバイスドライバ410-0は、I/Oデバイス130-0からの割込み処理を行う割込みハンドラ411-0と、割込み元判定手段412-0を有している。割込み元判定手段412-0は、I/Oデバイス130-0が有する割込み状態レジスタを参照してI/Oデバイス130-0からの割込み有無を確認し、割込みが発生していた場合は真、発生していなかった場合は偽を返す、仮想計算機モニタ200のコンテキストで実行可能な関数である。上述のように、ゲストOS400-0には、割込みの発行元のデバイスとしてI/Oデバイス130-0が指定されている。I/Oデバイス130-0は、ゲストOS400-0の割込みの発行元のデバイスとして指定されたデバイスであり、指定デバイスの例である。また、指定デバイスにアクセスし、指定デバイスからの割込み有無を確認する関数である割込み元判定手段412-0は、割込み有無確認関数の例である。また、ゲストOS400-1は、シングルプロセッサまたはマルチプロセッサ上で動作するOSである。一例として、本実施の形態では、ゲストOS400-1は、プロセッサ110-2をブートプロセッサとして利用するマルチプロセッサ型OSである。ゲストOS400-1は、I/Oデバイス130-1のドライバであるデバイスドライバ410-1を有しており、デバイスドライバ410-1は、I/Oデバイス130-1からの割込み処理を行う割込みハンドラ411-1と、割込み元判定手段412-1を有している。割込み元判定手段412-1は、I/Oデバイス130-1が有する割込み状態レジスタを参照してI/Oデバイス130-1からの割込み有無を確認し、割込みが発生していた場合は真、発生していなかった場合は偽を返す、仮想計算機モニタ200のコンテキストで実行可能な関数である。上述のように、ゲストOS400-1には、割込みの発行元のデバイスとしてI/Oデバイス130-1が指定されている。I/Oデバイス130-1は、ゲストOS400-1の割込みの発行元のデバイスとして指定されたデバイスであり、指定デバイスの例である。また、指定デバイスにアクセスし、指定デバイスからの割込み有無を確認する関数である割込み元判定手段412-1は、割込み有無確認関数の例である。なお、本実施の形態では、一例として、プロセッサが4個、I/Oデバイスが2個、仮想計算機及びゲストOSが2個の構成を示しているが、仮想計算機内のゲストOSが一つであり、プロセッサ及びI/Oデバイスが、ゲストOSに対して占有割り当てされる構成ならば、これらの構成要素の数は限定しない。次に、本実施の形態における各構成要素の動作について説明する。図3は、本実施の形態において、ゲストOS400による割込みコントローラ120の設定処理を、仮想計算機モニタ200が捕捉して、共用割込み管理テーブル250の設定を行う処理のフローチャートである。なお、以下では、コントローラ登録部280や共用割込み注入先決定部240等の仮想計算機モニタ200内の要素が所定の動作を行うといった表現で説明を行う場合があるが、これは、仮想計算機モニタ200が実行されているプロセッサ例えば、ゲストOS400の場合は、ゲストOS400のブートプロセッサであるプロセッサ110-0が、コントローラ登録部280や共用割込み注入先決定部240等として所定の動作割込み番号管理処理や共用割込み応答処理を行うという意味である。まず、ステップS101において、ゲストOS400が、割込みコントローラ120に対して、割込み番号に出力先プロセッサと割込みベクタを設定する操作を行う。つまり、ゲストOS400は、これから使用を開始する割込み番号と、当該ゲストOS400の割込みハンドラ411の割込みベクタと、当該ゲストOS400を実行するプロセッサ110が示される使用開始割込み番号情報を割込みコントローラ120に対して出力する。次に、ステップS102で、仮想計算機モニタ200が、ゲストOS400による割込みコントローラ120へのアクセスを捕捉する。つまり、コントローラ登録部280が、割込みコントローラ120への入力に先立ち、使用開始割込み番号情報を入力する。次に、ステップS103で、コントローラ登録部280が、使用開始割込み番号情報に含まれる割込み番号を他のゲストOSが使用中であるかどうかチェックする。具体的には、共用割込み管理テーブル250の、該割込み番号の行の、登録元OSの項をチェックし、他のゲストOSの登録の有無をチェックする。ステップS103において、該割込み番号を使用する他のゲストOSが存在しない場合、ステップS104で、コントローラ登録部280は、ゲストOS400による割込みコントローラ120の操作をそのままエミュレーションする。すなわち、コントローラ登録部280は、使用開始割込み番号情報をそのまま割込みコントローラ120に転送する。割込みコントローラ120では、使用開始割込み番号情報に含まれる内容をそのまま登録する。一方、ステップS103において、使用開始割込み番号情報に含まれる割込み番号を他のゲストOSが使用中の場合、ステップS105で、コントローラ登録部280は、当該割込み番号を共用割込み番号と指定し、割込みコントローラ120を操作し、該共用割込み番号に対し、出力先プロセッサとして仮想計算機モニタ200が使用するプロセッサの一つ、例えば、仮想計算機モニタ200のブートプロセッサを設定し、割込みベクタとして共用割込み用割込みベクタを設定する。つまり、コントローラ登録部280は、共用割込み番号と共用割込み用割込みベクタと仮想計算機モニタ200のブートプロセッサとを対応付ける情報共用割込み制御情報の例を割込みコントローラ120に設定する。最後に、ステップS106で、コントローラ登録部280は、共用割込み管理テーブル250に対し、登録元OS、注入先プロセッサ、割込みベクタの登録を行い、終了する。なお、本実施の形態では、割込みコントローラ120への情報の設定、共用割込み管理テーブル250の設定を、割込みコントローラ120へのアクセスを捕捉することにより行っているが、代わりに、ゲストOSからハイパーコールを呼び出すことにより行ってもよい。図16は、割込みコントローラ120に登録される割込みコントローラ登録情報の例を示す。図16aは、割込み番号17番がゲストOS400-0にのみ使用される場合に、割込みコントローラ120に登録される割込みコントローラ登録情報を示している。つまり、図16aの割込みコントローラ登録情報では、ゲストOS400-0から出力された使用開始割込み番号情報そのままに、出力先プロセッサの欄にはゲストOS400-0を実行するプロセッサ110-0が示され、また、割込みベクタの欄には、ゲストOS400-0の割込みベクタ:49番が示される。図16aの割込みコントローラ登録情報が割込みコントローラ120に登録されているときには、図2の共用割込み管理テーブル250の割込み番号17番の行には、登録元OS:400-0の行のみが登録されている。図16bは、図16aの割込みコントローラ登録情報が割込みコントローラ120に登録されている状態で、コントローラ登録部280が割込み番号17番についての、ゲストOS400-1からの使用開始割込み番号情報を捕捉し、割込みコントローラ120に新たに共用割込みに関する情報を設定した場合の割込みコントローラ登録情報を示している。この場合は、コントローラ登録部280は、共用割込み管理テーブル250を参照し、割込み番号17番は既に他のゲストOSOS400-0により使用されていると判断する。2つのゲストOS400により共用されるので、図16bの割込みコントローラ登録情報の出力先プロセッサの欄には仮想計算機モニタ200を実行するプロセッサ110-0が示され、また、割込みベクタの欄には、共用割込み用割込みベクタ:241番が示される。なお、図16bの割込み番号17番の行の情報が共用割込み制御情報の例である。図16bの割込みコントローラ登録情報が割込みコントローラ120に設定されると、コントローラ登録部280は、共用割込み管理テーブル250の割込み番号17番の行を変更し、図2に示すように、割込み番号17番の行に、登録元OS:400-0の行と登録元OS:400-1の行が設定されることになる。図4は、本実施の形態において、ゲストOS400が、仮想計算機モニタ200に対して、割込み元判定手段の登録を行う処理のフローチャートである。まず、ステップS111において、ゲストOS400は、通常のデバイスドライバ初期化処理、例えば、割込みベクタに対する割込みハンドラの接続などの処理を実行する。次に、ステップS112で、ゲストOS400は、仮想計算機モニタ200に対して、デバイスドライバ410が有する割込み元判定手段412の登録を依頼する。そして、ステップS113で、仮想計算機モニタ200は、割込み番号と登録元OSをキーとして、共用割込み管理テーブル250に対して、割込み元判定手段412を登録する。図5は、本実施の形態において、共用割込みが発生した場合の割込み処理の手順を示すフローチャートである。まず、ステップS121において、I/Oデバイス130が割込みを発行する。次に、ステップS122では、割込みコントローラ120が、図16に例示した割込みコントローラ登録情報を参照し、当該割込みに含まれる割込み番号が共用割込み番号であると判断し、仮想計算機モニタ200のブートプロセッサ例えば、プロセッサ110-0に対して、共用割込み用割込みベクタを出力する。次に、ステップS123において、仮想計算機モニタ200のブートプロセッサが共用割込み用割込みベクタに基づき、仮想計算機モニタ200の外部割込みハンドラ210を起動し、共用割込み注入先決定部240が呼び出される。次に、ステップS124では、仮想計算機モニタ200のブートプロセッサが共用割込み注入先決定部240を実行する。つまり、仮想計算機モニタ200のブートプロセッサが、共用割込み注入先決定部240として、共用割込み管理テーブル250に登録されている割込み元判定手段412を用いて、注入先プロセッサと注入する割込みベクタを特定する。具体的には、共用割込み管理テーブル250の、発生した割込み番号の行に登録されている全ての割込み元判定手段412を順に実行し関数である割込み元判定手段412を実行し、真を返した割込み元判定手段412の行の、注入先プロセッサと割込みベクタの項の内容を取得する。つまり、真を返した割込み元判定手段412の行の登録元OSの欄に示されているゲストOSが共用割込みを処理させる割込み処理OSであり、注入先プロセッサの欄に示されているプロセッサが割込み処理OSを実行するプロセッサであり、割込みベクタの欄に示されている割込みベクタが割込み処理OSの割込みハンドラの割込みベクタである。ステップS125では、仮想計算機モニタ200のブートプロセッサが、共用割込み注入先決定部240として、割込みを横取りしたプロセッサ即ち仮想計算機モニタ200のブートプロセッサが、ステップS124で特定した注入先プロセッサと等しいかどうかチェックする。ステップS125において、割込み注入先プロセッサが仮想計算機モニタ200のブートプロセッサと等しくない場合、ステップS126で、仮想計算機モニタ200のブートプロセッサは、プロセッサ間通信制御部220を用いて、割込み注入先プロセッサに対して、ステップS124で特定した割込みベクタを転送する。次に、ステップS127では、割込み注入先プロセッサが、割込み注入部230として、ゲストOS割込み処理OSに対して、ステップS124で特定した割込みベクタを注入し、最後に、ステップS128で、ゲストOS割込み処理OSの割込みハンドラが起動する。具体例として、共用割込み管理テーブル250が図2の通りに設定され、割込みコントローラ登録情報が図16bの通りに設定されている場合において、I/Oデバイス130-1が割込み番号17番の割込みを発行した場合の例を以下に示す。I/Oデバイス130-1が、共用割込みである割込み番号17番の割込みを発行すると、ステップS122で、仮想計算機モニタ200のブートプロセッサ例えば、プロセッサ110-0に対して、割込みコントローラ120から割込みベクタ241番が出力される。次に、ステップS123において、仮想計算機モニタ200の外部割込みハンドラ210が起動し、共用割込み注入先決定部240が呼び出される。次に、ステップS704で、共用割込み注入先決定部240が、共用割込み管理テーブル250の、割込み番号17番の行に登録されている割込み元判定手段412-0及び412-1を順に実行し、割込み判定手段412-1が真を返すので、注入先プロセッサはプロセッサ110-1、注入する割込みベクタは65番と決定される。ステップS125では、割込みを横取りしたプロセッサが、ステップS124で特定した注入先プロセッサと等しくないと判定され、ステップS126で、プロセッサ間通信制御部220により、注入先プロセッサであるプロセッサ110-1に対して、割込みベクタ65番が転送される。次に、ステップS127では、割込み注入部230が、ゲストOS400-1に対して、割込みベクタ65番を注入し、最後に、ステップS128で、ゲストOS400-1の割込みハンドラが起動する。以上に示すように、本実施の形態では、I/Oデバイスの割込み状態レジスタを参照して割込みの有無の判定を行う割込み元判定手段を、ゲストOSが仮想計算機モニタに登録し、共用割込みの発生時には、仮想計算機モニタが割込み元判定手段を実行することにより、割込み元デバイス即ち割込み注入先プロセッサの特定を行う。これにより、仮想計算機モニタの変更を行わずに、新たなI/Oデバイスへの追従を効率的に行うことができる。また、本実施の形態では、ゲストOSが使用を開始する割込み番号が他のゲストOSに使用されているか否かを判断し、他のゲストOSに使用されている場合には、当該割込み番号を共用割込み番号として指定するとともに当該共用割込み番号を仮想計算機モニタと対応付ける情報を割込みコントローラに設定する。そして、割込みコントローラは、受付けた割込みに含まれる割込み番号が共用割込み番号に該当する場合に仮想計算機モニタに割込み処理OSを特定させる。このため、当該割込み番号が既に他のOSにより使用されている場合であっても、適切な割込み処理OSに割込みを処理させることができ、2以上のOSの間で割込み番号を共用することができる。以上、本実施の形態では、物理計算機上で仮想計算機モニタが動作し、仮想計算機モニタによって構築される仮想計算機上でゲストOSが動作する仮想計算機システムであって、制御対象I/Oデバイスからの割込みの有無を検査する割込み元判定手段を有するデバイスドライバを備えるゲストOSと、ゲストOSによる割込み番号の使用状況やゲストOS間で共用される割込み番号の割込みの注入先ゲストOSを判定するための情報などを保持する共用割込み管理テーブルと、ゲストOSによる割込みコントローラの操作を横取りするか、または、ゲストOSから依頼されて、共用される割込み番号の割込みの注入先ゲストOSを決定するための情報を前記共用割込み管理テーブルに対して登録する手段と、ゲストOSからの前記割込み元判定手段の登録を受け付ける手段と、共用される割込み番号の割込みの発生時に、該割込みを横取りし、該割込み番号に関連付けられた前記割込み元判定手段を実行して、割込み発生元のI/Oデバイスを特定し、前記共用割込み管理テーブルから該割込みの注入先ゲストOSのプロセッサ及び割込みベクタを特定する共用割込み注入先決定部を備える仮想計算機モニタを備える仮想計算機システムを説明した。また、本実施の形態では、前記割込み元判定手段が、該割込み元判定手段を有するデバイスドライバの制御対象I/Oデバイスにアクセスして割込みの有無を判定する、前記仮想計算機モニタのコンテキストで実行可能な関数であることを説明した。また、本実施の形態で説明した仮想計算機システムを、以下のステップを備える割込み制御方法としても把握することができる。仮想計算機モニタが、ゲストOSによる割込みコントローラの操作を横取りするか、または、ゲストOSから依頼されて、共用される割込み番号の割込みの注入先ゲストOSを決定するための情報を前記共用割込み管理テーブルに対して登録するステップと、ゲストOSが、仮想計算機モニタに対して、前記割込み元判定手段を登録するステップと、共用される割込み番号の割込みの発生時に、仮想計算機モニタが、該割込みを横取りし、該割込み番号に関連付けられた前記割込み元判定手段を実行して、割込み発生元のI/Oデバイスを特定し、前記共用割込み管理テーブルから該割込みの注入先ゲストOSのプロセッサ及び割込みベクタを特定するステップ。また、本実施の形態で説明した仮想計算機システムを、以下のステップを計算機に実行させるためのプログラムとしても把握することができる。仮想計算機モニタが、ゲストOSによる割込みコントローラの操作を横取りするか、または、ゲストOSから依頼されて、共用される割込み番号の割込みの注入先ゲストOSを決定するための情報を前記共用割込み管理テーブルに対して登録するステップと、ゲストOSが、仮想計算機モニタに対して、前記割込み元判定手段を登録するステップと、共用される割込み番号の割込みの発生時に、仮想計算機モニタが、該割込みを横取りし、該割込み番号に関連付けられた前記割込み元判定手段を実行して、割込み発生元のI/Oデバイスを特定し、前記共用割込み管理テーブルから該割込みの注入先ゲストOSのプロセッサ及び割込みベクタを特定するステップ。実施の形態2.実施の形態1では、仮想計算機モニタ200が割込み注入先プロセッサを決定する際と、割込みを注入されたゲストOSのデバイスドライバが割込み処理を行う際に、それぞれI/Oデバイスの割込み状態レジスタを参照していたが、本実施の形態では、割込み状態レジスタの参照回数を一回にまとめる構成と動作を説明する。図6は、実施の形態2における、仮想計算機モニタ200の構成を示す図である。本実施の形態において、仮想計算機モニタ200は、新たに、割込み状態レジスタ保存領域260を有する。仮想計算機モニタ200が有するその他の構成要素ないし仮想計算機モニタ200以外の構成要素は、実施の形態1と同一であり、説明を省略する。割込み状態レジスタ保存領域260は、割込み元判定手段412にて読み出した、I/Oデバイスの割込み状態レジスタの内容以下、レジスタ情報というを退避する領域である。このように、割込み状態レジスタ保存領域260はレジスタ情報の蓄積領域であり、レジスタ情報蓄積部の例である。なお、割込み状態レジスタ保存領域260は、例えば、メモリ140に構成されることが考えられる。本実施の形態における、共用割込み注入先決定部240が実行する、割込み判定手段412の処理手順のフローチャートを、図7に示す。共用割込み注入先決定部240は、ステップS201でI/Oデバイス130の割込み状態レジスタを参照し、その内容を所定のメモリ領域に保持する。次に、ステップS202で、共用割込み注入先決定部240は、メモリ140内の所定領域に保持している割込み状態レジスタの内容をチェックし、該I/Oデバイス130が割込み発生元であるかどうか調べる。ステップS202において、該I/Oデバイス130が割込み発生元であると判定した場合、ステップS203で、メモリ140上に保持している割込み状態レジスタの内容を、メモリ内の他の領域である割込み状態レジスタ保存領域260に退避する。そして、ステップS204で返り値を真として、終了する。また、ステップS202において、該I/Oデバイス130が割込み発生元でないと判定した場合、ステップS205で、返り値を偽として、終了する。本実施の形態における、割込みハンドラ411の処理手順のフローチャートを、図8に示す。割込みハンドラ411は、ステップS211において、I/Oデバイス130内の割込み状態レジスタを直接参照する代わりに、割込み状態レジスタ保存領域260を参照し、その値を使用して、通常の割込みハンドラの処理をステップS212で実行する。以上に示すように、本実施の形態では、I/Oデバイスの割込み状態レジスタへのアクセスは、仮想計算機モニタ200による一回のみであり、ゲストOSのデバイスドライバは、メモリ上に退避された割込み状態レジスタの内容を参照する。これにより、I/Oデバイスへの合計アクセス回数が減り、オーバヘッドを削減することができる。また、割込み状態レジスタが、読み取り時に自動クリアされるI/Oデバイスに対応可能となる。本実施の形態では、前記仮想計算機モニタは、さらに、I/Oデバイスの割込み状態レジスタの内容を保存するための割込み状態レジスタ保存領域を備え、共用される割込み番号の割込みの発生時に、前記仮想計算機モニタが、共用割込み注入先決定部の実行時にI/Oデバイスの割込み状態レジスタの内容を読み出した際に、該レジスタの内容を前記割込み状態レジスタ保存領域に退避し、該割込みを処理するデバイスドライバの割込みハンドラでは、前記割込み状態レジスタ保存領域から、割込み状態レジスタの内容を取得することを説明した。実施の形態3.本実施の形態においては、I/Oデバイス間で優先度以下、デバイス優先度と表記を定めておき、デバイス優先度の高いI/Oデバイスの割込み処理のオーバヘッドを削減する構成と動作を説明する。実施の形態3における、共用割込み管理テーブル250のデータ構成の例を図9に示す。本実施の形態において、共用割込み管理テーブル250は、新たに、デバイス番号とデバイス優先度の項を有する。仮想計算機モニタ200が有するその他の構成要素ないし仮想計算機モニタ200以外の構成要素は、実施の形態2と同一であり、説明を省略する。共用割込み管理テーブル250において、デバイス番号は、デバイスの識別子を保持する。例えば、PCIデバイスの場合、BDF番号バス番号、デバイス番号、ファンクション番号が格納される。デバイス優先度は、デバイス優先度を保持する。図9の設定例では、ゲストOS400-0が利用するI/Oデバイス130-0は、デバイス優先度が30であり、ゲストOS400-1が利用するI/Oデバイス130-1は、デバイス優先度が60である。なお、本実施の形態では、デバイス優先度は、値が大きいほど高いものとする。デバイス優先度の設定は、一例として、ゲストOSのデバイスドライバから設定してもよいし、仮想計算機モニタ200が決定してもよい。図10は、本実施の形態において、ゲストOS400が、仮想計算機モニタ200の共用割込み管理テーブル250に対して、デバイス番号及びデバイス優先度の登録を行う処理のフローチャートである。ステップS111は、実施の形態1のフローチャートS110のステップS111と同一であり、説明を省略する。次に、ステップS301で、ゲストOS400は、仮想計算機モニタ200に対して、割込み番号と登録元OSをキーとして、共用割込み管理テーブル250に対して、割込み元判定手段、デバイス番号、デバイス優先度の登録を依頼する。そして、ステップS302で、仮想計算機モニタ200は、ゲストOS400から与えられた割込み番号と登録元OSをキーとして、共用割込み管理テーブル250に対して、割込み元判定手段412、デバイス番号、デバイス優先度を登録する。この際、共用割込み管理テーブル250の、同一の割込み番号に属する各行は、デバイス優先度の値で整列して登録される。整列順序は昇順でもよいし、降順でもよい。図9の設定例では、一例として、共用割込み管理テーブル250の、割込み番号17番に属する各行を、デバイス優先度の昇順で整列している。図11は、本実施の形態において、共用割込みが発生した場合の割込み処理の手順を示すフローチャートである。ステップS311以外のステップは、実施の形態1のフローチャートS120の各ステップと同一であり、説明を省略する。ステップS311では、共用割込み注入先決定部240が、共用割込み管理テーブル250に登録されている割込み元判定手段412を用いて、注入先プロセッサと注入する割込みベクタを特定する。具体的には、共用割込み管理テーブル250の、発生した割込み番号の行に登録されている全ての割込み元判定手段を、デバイス優先度が高いものから順に実行し、真を返した割込み元判定手段の行の、注入先プロセッサと割込みベクタの項の内容を取得する。以上に示すように、本実施の形態では、共用割込みの発生時には、優先度の高いI/Oデバイスから順に割込み元判定手段が実行されるので、優先度の高いI/Oデバイスほど、共用割込み発生時の割込み処理のオーバヘッドを削減することができる。以上、本実施の形態では、前記共用割込み管理テーブルは、さらに、I/Oデバイスの識別子であるデバイス番号と、I/Oデバイス間での割込み処理の優先順位を定めるデバイス優先度を保持する項を有し、前記デバイス番号の値は、該デバイスを使用するゲストOSによって前記仮想計算機モニタに対して登録され、前記デバイス優先度の値は、該デバイスを使用するゲストOSによって前記仮想計算機モニタに対して登録されるか、または、前記仮想計算機モニタによって決定され、前記共用割込み管理テーブルの割込み元判定手段は、前記仮想計算機モニタによって、割込み番号ごとに、前記デバイス優先度の順で整列して登録され、共用される割込み番号の割込みの発生時には、前記仮想計算機モニタが、該割込み番号に関連付けられた前記割込み元判定手段を、前記デバイス優先度が高い順に実行することを説明した。実施の形態4.本実施の形態においては、デバイス優先度が最も高いI/Oデバイスの割込み処理のオーバヘッドを削減する構成と動作を説明する。図12は、実施の形態4における、仮想計算機モニタ200の構成を示す図である。本実施の形態において、仮想計算機モニタ200は、新たに、外部割込み受付プロセッサ管理部270を有する。さらに、共用割込み管理テーブル250は、新たに、共用割込み受付プロセッサの項を有する。仮想計算機モニタ200が有するその他の構成要素ないし仮想計算機モニタ200以外の構成要素は、実施の形態3と同一であり、説明を省略する。外部割込み受付プロセッサ管理部270は、仮想計算機モニタ200が、共用割込みをどのプロセッサで受け付けるかを設定するものである。実施の形態4における、共用割込み管理テーブル250のデータ構成の例を図13に示す。共用割込み受付プロセッサの項は、共用割込みを受け付けるプロセッサの識別子を保持する。図13の設定例では、ゲストOS400-0が有する、デバイス優先度30のI/Oデバイス130-0と、ゲストOS400-1が有する、デバイス優先度60のI/Oデバイス130-1が、割込み番号17番の割込みを共用しており、該割込みは、仮想計算機モニタ200が、プロセッサ110-2にて、241番の割込みベクタで横取りする。図14は、本実施の形態において、ゲストOS400が、仮想計算機モニタ200の共用割込み管理テーブル250に対して、デバイス番号及びデバイス優先度の登録を行う処理のフローチャートである。ステップS111からステップS302までは、実施の形態3のフローチャートS300の各ステップと同一であり、説明を省略する。ステップS401では、共用割込み管理テーブル250の、ステップS301より取得した割込み番号の行を参照し、デバイス優先度が最も高いI/Oデバイスを有するゲストOSが、出力先プロセッサとして指定するプロセッサを、共用割込み受付先プロセッサとして登録する。また、ステップS402では、仮想計算機モニタ200が、割込みコントローラ120を操作し、該割込み番号に対して、出力先プロセッサとして共用割込み受付プロセッサの内容を設定し、割込みベクタとして共用割込み用割込みベクタの内容を設定する。例えば、図13の共用割込み管理テーブル250の設定例では、割込み番号17番の割込みについて、デバイス優先度が最も高いI/OデバイスはI/Oデバイス130-1であり、そのI/Oデバイスを使用するゲストOS400-1は、プロセッサ110-2を注入先プロセッサとして設定している。よって、ステップS401では、プロセッサ110-2が共用割込み受付プロセッサの項に設定される。そして、ステップS402で、仮想計算機モニタ200は、割込みコントローラ120を操作し、割込み番号17番に対して、出力先プロセッサとしてプロセッサ110-2を設定し、割込みベクタとして241番を設定する。図15は、本実施の形態において、共用割込みが発生した場合の割込み処理の手順を示すフローチャートである。ステップS411及びS412以外のステップは、実施の形態3のフローチャートS310の各ステップと同一であり、説明を省略する。共用割込みが発生すると、ステップS411で、割込みコントローラ120は、仮想計算機モニタ200による設定に従い、共用割込み受付プロセッサに対して、共用割込み用割込みベクタを出力する。その後、ステップS412では、仮想計算機モニタ200は、ステップS311で特定した注入先プロセッサと、共有割込み受付先プロセッサが等しいかどうかチェックする。例えば、図13の共用割込み管理テーブル250の設定例における、動作例について説明する。I/Oデバイス130-1が割込み番号17番の割込みを発生した場合、ステップS411にて、共用割込み受付プロセッサであるプロセッサ110-2に対して、割込みベクタ241番が出力される。そして、注入先プロセッサと共用割込み受付プロセッサが等しいため、ステップS126における割込みベクタの転送は行わずに、ステップS127で、割込みベクタをゲストOS400-1に注入する。また、I/Oデバイス130-0が割込み番号17番の割込みを発生した場合、ステップS411にて、共用割込み受付プロセッサであるプロセッサ110-2に対して、割込みベクタ241番が出力さる。そして、注入先プロセッサが110-0であり、共用割込み受付プロセッサと異なるため、ステップS126で、割込みベクタを注入先プロセッサに転送し、ステップS127で、割込みベクタをゲストOS400-0に注入する。以上に示すように、本実施の形態では、共用割込みの発生時には、その割込み番号を使用するI/Oデバイスの中で、デバイス優先度が最も高いI/Oデバイスを有するゲストOSのプロセッサが、割込みを受け付けるので、割込みの転送が不要であり、デバイス優先度が最も高いI/Oデバイスの割込み処理のオーバヘッドを削減することができる。以上、本実施の形態では、前記仮想計算機モニタは、さらに、共用される割込み番号の割込みを、前記仮想計算機モニタがどのプロセッサで受け付けるかを決定する外部割込み受付プロセッサ管理部を備え、前記共用割込み管理テーブルは、さらに、共用される割込み番号の割込みを受け付けるプロセッサを保持する共用割込み受付プロセッサの項を有し、前記仮想計算機モニタは、割込み番号ごとに、デバイス優先度が最も高いI/Oデバイスを使用するゲストOSによって指定されるプロセッサを、前記共用割込み管理テーブルの前記共用割込み受付プロセッサの項に登録し、前記仮想計算機モニタは、割込みコントローラを操作して、割込み番号ごとに、前記共用割込み管理テーブルの前記共用割込み受付プロセッサの項の内容を、割込みを受け付けるプロセッサとして設定することを説明した。最後に、実施の形態1~4に示した仮想計算機システム500のハードウェア構成例、つまり、図1に示した物理計算機100の構成例をより詳細に説明する。なお、図17の構成は、あくまでも物理計算機100の構成の一例を示すものであり、物理計算機100の構成は図17に記載の構成に限らず、他の構成であってもよい。図17において、物理計算機100は、プロセッサ110たるCPU911CentralProcessingUnit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータともいうを備えている。CPU911は、バス912を介して、例えば、ROMReadOnlyMemory913、RAMRandomAccessMemory914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920、割込みコントローラ907と接続され、これらのハードウェアデバイスを制御する。通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920は、図1に示すI/Oデバイス130として割込みを発生させる場合がある。磁気ディスク装置902は、図1に示すディスク装置150の例である。更に、CPU911は、FDD904FlexibleDiskDrive、コンパクトディスク装置905CDD、プリンタ装置906と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード登録商標読み書き装置などの記憶装置でもよい。RAM914は、揮発性メモリの一例であり、図1に示すメモリ140に対応する。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード915、キーボード902、マウス903、FDD904などは、入力装置の一例である。また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。通信ボード915は、ネットワークに接続される。例えば、通信ボード915は、LANローカルエリアネットワーク、インターネット、WANワイドエリアネットワークなどに接続される。磁気ディスク装置920には、仮想計算機モニタ921、ゲストOS922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、仮想計算機モニタ921、ゲストOS922により実行される。ROM913には、BIOSBasicInputOutputSystemプログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。物理計算機100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムにより物理計算機100が起動され、その後、仮想計算機モニタ921、ゲストOS922が起動される。仮想計算機モニタ921には、実施の形態1~4で説明した外部割込みハンドラ210、プロセッサ間通信制御部220、割込み注入部230、共用割込み注入先決定部240、コントローラ登録部280等のソフトウェアモジュールが含まれる。また、ゲストOS922には、実施の形態1~4で説明したデバイスドライバ410等が含まれる。プログラム群923には、実施の形態1~4に示されゲストOSにより実施されるアプリケーションプログラム等が含まれる。更に、ファイル群924には、実施の形態1~4の説明において、~の判断、~の判定、~の実行、~の比較、~の登録、~の更新、~の設定、~の選択、~の特定、~の指定、~の入力、~の出力、~の転送等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、~ファイルや~データベースの各項目として記憶されている。~ファイルや~データベースは、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出検索参照比較演算計算処理編集出力印刷表示などのCPUの動作に用いられる。抽出検索参照比較演算計算処理編集出力印刷表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。また、実施の形態1~4で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。また、実施の形態1~4の説明において~処理として説明しているものは~ステップ、~手順であってもよい。また、~処理として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、ソフトウェアとファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。