複数の仮想マシンを稼動させる仮想制御部と、割込み要求の宛先となる仮想マシンを特定する割込み制御部と、を有し、前記仮想制御部は、前記複数の仮想マシン各々に対応付けて割込みプログラムが格納される格納先の情報を記憶する記憶部から、前記割込み制御部が特定した仮想マシンに対応付けられる割込みプログラムの格納先を特定する特定部と、前記特定部によって特定された格納先から割込みプログラムを読み出して実行する実行制御部とを有することを特徴とする情報処理装置。前記割込み制御部は、前記仮想制御部によって仮想マシンが稼動した場合に、稼動した仮想マシンを識別するマシン識別子と、当該仮想マシンによって使用される外部デバイスを識別するデバイス識別子と対応付けて識別子記憶部に格納し、前記割込み要求が発生した場合に、割込み要求を発生させたデバイス識別子に対応するマシン識別子を前記識別子記憶部から特定することを特徴とする請求項1に記載の情報処理装置。前記識別子記憶部は、前記複数の仮想マシン各々にさらに対応付けて、前記仮想マシンの動作モードが格納されるアドレス情報を記憶し、前記特定部は、前記仮想マシンに対応付けられるアドレス情報をさらに特定し、前記実行制御部は、前記特定部によって特定されたアドレス情報から動作モードを読出し、読み出した動作モードで前記割込みプログラムを実行することを特徴とする請求項2に記載の情報処理装置。前記実行制御部は、前記割込み制御部によって特定された仮想マシンにプロセッサの実行権が与えられていない場合には、前記割込みプログラムを読み出して実行し、前記割込み制御部によって特定された仮想マシンにプロセッサの実行権が与えられている場合には、前記割込み要求を仮想割込み要求に変換して前記割込み要求の宛先となる仮想マシンに出力することを特徴とする請求項1から3のいずれか一つに記載の情報処理装置。前記記憶部は、前記複数の仮想マシン各々に対応付けて、ハードウェア割込みに対して実行される割込みプログラムの格納先の情報を記憶し、前記実行制御部は、前記特定部によって格納先が特定されたハードウェア割込みについては、特定された格納先から割込みプログラムを読み出して実行し、前記特定部によって格納先が特定されなかった割込み要求については、前記割込み要求を仮想割込みに変換して前記割込み要求の宛先となる仮想マシンに出力することを特徴とする請求項1から3のいずれか一つに記載の情報処理装置。情報処理装置が、複数の仮想マシン各々に対応付けて割込みプログラムが格納される格納先の情報を記憶する記憶部から、割込み要求の宛先となる仮想マシンを特定する割込み制御部が特定した仮想マシンに対応付けられる割込みプログラムの格納先を特定し、前記特定した格納先から割込みプログラムを読み出して実行する処理を実行することを特徴とする割込み制御方法。情報処理装置に、複数の仮想マシン各々に対応付けて割込みプログラムが格納される格納先の情報を記憶する記憶部から、割込み要求の宛先となる仮想マシンを特定する割込み制御部が特定した仮想マシンに対応付けられる割込みプログラムの格納先を特定し、前記特定した格納先から割込みプログラムを読み出して実行する処理を実行させることを特徴とする割込み制御プログラム。しかしながら、従来技術では、CPUCentralProcessingUnitが割り当てられていないVMへの割込み要求が発生した場合に、該当VMにCPUが割り当てられるまで割込み要求を処理できない状態となるので、割込み処理が効率的ではないという問題がある。例えば、物理サーバで複数のVMが稼動している状況では、スケジューラ等によってCPUが割り当てられた動作中の1つのVMが処理を実行できる。つまり、CPUの実行権を有するVMが各種処理を実行する。したがって、VM1、VM2、VM3が稼動している状況で、VM1にCPUが割り当てられている場合には、VM1が実行中であり、VM2とVM3は、起動はしているものの処理を実行できない実行待機中となる。したがって、従来技術を用いた場合でも、実行待機中のVMに対して割込み要求が発生した場合には、該当VMが実行中に遷移するまで割込み処理が実行できない。このように、割込み要求の宛先となるVMの状態によっては、割込み処理を完了させるまでに時間がかかり、割込み処理が効率的に実行できない場合がある。1つの側面では、割込み処理を効率よく実行できる情報処理装置、割込み制御方法および割込み制御プログラムを提供することを目的とする。第1の案では、情報処理装置は、複数の仮想マシンを稼動させる仮想制御部と、割込み要求の宛先となる仮想マシンを特定する割込み制御部と、を有する。前記仮想制御部は、前記複数の仮想マシン各々に対応付けて割込みプログラムが格納される格納先の情報を記憶する記憶部から、前記割込み制御部が特定した仮想マシンに対応付けられる割込みプログラムの格納先を特定する特定部を有する。また、仮想制御部は、前記特定部によって特定された格納先から割込みプログラムを読み出して実行する実行制御部を有する。割込み処理を効率よく実行できる。以下に、本願の開示する情報処理装置、割込み制御方法および割込み制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。図1は、実施例1に係る情報処理装置を説明する図である。図1に示す情報処理装置10は、サーバ仮想化技術を適用したサーバであり、複数の仮想マシンVM:VirtualMachineを動作させる。なお、ここでは情報処理装置10がサーバである例で説明するが、これに限定されるものではなく、パーソナルコンピュータなど他の装置であってもよい。また、ここで説明するVMの数等についても、説明するものに限定されるものではない。図1に示すように、情報処理装置10は、割込み制御部11と仮想制御部12とを有する。また、情報処理装置10は、仮想マシンとして、ゲストOperatingSystemA以下、ゲストOSAなどと表記するとゲストOSBとゲストOSCとを動作させている。ゲストOSAは、割込みプログラムAを保持し、ゲストOSBは、割込みプログラムBを保持し、ゲストOSCは、割込みプログラムCを保持する。割込み制御部11は、割込み要求が発生した場合に、割込み要求の宛先となる仮想マシンを特定する処理部である。仮想制御部12は、記憶部12aと特定部12bと実行制御部12cとを有し、これらによって割込み制御部11から通知された割込みを処理する処理部である。なお、記憶部12aは、仮想制御部12ではなく、情報処理装置10内に他の処理部等が有していてもよい。記憶部12aは、複数の仮想マシン各々に対応付けて、割込みプログラムが格納される格納先の情報を記憶する。特定部12bは、割込み制御部11が特定した仮想マシンに対応付けられる割込みプログラムの格納先を記憶部12aから特定する。実行制御部12cは、特定部12bによって特定された格納先から割込みプログラムを読み出して実行する。このように、情報処理装置10の割込み制御部11は、外部割込み等を検出した場合に、外部割込みの宛先となるゲストOSを特定する。仮想制御部12は、外部割込みの宛先となるゲストOSの割込みプログラムを読出し、当該ゲストOSを代行して実行する。ここで、図2を用いて、具体的な例を説明する。図2は、実施例1に係る情報処理装置が割込み処理を実行する例を説明する図である。図2に示すように、割込み制御部11は、外部割込みを検出すると、外部割込みの宛先となるゲストOSAを特定する。仮想制御部12の特定部12bは、ゲストOSAの割込みプログラムが格納されるアドレス情報を記憶部12aから特定する。実行制御部12cは、特定したアドレス情報からゲストOSAの割込みプログラムAを読み出して、仮想制御部12内で実行する。つまり、仮想制御部12は、外部割込みの宛先であるゲストOSに代わって、割込みプログラムを実行する。したがって、情報処理装置10は、該当ゲストOSにCPUが割当てられるまで割込み処理を待機させることがなく、割込み処理を効率的に実行することができる。例えば、図3は、割込み処理の待ちが発生する例を示す図である。図3は、時間の変化に伴って、ゲストOSA、ゲストOSB、ゲストOSCに順番にCPUが割り当てられることを図示している。この場合に、仮想制御部12は、時刻t0でゲストOSAへの割込みAが発生すると、時刻t0の時点ではゲストOSAにCPUが割り当てられているので、割込みAを仮想割込みAに変換してゲストOSAに通知する。そして、仮想制御部12は、時刻t1でゲストOSCへの割込みCが発生した場合、時刻t1の時点ではゲストOSBにCPUが割り当てられているので、割込みCを待機させる。その後、仮想制御部12は、ゲストOSCにCPUが割り当てられたt2以降に、割込みCを仮想割込みCに変換してゲストOSCに通知して割込みCを実行させる。つまり、割込みCは、時刻t1から時刻t2まで待機させられる。このように、各ゲストで割込みを実行させる場合、CPUの割当て状況によっては割込みを待機させる時間が発生することがある。一方、図4は、割込み処理を効率的に実行する例を示す図である。図4は、図1に示した情報処理装置10が実行する割込み処理を説明する図であり、CPUの割当等については図3と同様とする。ここで、図4に示すように、時刻t0でゲストOSAの割込みAが発生したとする。この場合、仮想制御部12は、ゲストOSAにCPUが割り当てられているが割込みAを仮想割込みに変換することなく、ゲストOSAの割込みプログラムAを読み出して実行し、割込みAを処理する。そして、仮想制御部12は、時刻t1でゲストOSCの割込みCが発生した場合、時刻t1の時点ではゲストOSBにCPUが割り当てられているが、ゲストOSCの割込みプログラムCを読み出して実行し、割込みCを処理する。このように、情報処理装置10は、図3と比較してもわかるように、発生した割込みを待機させることなく、順次実行することができるので、割込み処理を効率よく実行できる。次に、実施例2に係る情報処理装置について説明する。実施例2では、実施例2に係る情報処理装置の構成、処理の流れ等について説明する。[情報処理装置の構成]図5は、実施例2に係る情報処理装置の構成を示す機能ブロック図である。図5に示すように、情報処理装置20は、仮想領域20aと通信インタフェース20bと入出力インタフェース20cと割込みコントローラ22と制御部25とを有する。なお、ここで図示した処理部は、あくまで例示であり、これに限定されるものではなく、例えば、メモリやハードディスクなどの記憶装置、ディスプレイなどの表示部、マウスなどの入力部等を有していてもよい。仮想領域20aは、制御部25のハイパーバイザ26によって管理される領域であり、任意の数のVMを動作させることができる。図5では、VMとして、ゲストOSAとゲストOSBとゲストOSCとが動作している。ここでは、ゲストOSAには、ゲストOSAを識別する識別子としてゲストID=0が割り当てられ、ゲストOSBには、ゲストOSBを識別する識別子としてゲストID=1が割り当てられている。また、ゲストOSCには、ゲストOSCを識別する識別子としてゲストID=2が割り当てられている。また、各ゲストOSは、割込み要因に対応付けて、割込み処理を実行する割込みハンドラを保持する。この仮想領域20aで動作する各ゲストOSには、ハイパーバイザ26によって仮想プロセッサと仮想メモリとが割り当てられ、各ゲストOSは、この仮想プロセッサと仮想メモリによりVMとして動作し、各種処理を実行する。なお、仮想メモリは、情報処理装置20のメモリにおける所定領域をゲストOSが使用するメモリとして割り当てることで実現された仮想的なメモリである。仮想プロセッサは、情報処理装置20のプロセッサにおける所定処理能力をゲストOSが使用するプロセッサとして割り当てることで実現された仮想的なプロセッサである。通信インタフェース20bは、例えばNICNetworkInterfaceCardデバイスなどのインタエースであり、情報処理装置20と他の装置との間の通信を制御する。例えば、通信インタフェース20bは、パケットやフレームなどのデータを他の装置から受信し、また、情報処理装置20内で処理されたデータを他の装置に送信する。入出力インタフェース20cは、ディスプレイ、マウス、キーボード、HDDHardDiskDriveデバイスなどとの通信を制御する。例えば、入出力インタフェース20cは、マウスやキーボードを介して、情報処理装置20への入力を受け付ける。また、入出力インタフェース20cは、情報処理装置20の処理結果等をディスプレイに表示出力する。また、入出力インタフェース20cは、各ゲストOSから送信された書き込み要求をHDDデバイスなどの記憶装置に対して実行し、また、HDDデバイスから読み出したデータをゲストに出力する。割込みコントローラ22は、割込みターゲットレジスタ22aとゲストID管理テーブル22bと格納制御部22cと割込み先特定部22dとを有し、これらによって割込みに関する処理を実行する処理部である。割込みターゲットレジスタ22aは、割込みの宛先となるゲストOSのゲストIDを格納する。なお、ゲストIDは、仮想領域で動作するゲストOSを識別する識別子である。また、ここで記憶される情報は、割込み先特定部22dによって更新される。また、割込みコントローラ22またはハイパーバイザ26は、割込み処理が完了した場合に、当該割込み処理を実行したゲストIDを削除してもよい。ゲストID管理テーブル22bは、ゲストOS各々が使用するデバイスの情報を記憶する記憶部である。また、ここで記憶される情報は、管理者等によって格納されてもよく、格納制御部22cによって格納されてもよい。図6は、ゲストID管理テーブルに記憶される情報の例を示す図である。図6に示すように、ゲストID管理テーブル22bは、ゲストID、デバイスIDを対応付けて記憶する。ここで記憶されるゲストIDは、仮想領域20aで稼動する各ゲストOSを識別する識別子であり、デバイスIDは、ゲストOSが使用するデバイスを識別する識別子であり、例えばHDDやNICなどを識別する識別子である。図6の場合、ゲストID=0が割り当てられているゲストOSAは、デバイスIDがdevAのデバイスを使用する。同様に、ゲストID=1が割り当てられているゲストOSBは、デバイスIDがdevBのデバイスを使用する。また、ゲストID=2が割り当てられているゲストOSCは、デバイスIDがdevCのデバイスとデバイスIDがdevDのデバイスとを使用する。なお、デバイスIDとしては、様々な情報を用いることもできる。例えば、デバイスがNICデバイスである場合には、AA:AA:AA:AA:AA:AAなどのようにNICデバイスのMACアドレスをゲストID管理テーブル22bに格納してもよい。また、デバイスがHDDデバイスなどである場合には、1o9097hi-fujitsuなどのようにHDDデバイスのUUIDUniversallyUniqueIdentifierやデバイス名をゲストID管理テーブル22bに格納してもよい。格納制御部22cは、仮想領域20aでゲストOSが稼動した場合に、稼動したゲストOSを識別するゲストIDと、当該ゲストOSによって使用されるデバイスのデバイスIDとを対応付けて、ゲストID管理テーブル22bに格納する処理部である。例えば、格納制御部22cは、新たな仮想マシンであるゲストOSDが稼動した場合に、ゲストOSDに割り当てられたゲストIDとゲストOSDが使用するNICデバイスのデバイスIDとをオペレータ等から受信する。そして、格納制御部22cは、受信したゲストIDとデバイスIDとを対応付けてゲストID管理テーブル22bに格納する。また、格納制御部22cは、新たに稼動したゲストOSDからHDDデバイスへのアクセス要求が送信された場合に、このアクセス要求からゲストIDとデバイスIDとを抽出する。そして、格納制御部22cは、抽出したゲストIDとデバイスIDとを対応付けてゲストID管理テーブル22bに格納する。割込み先特定部22dは、割込み要求の宛先となる仮想マシンを特定する処理部である。例えば、割込み先特定部22dは、通信インタフェース20bにパケットが到着した場合に、パケット受信を要求する外部割込みが発生したと検出する。すると、割込み先特定部22dは、当該パケットが到着したNICデバイスを特定する。そして、割込み先特定部22dは、NICデバイスのデバイスIDに対応付けられたゲストIDをゲストID管理テーブル22bから特定する。続いて、割込み先特定部22dは、特定したゲストIDを割込みターゲットレジスタ22aに格納し、パケット受信の外部割込み要求をハイパーバイザ26に通知する。また、割込み先特定部22dは、ゲストOSから送信されたDMADirectMemoryAccess転送の応答が入出力インタフェース20cに到達すると、DMA完了を通知する外部割込みが発生したと検出する。すると、割込み先特定部22dは、DMA完了通知から送信元のHDDデバイスを特定する。そして、割込み先特定部22dは、HDDデバイスに割り当てられているデバイスIDに対応付けられたゲストIDをゲストID管理テーブル22bから特定する。続いて、割込み先特定部22dは、特定したゲストIDを割込みターゲットレジスタ22aに格納し、DMA完了通知の外部割込み要求をハイパーバイザ26に通知する。制御部25は、処理制御部25aとハイパーバイザ26とを有し、これらによって割込み処理を制御する処理部であり、例えばCPUなどの電子回路である。なお、制御部25は、内部メモリ等を有していてもよい。処理制御部25aは、ゲストOSに関する処理以外の処理を実行する処理部である。例えば、処理制御部25aは、情報処理装置20に搭載されるOSの起動停止、ハイパーバイザ26の起動停止を実行する。ハイパーバイザ26は、割込みハンドラ管理テーブル26aとCPU割当部26bと割込みハンドラ特定部26cと割込み実行部26dとを有し、これらによって、割込みコントローラ22から通知された割込み要求を処理する処理部である。また、ハイパーバイザ26は、各ゲストOSから送信されたパケットを宛先に送信したり、各ゲストOSから出力されたデバイスアクセス要求を該当デバイスに出力したりする。割込みハンドラ管理テーブル26aは、複数のゲストOS各々に対応付けて、割込みハンドラが格納される格納先の情報を記憶する記憶部である。図7は、割込みハンドラ管理テーブルに記憶される情報の例を示す図である。図7に示すように、割込みハンドラ管理テーブル26aは、ゲストID、割込みベクタ、割込みハンドラ、ゲストページテーブルを対応付けて記憶する。ここで記憶されるゲストIDは、仮想領域20aで稼動する各ゲストOSを識別する識別子であり、割込みベクタは、割込みの要因を識別する識別子である。割込みハンドラは、ゲストOSが使用する物理アドレスの形式、言い換えると、ハイパーバイザ26によって提供される仮想アドレス空間のアドレス形式で格納され、割込みハンドラが格納される格納先の先頭アドレスを示す。ゲストページテーブルは、ゲストOSの仮想空間に変換するために使用するページテーブルであり、ゲストOSが保持している物理アドレス空間の先頭アドレス、つまり、ハイパーバイザ26が提供する仮想アドレス空間の先頭アドレスを示す。図7の場合、ゲストID=0が割り当てられているゲストOSAに対して、割込みベクタが0である外部割込みが発生した場合に、PT0を用いて、ゲストOSAの物理アドレスHandler_0を仮想アドレスに変換することを示す。この結果、ハイパーバイザ26の割込み実行部26dは、ゲストOSが管理するアドレス空間内で割込みハンドラを実行できる。同様に、ゲストID=1が割り当てられているゲストOSBに対して、割込みベクタが1である外部割込みが発生した場合に、PT1を用いて、ゲストOSBの物理アドレスHandler_Bを仮想アドレスに変換することを示す。また、割込みハンドラ管理テーブル26aは、さらに、ゲストOSが保持するTLBTranslationLookasideBufferの先頭アドレスを対応付けて記憶することもできる。こうすることで、ハイパーバイザ26は、ゲストOSの仮想アドレス空間内から割込みハンドラの格納先をより高速に特定することができる。CPU割当部26bは、予め定められたスケジューラにしたがって、各ゲストOSにCPUを割り与える処理部である。例えば、CPU割当部26bは、オペレータやハイパーバイザ等によって定められたスケジュールにしたがって、ゲストOSAからゲストOSBにCPUの実行権を移す。この結果、ゲストOSAは、実行権がない状態の実行待機中に遷移し、ゲストOSBは、実行権を有する実行中に遷移する。割込みハンドラ特定部26cは、割込みコントローラ22が特定したゲストOSに対応付けられる割込みハンドラの格納先を割込みハンドラ管理テーブル26aから特定する処理部である。例えば、割込みハンドラ特定部26cは、パケット受信を要求する外部割込み要求を割込みコントローラ22から受信する。続いて、割込みハンドラ特定部26cは、割込みコントローラ22の割込みターゲットレジスタ22aに格納されるゲストIDを取得する。つまり、割込みハンドラ特定部26cは、パケット受信を要求する外部割込み要求の宛先を取得する。このとき、割込みハンドラ特定部26cは、取得したゲストIDに対応するゲストOSを特定する。なお、ゲストIDとゲストOSの対応付けは、制御部25の内部メモリや図示しないメモリ等の記憶装置に格納される。そして、割込みハンドラ特定部26cは、CPU割当部26bのCPU割当状況を取得し、パケット受信を要求する外部割込み要求の宛先となるゲストOSにCPUが割り当てられているか否かを判定する。CPUが割り当てられている場合には、割込みハンドラ特定部26cは、当該外部割込み要求を仮想割込みに変換し、割込み要求の宛先のゲストOSに、変換した仮想割込みを出力する。一方、CPUが割り当てられていない場合には、割込みハンドラ特定部26cは、当該外部割込みに対応する割込みベクタを特定する。例えば、割込みハンドラ特定部26cは、割込み要求から割込みベクタを特定してもよく、割込み要求の種別と割込みベクタとを対応付けたテーブルを保持しておき、そのテーブルに基づいて特定してもよい。そして、割込みハンドラ特定部26cは、割込みコントローラ22から取得したゲストIDと特定した割込みベクタとの組み合わせに対応する、割込みハンドラとゲストページテーブルとを割込みハンドラ管理テーブル26aから読み出す。その後、割込みハンドラ特定部26cは、読み出した割込みハンドラとゲストページテーブルとを割込み実行部26dに出力する。一例を挙げると、割込みハンドラ特定部26cは、割込みベクタが0である外部割込みを割込みコントローラ22から通知され、割込みターゲットレジスタ22aからゲストID=0を取得したとする。そして、割込みハンドラ特定部26cは、ゲストID=0のゲストOSAにCPUが割り当てられていると判定した場合、通知された外部割込みを仮想割込みに変換してゲストOSAに出力する。この結果、ゲストOSAが割込み処理を実行する。一方、割込みハンドラ特定部26cは、ゲストID=0のゲストOSAにCPUが割り当てられていないと判定した場合、ゲストID=0と割込みベクタ=0との組み合わせに対応するHandler_0とPT0とを割込みハンドラ管理テーブル26aから取得する。そして、割込みハンドラ特定部26cは、割込みハンドラの物理アドレスHandler_0とページテーブルPT0とを割込み実行部26dに出力する。割込み実行部26dは、割込みハンドラ特定部26cによって特定された格納先から割込みハンドラを読み出して実行する処理部である。例えば、割込み実行部26dは、割込みハンドラ特定部26cから物理アドレスHandler_0とページテーブルPT0とを取得する。そして、割込み実行部26dは、ページテーブルPT0を用いて、ゲストOSAが管理する物理アドレス空間の物理アドレスHandler_0を、ゲストOSAが管理する仮想アドレス空間の仮想アドレスに変換する。その後、割込み実行部26dは、変換した仮想アドレスから割込みハンドラを読み出して実行する。また、割込み実行部26dは、割込みハンドラの実行が完了すると、割込みコントローラ22または割込みを発生させた割込みコントローラに、完了通知であるEOIEndofInterruptを送信する。[処理の流れ]次に、図8から図10を用いて、情報処理装置20が実行する処理の流れを説明する。ここでは、図8を用いて、割込み要求の要求元がNICデバイスである例を説明し、図9を用いて、割込み要求の要求元がHDDデバイスである例を説明し、図10を用いて、割込み要求の宛先にCPUが割り当てられている場合の例を説明する。NICデバイスを用いた例図8は、実施例2に係る情報処理装置の処理シーケンスをNICデバイスを例にして示した図である。図8に示すように、オペレータ等によってゲストOSが仮想領域20aに作成される、または、ゲストOSが使用するNICデバイスが追加されるとS101とS102、ハイパーバイザ26は、S103を実行する。すなわち、ハイパーバイザ26は、ゲストOSが使用するまたは追加されたNICデバイスのMACアドレスの登録要求を割込みコントローラ22に出力するS103とS104。このとき、ハイパーバイザ26は、該当ゲストOSのゲストIDもあわせて割込みコントローラ22に出力する。なお、ゲストIDは、オペレータが指定してもよく、ハイパーバイザが一意に割り与えてもよい。そして、割込みコントローラ22の格納制御部22cは、該当するNICデバイスのMACアドレスと、ハイパーバイザ26から通知されたゲストIDとを対応付けて、ゲストID管理テーブル22bに格納するS105とS106。その後、通信インタフェース20bが有するNICデバイスにパケットが到着すると、通信インタフェース20bは、パケット到着要求を割込みコントローラ22に出力するS107とS108。すなわち、通信インタフェース20bは、外部割込みを割込みコントローラ22に通知する。そして、割込みコントローラ22の割込み先特定部22dは、パケットが到着したNICデバイスのMACアドレスに対応付けられているゲストIDをゲストID管理テーブル22bから特定するS109からS111。なお、割込み先特定部22dは、パケットのヘッダ等に格納される宛先MACアドレスを抽出してもよく、パケットが到着したNICデバイスから直接MACアドレスを抽出してもよい。例えば物理的なNICデバイスを複数のゲストOSが共有している場合などには、宛先MACアドレスからデバイスIDを抽出することができる。続いて、割込み先特定部22dは、特定したゲストIDを割込みターゲットレジスタ22aに格納するS112とS113。その後、割込み先特定部22dは、パケット到着要求言い換えると物理割込み要求をハイパーバイザ26に送出するS114とS115。一方、この間に、割込み先特定部22dが特定したゲストIDを有するゲストOSが、CPUの割当から外れるS116。つまり、割込み要求の宛先ゲストOSがCPUの実行権を有している状態から有さない状態に遷移したとする。その後、ハイパーバイザ26の割込みハンドラ特定部26cは、割込みコントローラ22から物理割込み要求を受信すると、割込みターゲットレジスタ22aを参照して、割込みの宛先となるゲストIDを特定するS117とS118。続いて、割込みハンドラ特定部26cは、CPU割当部26bの割当状況を確認し、特定されたゲストIDを有するゲストOSに、CPUが割り当てられていないことを検出するS119。すると、割込みハンドラ特定部26cは、割込みコントローラ22から送出されたパケット到着要求から割込みベクタを抽出し、S120を実行する。すなわち、割込みハンドラ特定部26cは、割込みベクタとゲストIDとの組み合わせに対応付けられている割込みハンドラの先頭アドレスとページテーブルとを特定する。その後、割込み実行部26dは、割込みハンドラ特定部26cが特定した割込みハンドラの先頭アドレスとページテーブルとを用いて、該当する割込みハンドラをゲストOSから読み出して実行するS121。そして、割込み実行部26dは、割込みハンドラの実行が終了すると、つまり、パケット到着要求による外部割込みが完了すると、EOIを割込みコントローラに送信するS122とS123。HDDデバイスを用いた例図9は、実施例2に係る情報処理装置の処理シーケンスをHDDデバイスを例にして示した図である。図9に示すように、ゲストOSは、HDDデバイスへのアクセス要求をハイパーバイザ26に送信するS201とS202。ハイパーバイザ26は、アクセス要求を受信すると、アクセス要求先のHDDデバイスにデバイスIDを割り与え、割り与えたデバイスIDとともに当該デバイスIDへのアクセス要求を割込みコントローラに出力するS203とS204。そして、割込みコントローラ22の格納制御部22cは、アクセス要求等から要求元のゲストOSのゲストIDを特定し、S205を実行する。すなわち、格納制御部22cは、特定したゲストIDと、アクセス要求とともに受信したデバイスIDとを対応付けて、ゲストID管理テーブル22bに格納するS205とS206。その後、割込みコントローラ22は、DMA転送要求を該当HDDに送信するS207とS208。そして、HDDに対するDMA転送が完了すると、HDDデバイスは、割込みコントローラ22に対してDMA完了割込み要求を送信するS209とS210。すなわち、入出力インタフェース20cは、外部割込みを割込みコントローラ22に通知する。その後に実行されるS211からS223までの処理は、図8で説明したS109からS121と同様なので、詳細な説明を省略する。そして、割込み実行部26dは、割込みハンドラの実行が終了すると、つまり、DMA完了割込み要求による外部割込みが完了すると、EOIを割込みコントローラ22に送信するS224とS225。実行権を有するゲストOSへの割込み処理図10は、割込み要求の宛先のゲストにCPUが割り当てられている場合の処理シーケンス図である。図10に示すS301からS310までの処理は、図9で説明したS201からS210までと同様の処理なので、詳細な説明は省略する。そして、割込みコントローラ22の割込み先特定部22dは、DMA転送要求を送信したHDDデバイスのデバイスIDに対応するゲストIDをゲストID管理テーブル22bから特定するS311からS313。続いて、割込み先特定部22dは、特定したゲストIDを割込みターゲットレジスタ22aに格納するS314とS315。その後、割込み先特定部22dは、DMA転送要求言い換えると物理割込み要求をハイパーバイザ26に送出するS316とS317。その後、ハイパーバイザ26の割込みハンドラ特定部26cは、割込みコントローラ22から物理割込み要求を受信すると、割込みターゲットレジスタ22aを参照して、割込みの宛先となるゲストIDを特定するS318とS319。続いて、割込みハンドラ特定部26cは、CPU割当部26bの割当状況を確認し、特定されたゲストIDを有するゲストOSにCPUが割り当てられていることを検出するS320。そして、割込みハンドラ特定部26cは、DMA転送要求を仮想割込み要求に変換しS321、変換した仮想割込み要求を、特定したゲストIDを有するゲストOSに送出するS322とS323。その後、仮想割込み要求を受信したゲストOSは、割込み処理を実行し、割込み処理が完了すると、EOIを割込みコントローラに送信するS324とS325。このように、実施例2に係る情報処理装置20では、複数のゲストOSが動作している場合に、どのゲストOS宛の割込みかを判定して、ゲストOSの割込みハンドラをハイパーバイザ26が代行処理を行うことができる。また、情報処理装置20は、ゲストOSにCPUが割り当てるのを待たずに割込み処理を終了できるので、後続の割込みを待たせることなく随時処理することができる。また、情報処理装置20は、仮想割込みを経由することなく、ゲストOSの割込みハンドラを直接呼び出すため、ゲストOSへの割込み処理を効率よく実行することができる。また、割込みハンドラでEOIを発行することによって、次の割込みを待たせることなく処理することができる。さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。プロテクトモード開示する情報処理装置は、実施例2で説明したゲストID管理テーブルに記憶される情報として、例えば仮想マシンの動作モードが格納されるアドレス情報をさらに記憶させてもよい。図11は、プロテクトモードを記憶するゲストID管理テーブルの例を示す図である。図11に示すように、ゲストID管理テーブルは、実施例2等で説明したゲストID、デバイスIDに対してさらにプロテクトモードを記憶する。ここで記憶されるプロテクトモードは、ゲストOSが動作する動作モードの格納先を示す情報であり、例えばゲストOSが管理する仮想アドレス空間の先頭アドレスなどである。このプロテクトモードで示されるアドレスから読み出した動作モードは、例えば保護仮想アドレスモードProtectedVirtualAddressModeなどとも呼ばれる。なお、このプロテクトモードは、割込みコントローラ22がオペレータ等から受け付けて格納する。一例を挙げると、図8のS102のタイミングでハイパーバイザ26がオペレータから受け付けた情報を、割込みコントローラ22がゲストID管理テーブルに格納する。割込みコントローラ22の割込み先特定部22dは、割込みの宛先のゲストIDを特定した際に、このプロテクトモードもあわせて特定し、割込みターゲットレジスタ22aに登録したり、ハイパーバイザ26に通知したりする。そして、ハイパーバイザ26の割込み実行部26dは、割込みハンドラを実行する際に、このプロテクトモードを格納先から読み出して、各ゲストOSの動作モードで割込みハンドラを実行する。したがって、情報処理装置20は、各ゲストの動作モードで割込みハンドラを実行することができるので、他のゲストOSのメモリ空間などの破壊を防止することができる。割込み種別開示する情報処理装置は、割込み種別によって、ハイパーバイザ26が割込み処理を代行するか否かを判定することもできる。例えば、ハイパーバイザ26の割込みハンドラ管理テーブル26aに、ゲストOS各々に対応付けてハードウェア割込みに対して実行される割込みハンドラの格納先の情報を記憶させる。こうすることで、ハードウェア割込みをソフトウェア割込みより優先して実行することができる。ハードウェア割込みとは、例えばイーサネット登録商標ドライバ処理、SCSISmallComputerSystemInterfaceホストアダプタドライバ処理、シリアルドライバ処理などの割込み処理である。このハードウェア割込みは、割込みが発生した場合になるべく早く実行を完了させて、実行時間が短くなることを要求される割込み処理である。また、ソフトウェア割込みとは、TCPTransmissionControlProtocol/IPInternetProtocolプロトコル処理、SCSIプロトコル処理、端末制御処理などの割込み処理である。このソフトウェア割込みは、ハードウェア割込みに比べて早急な実行完了を要求されない割込み処理である。開示する情報処理装置のハイパーバイザは、ハードウェア割込みハンドラのコンテキストで実行し、ハードウェア割込みハンドラ内ではソフトウェア割込みの登録だけを実行し後からまとめて実行する。図12は、割込み種別によって実行方式を変更することを説明する図である。図12に示すように、ハイパーバイザは、ハードウェア割込みを実行するハード割込みハンドラを保持し、このハード割込みハンドラは、ハードウェア割込みごとの割込みハンドラを早い割込みハンドラとして保持する。そして、ハイパーバイザは、ハードウェア割込みが発生した場合に、ハード割込みハンドラを起動して該当する早い割込みハンドラを呼び出し、ゲストOSを代行して割込み処理を実行する。その後、早い割込みハンドラは、実行が完了すると、割込みコントローラにEOIを発行する。また、ハイパーバイザは、ソフトウェア割込みが発生した場合に、ハード割込みハンドラを起動して仮想割込みに変換して、ゲストOSのカーネルに通知する。ゲストOSは、仮想割込みを受信すると、遅い割込みハンドラを実行する。なお、遅い割込みハンドラとは、例えばソフトウェア割込みを実行する割込みハンドラである。その後、ゲストOSの遅い割込みハンドラは、スケジューラ等によってゲストOSがプロセッサの実行権を獲得すると、ソフト割込みハンドラを実行して割込み処理を実行する。そして、ソフト割込みハンドラは、処理が完了すると、割込みコントローラにEOIを発行する。なお、上記例では、ハードウェア割込みとソフトウェア割込みとが別々の割込みとして発生した例を説明したが、1つの外部割込みについて、先にハードウェア割込みを実行してEOIを発行し、後からソフトウェア割込みとしてまとめて実行することもできる。例えば、割込みコントローラは、NICデバイスにパケットが到着すると、割込み要求を生成してハイパーバイザのハード割込みハンドラを起動する。ハイパーバイザのハード割込みハンドラは、当該外部割込みが遅い割込みに該当するので、外部割込みを仮想割込みに変換して、ゲストOSのカーネルが保持する遅い割込みハンドラに通知する。一方で、ハイパーバイザのハード割込みハンドラは、登録されたゲストの早い割込みハンドラを呼び出して、早い割込みハンドラの処理が終了するとEOIを発行する。その後、ゲストOSの遅い割込みハンドラは、スケジューラ等によってゲストOSがプロセッサの実行権を獲得すると、ソフト割込みハンドラを実行して割込み処理を実行する。実行手法実施例2では、ゲストOSにプロセッサの実行権が与えられていない場合には、割込みハンドラを読み出して実行し、ゲストOSにプロセッサの実行権が与えられている場合には、外部割込みを仮想割込み要求に変換してゲストOSに出力する例を説明した。しかし、開示する情報処理装置の割込み実行手法はこれに限定されるものではない。例えば、情報処理装置のハイパーバイザは、割込み対象のゲストOSにプロセッサの実行権が与えられている場合でも、当該ゲストOSを代行して割込みハンドラを実行することもできる。システムまた、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。プログラムところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図13は、割込み制御プログラムを実行するコンピュータのハードウェア構成の例を示す図である。図13に示すように、コンピュータ100は、CPU102、入力装置103、出力装置104、通信インタフェース105、媒体読取装置106、HDDHardDiskDrive107、RAMRandomAccessMemory108を有する。また、図13に示した各部は、バス101で相互に接続される。入力装置103は、マウスやキーボードであり、出力装置104は、ディスプレイなどであり、通信インタフェース105は、NICなどのインタフェースである。HDD107は、割込み制御プログラム107aととともに、図5に示した各テーブルの情報を記憶する。記録媒体の例としてHDD107を例に挙げたが、ROMReadOnlyMemory、RAMRandomAccessMemory、CD-ROM等の他のコンピュータ読み取り可能な記録媒体に各種プログラムを格納しておき、コンピュータに読み取らせることとしてもよい。なお、記憶媒体を遠隔地に配置し、コンピュータが、その記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのコンピュータ自身の記録媒体に格納して用いてもよい。CPU102は、割込み制御プログラム107aを読み出してRAM108に展開することで、図5等で説明した各機能を実行する割込み制御プロセス108aを動作させる。すなわち、割込み制御プロセス108aは、図5に記載した格納制御部22c、割込み先特定部22d、割込みハンドラ特定部26c、割込み実行部26dと同様の機能を実行する。このようにコンピュータ100は、プログラムを読み出して実行することで割込み制御方法を実行する情報処理装置として動作する。例えば、コンピュータ100は、媒体読取装置106によって記録媒体から割込み制御プログラム107aを読み出し、読み出された割込み制御プログラム107aを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、コンピュータ100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。