(57)【要約】      （修正有）【課題】論理パーティションのオペレーティング・システムに対する一切の変更を伴うことなく、共有プロセッサを含むことのできるコンピュータ・システム内の仮想割り込みをサポートする。【解決手段】システム内の各仮想プロセッサについて仮想割り込みレジスタのセットが作成される。リソースおよびパーティション・マネージャは、この仮想割り込みレジスタを使用して、対応する仮想プロセッサに関する割り込みを処理する。これによれば、オペレーティング・システムの観点から見た場合に、共有プロセッサならびに仮想割り込みを含むことのできる論理パーティション内においてオペレーティング・システムが実行中ときの割り込み処理と、専用プロセッサ・パーティションだけを含むコンピュータ・システム内においてオペレーティング・システムが実行中のときの割り込み処理にまったく差異がない。【選択図】図１
2004303237.tif 000002
【特許請求の範囲】
【請求項１】
装置であって：
プロセッサ；
前記プロセッサに結合されるメモリ；
前記装置上において定義される複数の論理パーティション；
それぞれが前記プロセッサ内に存在する物理的な割り込みレジスタに対応する、前記メモリ内に存在する少なくとも１つの仮想割り込みレジスタ；および、
前記少なくとも１つの仮想割り込みレジスタを使用して複数の割り込みを処理する、前記メモリ内に存在し、前記プロセッサによって実行される割り込みマネジメント・メカニズム；
を備える装置。
【請求項２】
さらに、前記複数の論理パーティション内において定義される複数の仮想プロセッサを備え、それにおいて各仮想プロセッサは、前記プロセッサ内に存在する物理的な割り込みレジスタのセットに対応する、前記メモリ内に存在する仮想割り込みレジスタのセットを定義するものとする、請求項１に記載の装置。
【請求項３】
前記割り込みマネジメント・メカニズムは、前記複数の論理パーティションを管理するリソースおよびパーティション・マネージャ内に存在するものとする、請求項１に記載の装置。
【請求項４】
装置であって：
プロセッサ；
前記プロセッサに結合されるメモリ；
それぞれが対応するオペレーティング・システムを含む、前記装置上において定義される複数の論理パーティション；
専用のプロセッサ・パーティションだけを含むコンピュータ・システム上において前記対応するオペレーティング・システムが実行されているときの前記対応するオペレーティング・システムに関する割り込み処理モデルと整合する態様で複数の割り込みを処理する、前記メモリ内に存在し、前記プロセッサによって実行される割り込みマネジメント・メカニズム；
を備える装置。
【請求項５】
さらに、それぞれが前記プロセッサ内に存在する物理的な割り込みレジスタに対応する、前記メモリ内に存在する少なくとも１つの仮想割り込みレジスタを備える、請求項４に記載の装置。
【請求項６】
さらに、前記複数の論理パーティション内において定義される複数の仮想プロセッサを備え、それにおいて各仮想プロセッサは、前記プロセッサ内に存在する物理的な割り込みレジスタのセットに対応する、前記メモリ内に存在する仮想割り込みレジスタのセットを定義するものとする、請求項４に記載の装置。
【請求項７】
前記割り込みマネジメント・メカニズムは、前記複数の論理パーティションを管理するリソースおよびパーティション・マネージャ内に存在するものとする、請求項４に記載の装置。
【請求項８】
複数の論理パーティションを含むコンピュータ・システム内において割り込みを処理するためにコンピュータに実装される方法であって：
それぞれがプロセッサ内に存在する物理的な割り込みレジスタに対応する、複数の仮想割り込みレジスタを定義するステップ；および、
前記複数の仮想割り込みレジスタを使用して割り込みを処理するステップ；
を含む方法。
【請求項９】
さらに、前記複数の論理パーティション内において複数の仮想プロセッサを定義するステップを含み、それにおいて各仮想プロセッサは、前記プロセッサ内に存在する物理的な割り込みレジスタのセットに対応する、仮想割り込みレジスタのセットを定義するものとする、請求項８に記載の方法。
【請求項１０】
前記割り込みの処理は、前記複数の論理パーティションを管理するリソースおよびパーティション・マネージャ内に存在する割り込みマネジメント・メカニズムによって実行されるものとする、請求項８に記載の方法。
【請求項１１】
複数の論理パーティションを含むコンピュータ・システム内において割り込みを処理するために、各論理パーティションが対応するオペレーティング・システムを含むものとする、コンピュータに実装される方法であって：
割り込みマネジメント・メカニズムに複数の割り込みを与えるステップ；および、
前記割り込みマネジメント・メカニズムが、専用のプロセッサ・パーティションだけを含むコンピュータ・システム上において前記対応するオペレーティング・システムが実行されているときの前記対応するオペレーティング・システムに関する割り込み処理モデルと整合する態様で論理パーティションに関する前記複数の割り込みを処理するステップ；
を含む方法。
【請求項１２】
さらに、それぞれがプロセッサ内に存在する物理的な割り込みレジスタに対応する複数の仮想割り込みレジスタを定義するステップを含み、それにおいて前記割り込みマネジメント・メカニズムは、前記複数の仮想割り込みレジスタを使用して前記複数の割り込みを処理するものとする、請求項１１に記載の方法。
【請求項１３】
さらに、前記複数の論理パーティション内において複数の仮想プロセッサを定義するステップを含み、それにおいて各仮想プロセッサは、プロセッサ内に存在する物理的な割り込みレジスタのセットに対応する仮想割り込みレジスタのセットを定義するものとし、前記割り込みマネジメント・メカニズムは、選択した割り込みを、前記選択した割り込みに対応する前記仮想プロセッサに対応する仮想割り込みレジスタのセットとのインタラクションによって処理するものとする、請求項１１に記載の方法。
【請求項１４】
前記割り込みマネジメント・メカニズムは、前記複数の論理パーティションを管理するリソースおよびパーティション・マネージャ内に存在するものとする、請求項１１に記載の方法。
【請求項１５】
少なくとも１つの仮想割り込みレジスタを使用し、複数の論理パーティションを含むコンピュータ・システム内において複数の割り込みを処理する、割り込みマネジメント・メカニズムであって、各仮想割り込みレジスタは、プロセッサ内に存在する物理的な割り込みレジスタに対応するものとする割り込みマネジメント・メカニズム；および、
前記割り込みマネジメント・メカニズムを担持するコンピュータ可読信号担持メディア；
を含むプログラム・プロダクト。
【請求項１６】
前記信号担持メディアは記録可能メディアを構成する、請求項１５に記載のプログラム・プロダクト。
【請求項１７】
前記信号担持メディアは伝送メディアを構成する、請求項１５に記載のプログラム・プロダクト。
【請求項１８】
さらに、前記複数の論理パーティション内において定義される複数の仮想プロセッサを含み、それにおいて各仮想プロセッサは、前記プロセッサ内に存在する物理的な割り込みレジスタのセットに対応する仮想割り込みレジスタのセットを定義するものとする、請求項１５に記載のプログラム・プロダクト。
【請求項１９】
前記割り込みマネジメント・メカニズムは、前記複数の論理パーティションを管理するリソースおよびパーティション・マネージャ内に存在するものとする、請求項１５に記載のプログラム・プロダクト。
【請求項２０】
それぞれが対応するオペレーティング・システムを含む複数の論理パーティションを含むコンピュータ・システム内において複数の割り込みを、専用のプロセッサ・パーティションだけを含むコンピュータ・システム上において前記対応するオペレーティング・システムが実行されているときの前記対応するオペレーティング・システムに関する割り込み処理モデルと整合した態様で処理する割り込みマネジメント・メカニズム；および、
前記割り込みマネジメント・メカニズムを担持するコンピュータ可読信号担持メディア；
を含むプログラム・プロダクト。
【請求項２１】
前記信号担持メディアは記録可能メディアを構成する、請求項２０に記載のプログラム・プロダクト。
【請求項２２】
前記信号担持メディアは伝送メディアを構成する、請求項２０に記載のプログラム・プロダクト。
【請求項２３】
さらに、それぞれが前記プロセッサ内に存在する物理的な割り込みレジスタに対応する、少なくとも１つの仮想割り込みレジスタを含む、請求項２０に記載のプログラム・プロダクト。
【請求項２４】
さらに、前記複数の論理パーティション内において定義される複数の仮想プロセッサを含み、それにおいて各仮想プロセッサは、前記プロセッサ内に存在する物理的な割り込みレジスタのセットに対応する仮想割り込みレジスタのセットを定義するものとする、請求項２０に記載のプログラム・プロダクト。
【請求項２５】
前記割り込みマネジメント・メカニズムは、前記複数の論理パーティションを管理するリソースおよびパーティション・マネージャ内に存在するものとする、請求項２０に記載のプログラム・プロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してデータ処理に関し、より詳細に述べれば、論理的にパーティションが作成されたコンピュータ・システムに関する。
【背景技術】
【０００２】
コンピュータ時代の黎明期に比べると、コンピュータ・システムは、多くの異なるセッティングの下に見られる著しく精巧なデバイスに進化した。コンピュータ・システムは、通常、ハードウエア（たとえば、半導体、回路基板等）およびソフトウエア（たとえば、コンピュータ・プログラム）の組み合わせを含む。半導体処理ならびにコンピュータ・アーキテクチャにおける進歩がコンピュータ・ハードウエアのパフォーマンスをより高いものへと押し上げ、それに伴って、より高くなったハードウエアのパフォーマンスを利用するべくより精巧なコンピュータ・ソフトウエアが生み出され、その結果、数年前に比してはるかに強力な今日的コンピュータ・システムがもたらされている。
【０００３】
特定のコンピュータ・システム上におけるハードウエアおよびソフトウエアの組み合わせは、コンピューティング環境を定義する。したがって、ハードウエア・プラットフォームが異なり、オペレーティング・システムが異なれば、異なるコンピューティング環境が提供される。近年の技術者の間では、異なるコンピューティング環境に対してコンピュータ・システム・リソースの論理的なパーティションを作成ことによって、同一の物理的なコンピュータ・システム上においても異なるコンピューティング環境を提供できることが認識されている。ＩＢＭによって開発されたｅＳｅｒｖｅｒコンピュータ・システムは、論理的なパーティションの作成をサポートするコンピュータ・システムの一例である。ｅＳｅｒｖｅｒコンピュータ・システム上において論理的なパーティションの作成が希望されると、リソースおよびパーティション・マネージャ・コード（ｅＳｅｒｖｅｒテクノロジにおいては『ｈｙｐｅｒｖｉｓｏｒ（ハイパーバイザ）』と呼ばれる）がインストールされ、それが同一プラットフォーム上における異なるコンピューティング環境の定義を可能にする。リソースおよびパーティション・マネージャがインストールされると、異なるコンピューティング環境を定義する論理パーティションを作成することができる。リソースおよびパーティション・マネージャは、論理パーティションを管理し、それらがコンピュータ・システム内の必要なリソースを共有できることを保証するとともに、その一方において当該パーティションによって定義される個別のコンピューティング環境を維持する。
【０００４】
複数の論理パーティションを含むコンピュータ・システムは、通常、論理パーティション間におけるリソースを共有する。たとえば、シングルＣＰＵを伴うコンピュータ・システムにおいては、２つの論理パーティションを、各パーティションにＣＰＵの５０％が割り付けられ、第１のパーティションにメモリの３３％が、第２のパーティションにメモリの６７％が割り付けられ、２つの異なるＩ／Ｏスロットが２つの論理パーティションに対して、すなわち各パーティションに１つのスロットが割り付けられるように定義するといったことができる。論理パーティションが定義され、それらの論理パーティションに対して共有リソースが割り付けられると、各論理パーティションは、独立のコンピュータ・システムとして作用する。このように、シングルＣＰＵを有し、１つのコンピュータ・システム内に２つの論理パーティションを伴う上記の例においては、すべての実用目的に関して２つの論理パーティションが、２つの独立かつ明確なコンピュータ・システムとして現れることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
論理的にパーティションが作成されたコンピュータ・システムに惹起される問題は、割り込みのハンドリングをいかに行うかということである。プロセッサは、通常、割り込みレジスタを備え、それが使用されて、割り込みのハンドリングをいつ、どのように行うかについて決定される。論理パーティションを有していないコンピュータ・システムにおいては、プロセッサをＩ／Ｏハードウエアとダイレクトに結合すればよく、プロセッサは、Ｉ／Ｏハードウエアによって生成されたすべての割り込みを処理する。しかしながら、論理的にパーティションが作成されたコンピュータ・システムにおいては、異なる物理プロセッサおよび／または異なる仮想プロセッサに関してＩ／Ｏ割り込みが生じ得ることから、プロセッサをＩ／Ｏハードウエアとダイレクトに結合することができない。このため、論理的にパーティションが作成されたコンピュータ・システムにおいては、割り込みのハンドリングを行うための何らかのメカニズムが必要になる。従来技術では論理的にパーティションが作成されたコンピュータ・システム内における割り込みが、物理プロセッサ上の割り込みレジスタとのインタラクションから割り込みのハンドリングを行う複雑なソフトウエア（ｅＳｅｒｖｅｒテクノロジにおいては『ｈｙｐｅｒｖｉｓｏｒ（ハイパーバイザ）』として知られている）によってサポートされている。専用プロセッサを伴う論理的にパーティションが作成されたコンピュータ・システムでは、論理パーティション内のオペレーティング・システムが割り込みを処理するために呼び出すことのできる関数を提供するｈｙｐｅｒｖｉｓｏｒ（ハイパーバイザ）内において割り込みマネジメントが提供されている。これらの関数は、通常、論理パーティションに対応する専用プロセッサのための物理プロセッサ・レジスタと相互作用する。これらの関数は、プロセッサの物理レジスタが特定の論理パーティション専用でないことから、プロセッサを共有する論理パーティションの場合に機能しない。それに加えて、従来技術は、パーティション内の割り込みのハンドリングを変更せずに仮想割り込み（ソフトウエア内において生成される）を処理する方法を提供しない。論理的にパーティションが作成された、共有プロセッサを含むコンピュータ・システム内において割り込みを処理する方法がなく、かつ仮想割り込みを処理する方法がないことから、コンピュータ産業は、論理的にパーティションが作成されたコンピュータ・システムのケイパビリティを過度に制限するメカニズムならびに方法に今もって甘んじている。
【課題を解決するための手段】
【０００６】
好ましい実施態様のリソースおよびパーティション・マネージャは、追加のハードウエアを使用することなく、論理パーティション上において実行中のオペレーティング・システムの割り込み処理モデルを擾乱しない方法に従って割り込みを仮想化する。言い換えると、リソースおよびパーティション・マネージャは、論理パーティションのオペレーティング・システムに対する一切の変更を伴うことなく、論理的にパーティションが作成された、共有プロセッサを含むことのできるコンピュータ・システム内の仮想割り込みをサポートする。システム内の各仮想プロセッサについて仮想割り込みレジスタのセットが作成される。リソースおよびパーティション・マネージャは、この仮想割り込みレジスタを使用して、対応する仮想プロセッサに関する割り込みを処理する。これによれば、オペレーティング・システムの観点から見た場合に、共有プロセッサならびに仮想割り込みを含むことのできる論理パーティション内においてオペレーティング・システムが実行中のときの割り込み処理と、専用プロセッサ・パーティションだけを含むコンピュータ・システム内においてオペレーティング・システムが実行中のときの割り込み処理にまったく差異がない。
【０００７】
以上ならびにそのほかの本発明の特徴および利点は、以下の、添付図面に例証されている、より特定された本発明の好ましい実施態様の説明から明らかなものとなろう。
【０００８】
次に、添付図面に関連して本発明の好ましい実施態様を説明するが、図面においては、類似の名称が類似のエレメントを表している。
【発明を実施するための最良の形態】
【０００９】
本発明の好ましい実施態様によれば、割り込みマネジメント・メカニズムが、複数の論理パーティションを含むコンピュータ・システム内の割り込みを仮想化する。割り込みの仮想化は、各論理パーティション内の各オペレーティング・システムが、専用プロセッサ・パーティションだけを伴うシステム内においてそれが実行中のときの割り込み処理モデルに従って動作することを可能にする。言い換えると、割り込みマネジメント・メカニズムは、論理パーティション内のオペレーティング・システムの観点からトランスペアレントに共有プロセッサ・パーティションまたは仮想割り込みが存在するという事実をもたらす。この割り込みマネジメント・メカニズムは、割り込みハードウエアまたはソフトウエアから割り込みを受領し、その割り込みの処理をいずれの仮想プロセッサが必要としているかを決定し、その仮想プロセッサに対応する仮想割り込みレジスタのセットを使用してその割り込みを処理する。このようにして各仮想プロセッサが、独自の対応する仮想割り込みレジスタのセットを維持する。
【００１０】
図１を参照するが、コンピュータ・システム１００は、強化されたＩＢＭｅＳｅｒｖｅｒコンピュータ・システムであり、好ましい実施態様に従った論理パーティションおよび割り込みハンドリングをサポートするコンピュータ・システムの１つの適切なタイプを表している。当業者であれば、本発明のメカニズムならびに装置が、論理パーティションをサポートする任意のコンピュータ・システムに等しく適用されることを認識されるであろう。図１に示されているようにコンピュータ・システム１００は、メイン・メモリ１２０、大容量ストレージ・インターフェース１３０、ディスプレイ・インターフェース１４０、およびネットワーク・インターフェース１５０に接続される１ないしは複数のプロセッサ１１０を備えている。これらのシステム・コンポーネントは、システム・バス１６０の使用を介して相互接続されている。大容量ストレージ・インターフェース１３０は、大容量ストレージ・デバイス（ダイレクト・アクセス・ストレージ・デバイス１５５等）をコンピュータ・システム１００に接続するために使用される。ＣＤ  ＲＷドライブは、ダイレクト・アクセス・ストレージ・デバイスの１つの特定タイプであり、ＣＤ  ＲＷ  １９５からデータを読み込むことができる。
【００１１】
メイン・メモリ１２０は、リソースおよびパーティション・マネージャ１２１、割り込みマネジメント・メカニズム１２２、仮想プロセッサ・コントロール・メカニズム１２３、および図１において論理パーティション１２５Ａ〜１２５Ｎとして示されているＮ個の論理パーティション１２５を含む。好ましくはリソースおよびパーティション・マネージャ１２１が、これらのＮ個の論理パーティション１２５を作成する。割り込みマネジメント・メカニズム１２２は、Ｉ／Ｏハードウエアからの割り込みを受領するインターフェースを提供し、そのハンドリングが適切な仮想プロセッサによって行われるようにそれらの割り込みを処理する。仮想プロセッサ・コントロール・メカニズム１２３は、好ましくは１ないしは複数の仮想割り込みレジスタ１２４のセットを含む。もっとも好ましい実施態様においては、論理パーティション１２５内に定義される各仮想プロセッサに対応する仮想割り込みレジスタ１２４のセットが存在する。仮想プロセッサ・コントロール・メカニズム１２３は、割り込みマネジメント・メカニズム１２２とのインタラクションを行って、いずれの仮想プロセッサが未決の割り込みのハンドリングを行うべきかを決定し、その割り込みのハンドリングを行うことになる仮想プロセッサに対応する仮想割り込みレジスタ１２４のセットに従ってその割り込みのハンドリングを行う。
【００１２】
各論理パーティションは、好ましくは対応するオペレーティング・システム１２６を含み、図１には１２６Ａ〜１２６Ｎとしてそれらが示されている。オペレーティング・システム１２６は、ＯＳ／４００、ＡＩＸ、あるいはＬｉｎｕｘ等のマルチタスク・オペレーティング・システムである；しかしながら、当業者であれば認識されようが、いずれか１つのオペレーティング・システムに本発明の精神ならびに範囲が限定されることはない。任意の適切なオペレーティング・システムを使用することができる。オペレーティング・システム１２６は、コンピュータ・システム１００のリソースを管理するロー‐レベルのコードを含む精巧なプログラムである。これらのリソースには、プロセッサ１１０、メイン・メモリ１２０、大容量ストレージ・インターフェース１３０、ディスプレイ・インターフェース１４０、ネットワーク・インターフェース１５０、およびシステム・バス１６０が含まれている。各パーティション内のオペレーティング・システム１２６は、ほかのパーティション内のオペレーティング・システムと同じであってもよく、あるいは完全に異なるオペレーティング・システムであってもよい。つまり、あるパーティションではＯＳ／４００オペレーティング・システムが実行中となり、別のパーティションではＯＳ／４００の別のインスタンスが実行中となるといったことが可能であり、可能性としてはそのリリースが異なるか、あるいは異なる環境セッティング（たとえば、時間帯）を伴う。論理パーティション内のオペレーティング・システムは、ハードウエアとの互換性を前提とすれば、ＯＳ／４００とは別のもの（たとえば、ＡＩＸまたはＬｉｎｕｘ）とすることさえも可能である。このように論理パーティションは、同一の物理コンピュータ・システム上において、完全に異なるコンピューティング環境を提供することができる。
【００１３】
図１には、メイン・メモリ１２０内に存在する形でパーティション１２５Ａ〜１２５Ｎが示されている。しかしながら当業者であれば認識されようが、パーティションは、メモリ以外のリソースも含む論理構成概念である。論理パーティションは、通常、プロセッサ・キャパシティおよびそのほかのシステム・リソースの割り当てとともにメモリの一部を指定する。したがって、２つのプロセッサならびにメモリ１２０の一部を、大容量ストレージ・インターフェース１３０、ディスプレイ・インターフェース１４０、あるいはネットワーク・インターフェース１５０の機能を提供し得る１ないしは複数のＩ／Ｏプロセッサとともに含むべく１つのパーティションを定義することができる。またもう１つのパーティションを、別の３つのプロセッサ、メモリ１２０の別の部分、および１ないしは複数のＩ／Ｏプロセッサを含むべく定義することができる。図１には、これらのパーティションが論理パーティションを象徴的に表すべく示されており、それらは、コンピュータ・システム１００内であってメモリ１２０外のシステム・リソースを含むことになる。ここで注意されたいが、リソースおよびパーティション・マネージャ１２１、割り込みマネジメント・メカニズム１２２、および仮想プロセッサ・コントロール・メカニズム１２３は、好ましくはパーティションから分離されたメモリならびにハードウエア内に存在し、パーティションに対して直接的に利用可能とならないファシリティおよびメカニズムとする。
【００１４】
コンピュータ・システム１００は、周知の仮想アドレシング・メカニズムを使用し、それによりコンピュータ・システム１００のプログラムが、メイン・メモリ１２０およびＤＡＳＤデバイス１５５というように複数の、より細かいストレージ・エンティティに対するアクセスではなく、大きな単一のストレージ・エンティティに対するアクセスを有するかのように振る舞うことが可能になる。したがって、リソースおよびパーティション・マネージャ１２１、割り込みマネジメント・メカニズム１２２、仮想プロセッサ・コントロール・メカニズム１２４、およびパーティション１２５Ａ〜１２５Ｎは、メイン・メモリ１２０内に存在する形で示されているが、当業者であれば認識されるように、これらのアイテムが、必ずしもすべて同時に、メイン・メモリ１２０内に完全に含まれている必要はない。またここで注意を要するが、本明細書に使用されている用語『メモリ』は、コンピュータ・システム１００内のあらゆる仮想メモリを総称的に指すものである。
【００１５】
各プロセッサ１１０は、１ないしは複数のマイクロプロセッサおよび／または集積回路から構成することができる。各プロセッサ１１０は、好ましくは、プロセッサ１１０による割り込みのハンドリング方法を指図する割り込みレジスタ１１２のセットを含む。プロセッサ１１０は、メイン・メモリ１２０内にストアされているプログラム・インストラクションを実行する。メイン・メモリ１２０は、プロセッサ１１０がアクセス可能なプログラムおよびデータをストアしている。コンピュータ・システム１００のスタート・アップ時に、まずプロセッサ１１０は、リソースおよびパーティション・マネージャ１２１を構成するプログラム・インストラクションを実行し、それが論理パーティション内のオペレーティング・システムを初期化する。
【００１６】
図示されているコンピュータ・システム１００は単一のシステム・バスしか備えていないが、当業者にあっては、複数のバスを備えるコンピュータ・システムを使用して本発明の実施が可能であることを認識されるであろう。それに加えて、好ましい実施態様に使用されているＩ／Ｏインターフェースは、それぞれ、ｅＳｅｒｖｅｒの入力／出力プロセッサにおけるように、プロセッサ１１０から演算集約的処理をアンロードするために使用される、独立した完全にプログラム済みのマイクロプロセッサを備えるか、単純に業界標準Ｉ／Ｏアダプタ（ＩＯＡ）とすることができる。
【００１７】
ディスプレイ・インターフェース１４０は、１ないしは複数のディスプレイ１６５をコンピュータ・システム１００へダイレクトに接続するために使用される。これらのディスプレイ１６５は、非インテリジェント（すなわち、ダム）端末もしくは完全なプログラマブル・ワークステーションとすることができるが、これが使用されてシステム管理者ならびにユーザは、コンピュータ・システム１００と通信することが可能になる。しかしながら、ここで注意することは、１ないしは複数のディスプレイ１６５との通信をサポートするべくディスプレイ・インターフェース１４０が備えられているが、ユーザならびにほかのプロセッサとのすべての必要なインタラクションがネットワーク・インターフェース１５０を介して生じることから、コンピュータ・システム１００は、必ずしもディスプレイ１６５を必要としない。
【００１８】
ネットワーク・インターフェース１５０は、ネットワーク１７０を渡ってコンピュータ・システム１００にほかのコンピュータ・システムおよび／またはワークステーション（たとえば、図１の１７５）を接続するために使用される。本発明は、コンピュータ・システム１００がほかのコンピュータ・システムおよび／またはワークステーションとどのように接続されるか、またネットワーク接続１７０が今日のアナログおよび／またはディジタル・テクニックを使用して構成されているか、あるいは将来の何らかのネットワーク・メカニズムを介して構成されるかといったこととは無関係に等しく適用される。それに加えて、多くの異なるネットワーク・プロトコルを使用してネットワークを具体化することができる。これらのプロトコルは、コンピュータがネットワーク１７０を渡って通信することを可能にする特化されたコンピュータ・プログラムである。ＴＣＰ／ＩＰ（伝送制御プロトコル／インターネット・プロトコル）は、適切なネットワーク・プロトコルの一例である。
【００１９】
ここで、以上ならびに以下において完全に機能的なコンピュータ・システムに関連して本発明の説明がなされているが、当業者であれば認識されるように、各種形式のプログラム・プロダクトとして本発明を配布することも可能であり、また本発明が、実際に当該配布を実施する上で使用される個々のコンピュータ可読信号担持メディアのタイプとは無関係に等しく適用できることにも注意する必要がある。適切な信号担持メディアとしては、フレキシブル・ディスクおよびＣＤ−ＲＷ（たとえば、図１の１９５）等の記録可能タイプのメディア、およびディジタルおよびアナログ通信リンク等の伝送タイプのメディアが挙げられる。
【００２０】
図１は、好ましい実施態様に従ったハードウエアならびにソフトウエア両方の顕著な特徴のいくつかを示した一例のコンピュータ・システムである。図１のいくつかのコンポーネントの、より詳細な論理的な視点を、図２にシステム２００として示す。各論理パーティション１２５は、オペレーティング・システム１２６を含み、１ないしは複数の仮想プロセッサ２２０を定義する。図２においては、論理パーティション１２５Ａが仮想プロセッサ２２０Ａおよび２２０Ｎを含み、論理パーティション１２５Ｎが仮想プロセッサ２２０Ｒおよび２２０Ｚを含んで示されている。ここで注意されたいが、論理パーティションは、１以上の任意の適切な数の仮想プロセッサを含むことができる。
【００２１】
論理パーティション１２５は、リソースおよびパーティション・マネージャ１２１と通信する。リソースおよびパーティション・マネージャ１２１は、論理パーティションを管理する。リソースおよびパーティション・マネージャ１２１に関する適切な具体化の１つに、ＩＢＭテクノロジにおいて『ｈｙｐｅｒｖｉｓｏｒ（ハイパーバイザ）』と呼ばれているものがある。リソースおよびパーティション・マネージャ１２１は、好ましくは、１ないしは複数の仮想割り込みレジスタ１２４を含む仮想プロセッサ・コントロール・メカニズム１２３を含む。リソースおよびパーティション・マネージャ１２１内の割り込みマネジメント・メカニズム１２２は、物理プロセッサ１１０から割り込みを受領し、一方それは、図２においてＩ／Ｏデバイス２１０として総括的に示されている割り込みハードウエアから割り込みを受け取る。物理プロセッサ１１０は、Ｉ／Ｏデバイス２１０から割り込みを受領した時点において、いずれの論理パーティションもしくは仮想プロセッサがその割り込みのハンドリングを行うべきかについて知らないため、割り込みマネジメント・メカニズム１２２内の割り込みマネジメント・インターフェース２３０を呼び出す。割り込みマネジメント・メカニズム１２２は、それに応答して割り込みのソースを決定し、いずれの仮想プロセッサがその割り込みのハンドリングを行うべきかについて決定し、さらにその仮想プロセッサ用にその割り込みのエンキューを行う。物理プロセッサ上において仮想プロセッサが実行された後には、パーティションが割り込みマネジメント・メカニズム１２２を起動し、続いてそれが、エンキューされている割り込み（１ないしは複数）を仮想プロセッサに渡す。その後は、仮想プロセッサがその割り込み（１ないしは複数）を処理することができる。このようにして、任意の実行中の仮想プロセッサに割り込みのルーティングを行うことができ、また現在実行していない任意の仮想プロセッサ用にそれをエンキューすることができる。
【００２２】
図２に示されているシステム２００の１つの重要な特徴は、各オペレーティング・システム１２６に関する割り込み処理モデルを、論理的にパーティションが作成されたコンピュータ・システム内において適正に機能するべく変更する必要がないということである。割り込みを仮想化するためのすべてのオーバーヘッドは、リソースおよびパーティション・マネージャ１２１内において実行される。各オペレーティング・システム１２６には、専用プロセッサ・パーティションを有するだけのシステム内のＩ／Ｏデバイスからの割り込みと、割り込みマネジメント・メカニズム１２２からの割り込みの間における差がわからない。これによれば、各オペレーティング・システム１２６に関する割り込み処理モデルが、専用プロセッサ・パーティションを伴うコンピュータ・システム上においてオペレーティング・システムが実行されている場合と同じに保たれる。このことは、それぞれの論理パーティション１２５内におけるオペレーティング・システム１２６に向けた変更をまったく必要とせずに割り込みの仮想化を可能にすることから重要な特徴である。
【００２３】
次に特定の例を用いて、好ましい実施態様を論ずるため、および好ましい実施態様と従来技術を比較対照するための関係を示す。図３を参照するが、単純なコンピュータ・システム３００は、１ないしは複数のＩ／Ｏデバイス２１０に結合される物理プロセッサ１１０を含むことができる。物理プロセッサ１１０は、通常、Ｉ／Ｏデバイス２１０から受け取った割り込みを物理プロセッサ１１０がどのようにハンドリングするかについての決定を行う割り込みレジスタ１１２を含んでいる。周知の市販用の各種コンピュータ・アーキテクチャは非常に多い。その１つがＰｏｗｅｒＰＣアーキテクチャである。ＰｏｗｅｒＰＣアーキテクチャに使用されている割り込みレジスタのいくつかを図４に示す。
【００２４】
ＣＰＰＲレジスタは、Ｃｕｒｒｅｎｔ  Ｐｒｏｃｅｓｓｏｒ  Ｐｒｉｏｒｉｔｙ  Ｒｅｇｉｓｔｅｒ（カレント・プロセッサ・プライオリティ・レジスタ）である。このＣＰＰＲにストアされている値より大きい値を有する割り込みだけが、関連プロセッサに渡される。ＸＩＳＲレジスタは、ｅＸｔｅｒｎａｌ  Ｉｎｔｅｒｒｕｐｔ  Ｓｏｕｒｃｅ  Ｒｅｇｉｓｔｅｒ（外部割り込みソース・レジスタ）である。このＸＩＳＲレジスタは、関連プロセッサに渡されるＩ／Ｏ割り込みのソースを識別する。ＸＩＲＲレジスタは、図４に示されているように、ＣＰＰＲとＸＩＳＲを連結したｅＸｔｅｒｎａｌ  Ｉｎｔｅｒｒｕｐｔ  Ｒｅｑｕｅｓｔ  Ｒｅｇｉｓｔｅｒ（外部割り込み要求レジスタ）である。ＭＦＲＲレジスタは、Ｍｏｓｔ  Ｆａｖｏｒｅｄ  Ｒｅｑｕｅｓｔ  Ｒｅｇｉｓｔｅｒ（最恵要求レジスタ）である。このＭＦＲＲレジスタは、関連プロセッサにプロセッサ間割り込み（ＩＰＩ）を渡すために使用される。
【００２５】
図４に示されているようなＰｏｗｅｒＰＣ割り込みレジスタを備える図３のコンピュータ・システム３００内における割り込みのハンドリング方法５００をフローチャートの形で図５に示す。方法５００は、割り込みがプロセッサに渡されたときに開始する（ステップ５１０）。この割り込みは、Ｉ／Ｏ割り込みとしてもよく、あるいはプロセッサ間割り込み（ＩＰＩ）とすることもできる。ここで注意されたいが、その割り込みの優先度がＣＰＰＲ内の値を超える場合にのみ、プロセッサに割り込みが渡される。ステップ５１０においてプロセッサに割り込みが渡されると、それに応答して割り込みのソースがＸＩＳＲレジスタから識別され（ステップ５２０）、その後その割り込みが処理される（ステップ５３０）。
【００２６】
図６に、従来技術に従った特定のコンピュータ・システム６００の例を示す。このシステム６００は、専用プロセッサ・システムであり、言い換えると各論理パーティションは、そのパーティション専用となる１ないしは複数のプロセッサを含んでいる（したがって、システム内のほかの論理パーティションのために動作することはない）。システム６００は、２つの論理パーティション１２５Ａおよび１２５Ｂを備え、それぞれは対応するオペレーティング・システム１２６Ａおよび１２６Ｂを伴う。ここで、各論理パーティションが単一の専用プロセッサを含むものとし、したがって論理パーティション１２５Ａは、論理パーティション１２５Ａに割り付けられた単一の物理プロセッサに対応する単一の仮想プロセッサＶＰ１（２２０Ａ）を含み、同様に論理パーティション１２５Ｂは、論理パーティション１２５Ｂに割り付けられた単一の物理プロセッサに対応する単一の仮想プロセッサＶＰ２（２２０Ｂ）を含むものとする。リソースおよびパーティション・マネージャ６２１は、２つの仮想プロセッサ・コントロール・ブロック６２３Ａおよび６２３Ｂを含み、それらが割り込みマネジメント・メカニズム６２２とのインタラクションを行って、１ないしは複数のＩ／Ｏデバイス２１０から物理プロセッサ１１０Ａおよび１１０Ｂが受け取り、そこから割り込みマネジメント・メカニズム６２２が受け取った割り込みを処理する。
【００２７】
各物理プロセッサ１１０Ａおよび１１０Ｂは、対応する物理的な割り込みレジスタ１１２Ａおよび１１２Ｂとそれぞれ関連付けされている。割り込みマネジメント・メカニズム６２２は、好ましくは割り込みマネジメント・インターフェース６１０を備え、それが物理プロセッサによって起動されて、割り込みマネジメント・メカニズム６２２による割り込みのハンドリング、およびそれらの割り込みを適切な論理パーティション内の適切な仮想プロセッサに向けることが可能になる。割り込みマネジメント・インターフェース６１０によって提供される関数を図７の表７００に示す。割り込みマネジメント・インターフェース６１０上において関数ｈ＿ｘｉｒｒが呼び出されたとき、割り込みマネジメント・メカニズム６２２は、その割り込みを受け取ったプロセッサから副作用とともにＸＩＲＲレジスタを読み出す。副作用を伴う読み出しは、ソフトウエアもしくはファームウエアがその割り込みを受け入れていることを意味しており、したがって、副作用を伴う読み出しの後は、ハードウエア内においてその割り込みが未決ではなくなる。その後そのプロセッサに関するＣＰＰＲが、受け入れられた割り込みの優先度にセットされる。関数ｈ＿ｃｐｐｒが呼び出されると、呼び出しているプロセッサ上のＣＰＰＲレジスタが指定の値にセットされる。関数ｈ＿ｉｐｏｌｌは、指定されたターゲット・プロセッサ上のＸＩＲＲおよびＭＦＲＲレジスタのポーリングを行い未決の割り込みをチェックするために使用される。関数ｈ＿ｉｐｉは、呼び出されると、指定されたターゲット・プロセッサのＭＦＲＲにプロセッサ間割り込みを示す値を書き込むことによって、そのターゲット・プロセッサへプロセッサ間割り込み（ＩＰＩ）を渡す。関数ｈ＿ｅｏｉは、呼び出されると、関連プロセッサ上のＸＩＲＲレジスタに指定された値を書き込むことによって、割り込みハードウエアに割り込みの終了を通知する。
【００２８】
図７の関数は、割り込みマネジメント・メカニズム６２１が、専用プロセッサを伴う論理的にパーティションが作成されたコンピュータ・システム内において割り込みを受領し、処理することを可能にする。しかしながら、論理パーティションは、必ずしも専用プロセッサを持たないことに注意が必要である。共通プロセッサ上において実行される論理パーティションを定義することは可能である。この共有プロセッサのシナリオにおいては、複数の仮想プロセッサが１つの物理プロセッサを共有できることから、仮想プロセッサと物理プロセッサ１１０内の物理的な割り込みレジスタ１１２の間に直接的な相関が存在しない。この理由から、図６のリソースおよびパーティション・マネージャ６２１は、共有プロセッサ構成に適していない。
【００２９】
図８を参照すると、図１のシステム１００および図２のシステム２００に関する１つの好適な具体化を示したシステム８００が例示されている。システム８００は、割り込みの仮想化を提供する論理的にパーティションが作成されたコンピュータ・システムである。システム８００は、多くの点において図６の６００に類似している。システム８００は、同じく２つの論理パーティション１２５Ａおよび１２５Ｂを含み、それらが、同じくオペレーティング・システム１２６Ａおよび１２６Ｂを実行し、同じく２つの仮想プロセッサ２２０Ａおよび２２０Ｂを定義する。物理プロセッサ１１０Ａおよび１１０Ｂは、物理的な割り込みレジスタ１１２Ａおよび１１２Ｂを含み、割り込みを生成することのできるＩ／Ｏデバイス２１０に結合されている。図８のシステム８００と図６のシステム６００の間の主要な相違は、リソースおよびパーティション・マネージャ１２１にある。リソースおよびパーティション・マネージャ１２１は、システム８００内の各仮想プロセッサに関する仮想プロセッサ・コントロール・ブロック１２３を含んでいる。図８に示されているシステム８００の特定の例においては、２つの仮想プロセッサ２２０Ａおよび２２０Ｂが存在し、したがって対応する仮想プロセッサ・コントロール・ブロック１２３Ａおよび１２３Ｂがそれぞれ存在する。各仮想プロセッサ・コントロール・ブロック１２３は、好ましくは仮想割り込みレジスタ１２４のセットを含む。これらの仮想割り込みレジスタは、好ましくは物理プロセッサ１１０内の物理的な割り込みレジスタ１１２と同一の名前および関数を有する。したがって、図８のプロセッサ１１０Ａおよび１１０ＢがＰｏｗｅｒＰＣプロセッサであったとすると、物理的な割り込みレジスタは、図４に示されるようなＣＰＰＲレジスタ、ＸＩＳＲレジスタ、ＸＩＲＲレジスタ、およびＭＦＲＲレジスタを含むことになる。同様に、仮想割り込みレジスタの各セットは、仮想ＣＰＰＲレジスタ、仮想ＸＩＳＲレジスタ、仮想ＸＩＲＲレジスタ、および仮想ＭＦＲＲレジスタを定義することになる。すなわち、図８においては、ＶＰ１コントロール・ブロック１２３Ａが、ＶＰ１用の対応する仮想割り込みレジスタ１２４Ａのセットを含み、ＶＰ２コントロール・ブロック１２３Ｂが、ＶＰ２用の対応する仮想割り込みレジスタ１２４Ｂのセットを含む。各仮想プロセッサ用の仮想割り込みレジスタのセットを定義した後は、割り込みマネジメント・メカニズム１２２が、物理的な割り込みレジスタ１１２だけを使用するのではなく、プロセッサに対応する仮想割り込みレジスタ１２４を使用して割り込みの状態を追跡することができる。
【００３０】
割り込みマネジメント・メカニズム１２２は、Ｉ／Ｏデバイス２１０によって生成された割り込みを処理するために物理プロセッサ１１０による呼び出しが可能な関数を定義する割り込みマネジメント・インターフェース２３０を含んでいる。割り込みマネジメント・インターフェース８１０によって定義される関数を図９の表９００に示す。関数ｈ＿ｘｉｒｒが呼び出されるとき、呼び出しているプロセッサのＸＩＲＲが副作用とともに読み出される。対応する仮想プロセッサの仮想ＣＰＰＲは、そのパーティションによって獲得された割り込みの優先度にセットされる。関数ｈ＿ｃｐｐｒが呼び出されると、呼び出しているプロセッサ上の仮想ＣＰＰＲレジスタが指定の値にセットされる。関数ｈ＿ｉｐｏｌｌは、ターゲット仮想プロセッサの仮想ＸＩＲＲおよび仮想ＭＦＲＲレジスタのポーリングを行い未決の割り込みをチェックするために呼び出される。関数ｈ＿ｉｐｉは、呼び出されると、関連する仮想ＭＦＲＲレジスタに指定の値を書き込むことによって、指定された仮想ターゲット・プロセッサへプロセッサ間割り込み（ＩＰＩ）を渡す。関数ｈ＿ｅｏｉは、呼び出されると、呼び出しを行った物理プロセッサ上のＸＩＲＲレジスタに指定されたＸＩＲＲ値を書き込むことによって、割り込みハードウエアに割り込みの終了を通知する。ここで注意されたいが、ｈ＿ｅｏｉは、仮想プロセッサに対応する仮想ＸＩＲＲレジスタではなく、プロセッサ上のＸＩＲＲハードウエア・レジスタに対して書き込みを行う。
【００３１】
図８は、単純な２つの論理パーティションの場合を示しており、それぞれが単一の、物理プロセッサに対応する仮想プロセッサを含む。しかしながら、ここで注意が必要であるが、好ましい実施態様の原理は、明らかに、共有プロセッサを含めて、任意の適切な数の仮想プロセッサに拡張できる。各仮想プロセッサ専用となる仮想割り込みレジスタのセットを有することによって提供される割り込みの仮想化は、物理プロセッサを共有する仮想プロセッサ用の割り込みの処理を可能にする。したがって、論理パーティション１２５Ａが、ＶＰ１仮想プロセッサ２２０Ａに加えて、第２の仮想プロセッサ（ＶＰ３と呼ぶ）を有し、システム８００内に合計して３つの仮想プロセッサを持つことも可能である。第３の仮想プロセッサが存在する場合には、対応するＶＰ３コントロール・ブロック、およびＶＰ３用の仮想割り込みレジスタのセットも存在することになる。当然のことながら、これらのコンセプトは、論理的にパーティションが作成されたコンピュータ・システム内の仮想プロセッサに関して任意の数もしくは構成に拡張することができ、それらのプロセッサのいくつかが物理プロセッサに供されているか、あるいは複数の仮想プロセッサが１つの物理プロセッサを共有しているかといったこととによらない。
【００３２】
図１０を参照すると、好ましい実施態様に従った論理的にパーティションが作成されたコンピュータ・システム内における割り込みを処理するための方法１０００は、論理パーティションに関する割り込みが生じたときに開始する（ステップ１０１０）。ここで注意を要するが、この割り込みは、任意の適切なハードウエアによって生成されたハードウエア割り込みとしてもよく、あるいは仮想Ｉ／Ｏデバイスに関するソフトウエアによって生成された割り込みとしてもよい。パーティション・マネージャは、ｈ＿ｘｉｒｒ呼び出しを行って、その割り込みがいずれの仮想プロセッサに関して意図されているかについて決定し（ステップ１０１２）、その割り込みをターゲット仮想プロセッサに対応するキューに書き込む（ステップ１０２０）。このようにして、複数の割り込みをキューに入れ、仮想プロセッサが物理プロセッサにディスパッチされるまで待機することができる。ターゲット仮想プロセッサが、割り込みを与えたプロセッサ上において現在実行されている場合には（ステップ１０３０＝ＹＥＳ）、パーティション・マネージャは、エンキューされた割り込みに対応するＸＩＲＲレジスタ内の値をパーティションに返し（ステップ１０５０）、エンキューされたＸＩＲＲは、仮想プロセッサのキューから削除される。その後この仮想プロセッサは、割り込みのハンドリングを開始する（ステップ１０６０）。割り込みのハンドリングが完了すると、仮想プロセッサは、割り込みマネジメント・インターフェース上においてｈ＿ｅｏｉ関数を起動し、割り込み処理の完了したことを示す（ステップ１０７０）。
【００３３】
ターゲット仮想プロセッサが、割り込みを受け取ったプロセッサ上において現在実行されていない場合には（ステップ１０３０＝ＮＯ）、ステップ１０８０が、別のプロセッサ上においてその仮想プロセッサが実行されているか否かをチェックする。実行されている場合には（ステップ１０８０＝ＹＥＳ）、ターゲット物理プロセッサのＭＦＲＲレジスタ内に値をストアすることによって、その仮想プロセッサを実行中の物理プロセッサにプロセッサ間割り込み（ＩＰＩ）が渡される（ステップ１０９０）。仮想プロセッサは、その外部ハンドラにおいてコントロールを獲得すると、割り込みマネジメント・インターフェース上においてｈ＿ＸＩＲＲ関数を呼び出し（ステップ１０４０）、それにより仮想プロセッサに関する割り込みキューのポーリングを行う。これに応答して、パーティション・マネージャが、エンキューされた割り込みに対応するＸＩＲＲレジスタ内の値をパーティションに返す（ステップ１０５０）。仮想プロセッサは、割り込みのハンドリングを開始する（ステップ１０６０）。割り込みのハンドリングが完了すると、仮想プロセッサが、割り込みマネジメント・インターフェース上においてｈ＿ｅｏｉ関数を起動し、割り込み処理の完了したことを示す（ステップ１０７０）。
【００３４】
仮想プロセッサが別のプロセッサ上においても実行されていない場合（ステップ１０８０＝ＮＯ）、仮想プロセッサの先取りまたは明け渡しが行われる（ステップ１０８２）。続いて方法１０００は、仮想プロセッサがディスパッチされるまで待機する（ステップ１０８４）。仮想プロセッサが物理プロセッサにディスパッチされると、パーティション・マネージャは、その物理プロセッサに対応する物理ＭＦＲＲに書き込みを行うことによってそのパーティション用の割り込みを未決にする（ステップ１０８６）。その後仮想プロセッサは、ｈ＿ｘｉｒｒを呼び出す（ステップ１０４０）。これに応答して、パーティション・マネージャが、エンキューされた割り込みに対応するＸＩＲＲレジスタ内の値をパーティションに返す（ステップ１０５０）。その後仮想プロセッサが、割り込みのハンドリングを開始する（ステップ１０６０）。割り込みのハンドリングが完了すると、仮想プロセッサが、割り込みマネジメント・インターフェース上においてｈ＿ｅｏｉ関数を起動し、割り込み処理の完了したことを示す（ステップ１０７０）。
【００３５】
この好ましい実施態様によって提供される重要な利点は、論理パーティション内のオペレーティング・システムが、専用プロセッサ・パーティションだけを含むコンピュータ・システム内においてそれらが実行中の場合とまさに同様に機能することである。言い換えると、オペレーティング・システムの割り込み処理モデルが変化しない。割り込みマネジメント・メカニズムが、物理プロセッサからの割り込みの変換、および適切な論理パーティション内の適切な仮想プロセッサに対するそれらの割り込みのルーティングに関するすべての作業を行う。このように割り込みマネジメント・メカニズムは、共有プロセッサを含むことのできる論理的にパーティションが作成されたコンピュータ・システムにおいて、論理パーティション内のオペレーティング・システム用に割り込み処理モデルを変更することなく、仮想割り込みを処理する方法を提供する。
【００３６】
この好ましい実施態様の有するもう１つの重要な利点は、割り込みマネジメント・メカニズムが、ハードウエアではなく論理パーティションに対して割り込みを与えることである。その結果、割り込みマネジメント・メカニズムがほかの仮想割り込みを生成し、それらがハードウエア割り込みであるかのように論理パーティションへ渡すことができる。たとえば、仮想ローカル・エリア・ネットワーク（ＶＬＡＮ）を論理パーティション間において定義することが可能であり、割り込みマネジメント・メカニズム内に仮想割り込みを定義し、それがＶＬＡＮ上においていつデータが読み取りに応じられるかを示すといったことが可能である。当然のことながら、多くのほかの仮想割り込みを定義することも可能であり、明らかにこの好ましい実施態様は、ハードウエア割り込みに対応するか否かによらず、あらゆる仮想割り込みに広がる。
【００３７】
当業者であれば認識されるであろうが、本発明の範囲内において多くの変形が可能である。したがって、本発明は、その好ましい実施態様を参照して詳細に示され、説明されているが、当業者にあっては、形式ならびに詳細におけるこれらの、およびそのほかの変更が本発明の精神ならびに範囲から逸脱することなく可能であることを理解されるものとする。
【００３８】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００３９】
（１）装置であって：プロセッサ；前記プロセッサに結合されるメモリ；前記装置上において定義される複数の論理パーティション；それぞれが前記プロセッサ内に存在する物理的な割り込みレジスタに対応する、前記メモリ内に存在する少なくとも１つの仮想割り込みレジスタ；および、前記少なくとも１つの仮想割り込みレジスタを使用して複数の割り込みを処理する、前記メモリ内に存在し、前記プロセッサによって実行される割り込みマネジメント・メカニズム；を備える装置。
（２）さらに、前記複数の論理パーティション内において定義される複数の仮想プロセッサを備え、それにおいて各仮想プロセッサは、前記プロセッサ内に存在する物理的な割り込みレジスタのセットに対応する、前記メモリ内に存在する仮想割り込みレジスタのセットを定義するものとする、上記（１）に記載の装置。
（３）前記割り込みマネジメント・メカニズムは、前記複数の論理パーティションを管理するリソースおよびパーティション・マネージャ内に存在するものとする、上記（１）に記載の装置。
（４）装置であって：プロセッサ；前記プロセッサに結合されるメモリ；それぞれが対応するオペレーティング・システムを含む、前記装置上において定義される複数の論理パーティション；専用のプロセッサ・パーティションだけを含むコンピュータ・システム上において前記対応するオペレーティング・システムが実行されているときの前記対応するオペレーティング・システムに関する割り込み処理モデルと整合する態様で複数の割り込みを処理する、前記メモリ内に存在し、前記プロセッサによって実行される割り込みマネジメント・メカニズム；を備える装置。
（５）さらに、それぞれが前記プロセッサ内に存在する物理的な割り込みレジスタに対応する、前記メモリ内に存在する少なくとも１つの仮想割り込みレジスタを備える、上記（４）に記載の装置。
（６）さらに、前記複数の論理パーティション内において定義される複数の仮想プロセッサを備え、それにおいて各仮想プロセッサは、前記プロセッサ内に存在する物理的な割り込みレジスタのセットに対応する、前記メモリ内に存在する仮想割り込みレジスタのセットを定義するものとする、上記（４）に記載の装置。
（７）前記割り込みマネジメント・メカニズムは、前記複数の論理パーティションを管理するリソースおよびパーティション・マネージャ内に存在するものとする、上記（４）に記載の装置。
（８）複数の論理パーティションを含むコンピュータ・システム内において割り込みを処理するためにコンピュータに実装される方法であって：それぞれがプロセッサ内に存在する物理的な割り込みレジスタに対応する、複数の仮想割り込みレジスタを定義するステップ；および、前記複数の仮想割り込みレジスタを使用して割り込みを処理するステップ；を含む方法。
（９）さらに、前記複数の論理パーティション内において複数の仮想プロセッサを定義するステップを含み、それにおいて各仮想プロセッサは、前記プロセッサ内に存在する物理的な割り込みレジスタのセットに対応する、仮想割り込みレジスタのセットを定義するものとする、上記（８）に記載の方法。
（１０）前記割り込みの処理は、前記複数の論理パーティションを管理するリソースおよびパーティション・マネージャ内に存在する割り込みマネジメント・メカニズムによって実行されるものとする、上記（８）に記載の方法。
（１１）複数の論理パーティションを含むコンピュータ・システム内において割り込みを処理するために、各論理パーティションが対応するオペレーティング・システムを含むものとする、コンピュータに実装される方法であって：割り込みマネジメント・メカニズムに複数の割り込みを与えるステップ；および、前記割り込みマネジメント・メカニズムが、専用のプロセッサ・パーティションだけを含むコンピュータ・システム上において前記対応するオペレーティング・システムが実行されているときの前記対応するオペレーティング・システムに関する割り込み処理モデルと整合する態様で論理パーティションに関する前記複数の割り込みを処理するステップ；を含む方法。
（１２）さらに、それぞれがプロセッサ内に存在する物理的な割り込みレジスタに対応する複数の仮想割り込みレジスタを定義するステップを含み、それにおいて前記割り込みマネジメント・メカニズムは、前記複数の仮想割り込みレジスタを使用して前記複数の割り込みを処理するものとする、上記（１１）に記載の方法。
（１３）さらに、前記複数の論理パーティション内において複数の仮想プロセッサを定義するステップを含み、それにおいて各仮想プロセッサは、プロセッサ内に存在する物理的な割り込みレジスタのセットに対応する仮想割り込みレジスタのセットを定義するものとし、前記割り込みマネジメント・メカニズムは、選択した割り込みを、前記選択した割り込みに対応する前記仮想プロセッサに対応する仮想割り込みレジスタのセットとのインタラクションによって処理するものとする、上記（１１）に記載の方法。
（１４）前記割り込みマネジメント・メカニズムは、前記複数の論理パーティションを管理するリソースおよびパーティション・マネージャ内に存在するものとする、上記（１１）に記載の方法。
（１５）少なくとも１つの仮想割り込みレジスタを使用し、複数の論理パーティションを含むコンピュータ・システム内において複数の割り込みを処理する、割り込みマネジメント・メカニズムであって、各仮想割り込みレジスタは、プロセッサ内に存在する物理的な割り込みレジスタに対応するものとする割り込みマネジメント・メカニズム；および、前記割り込みマネジメント・メカニズムを担持するコンピュータ可読信号担持メディア；を含むプログラム・プロダクト。
（１６）前記信号担持メディアは記録可能メディアを構成する、上記（１５）に記載のプログラム・プロダクト。
（１７）前記信号担持メディアは伝送メディアを構成する、上記（１５）に記載のプログラム・プロダクト。
（１８）さらに、前記複数の論理パーティション内において定義される複数の仮想プロセッサを含み、それにおいて各仮想プロセッサは、前記プロセッサ内に存在する物理的な割り込みレジスタのセットに対応する仮想割り込みレジスタのセットを定義するものとする、上記（１５）に記載のプログラム・プロダクト。
（１９）前記割り込みマネジメント・メカニズムは、前記複数の論理パーティションを管理するリソースおよびパーティション・マネージャ内に存在するものとする、上記（１５）に記載のプログラム・プロダクト。
（２０）それぞれが対応するオペレーティング・システムを含む複数の論理パーティションを含むコンピュータ・システム内において複数の割り込みを、専用のプロセッサ・パーティションだけを含むコンピュータ・システム上において前記対応するオペレーティング・システムが実行されているときの前記対応するオペレーティング・システムに関する割り込み処理モデルと整合した態様で処理する割り込みマネジメント・メカニズム；および、前記割り込みマネジメント・メカニズムを担持するコンピュータ可読信号担持メディア；を含むプログラム・プロダクト。
（２１）前記信号担持メディアは記録可能メディアを構成する、上記（２０）に記載のプログラム・プロダクト。
（２２）前記信号担持メディアは伝送メディアを構成する、上記（２０）に記載のプログラム・プロダクト。
（２３）さらに、それぞれが前記プロセッサ内に存在する物理的な割り込みレジスタに対応する、少なくとも１つの仮想割り込みレジスタを含む、上記（２０）に記載のプログラム・プロダクト。
（２４）さらに、前記複数の論理パーティション内において定義される複数の仮想プロセッサを含み、それにおいて各仮想プロセッサは、前記プロセッサ内に存在する物理的な割り込みレジスタのセットに対応する仮想割り込みレジスタのセットを定義するものとする、上記（２０）に記載のプログラム・プロダクト。
（２５）前記割り込みマネジメント・メカニズムは、前記複数の論理パーティションを管理するリソースおよびパーティション・マネージャ内に存在するものとする、上記（２０）に記載のプログラム・プロダクト。
【図面の簡単な説明】
【００４０】
【図１】好ましい実施態様に従って論理パーティションおよび仮想割り込みをサポートするコンピュータ装置を示したブロック図である。
【図２】好ましい実施態様に従って図１のコンポーネントのいくつかの論理的な視点を示したブロック図である。
【図３】従来技術の単純なシングル‐プロセッサ・コンピュータ・システムの部分を示したブロック図である。
【図４】ＰｏｗｅｒＰＣアーキテクチャにおいて定義される割り込みレジスタを示したブロック図である。
【図５】図３のプロセッサの割り込みの処理に関する従来技術の方法を示したフローチャートである。
【図６】専用プロセッサを伴う従来技術の論理的にパーティションが作成されたコンピュータ・システムを示したブロック図である。
【図７】図６の割り込みマネジメント・インターフェースによって提供される従来技術のサービスを示したブロック図である。
【図８】好ましい実施態様に従った共有プロセッサを伴う論理的にパーティションが作成されたコンピュータ・システムを示したブロック図である。
【図９】好ましい実施態様に従って図８の割り込みマネジメント・インターフェースによって提供されるサービスを示したブロック図である。
【図１０】好ましい実施態様に従って仮想割り込みを処理するための方法を示したフローチャートである。
【符号の説明】
【００４１】
１００  コンピュータ・システム
１１０  プロセッサ／物理プロセッサ
１１０Ａ  物理プロセッサ
１１０Ｂ  物理プロセッサ
１１２  割り込みレジスタ／物理的な割り込みレジスタ
１１２Ａ  割り込みレジスタ
１１２Ｂ  割り込みレジスタ
１２０  メイン・メモリ／メモリ
１２１  リソースおよびパーティション・マネージャ
１２２  割り込みマネジメント・メカニズム
１２３  仮想プロセッサ・コントロール・ブロック／仮想プロセッサ・コントロール・メカニズム
１２３Ａ  ＶＰ１コントロール・ブロック／仮想プロセッサ・コントロール・ブロック
１２３Ｂ  ＶＰ２コントロール・ブロック／仮想プロセッサ・コントロール・ブロック
１２４  仮想割り込みレジスタ
１２４Ａ  仮想割り込みレジスタ
１２４Ｂ  仮想割り込みレジスタ
１２５  論理パーティション
１２５Ａ  論理パーティション
１２５Ｂ  論理パーティション
１２５Ｎ  論理パーティション
１２６  オペレーティング・システム
１２６Ａ  オペレーティング・システム
１２６Ｂ  オペレーティング・システム
１２６Ｎ  オペレーティング・システム
１３０  大容量ストレージ・インターフェース
１４０  ディスプレイ・インターフェース
１５０  ネットワーク・インターフェース
１５５  ＤＡＳＤデバイス／ダイレクト・アクセス・ストレージ・デバイス
１６０  システム・バス
１６５  ディスプレイ
１７０  ネットワーク／ネットワーク接続
１７５  ほかのコンピュータ・システムおよび／またはワークステーション
１９５  ＣＤ  ＲＷ
２００  システム
２１０  Ｉ／Ｏデバイス
２２０  仮想プロセッサ
２２０Ａ  仮想プロセッサ
２２０Ｎ  仮想プロセッサ
２２０Ｒ  仮想プロセッサ
２２０Ｚ  仮想プロセッサ
２３０  割り込みマネジメント・インターフェース
３００  コンピュータ・システム
６００  コンピュータ・システム／システム
６１０  割り込みマネジメント・インターフェース
６２１  リソースおよびパーティション・マネージャ
６２２  割り込みマネジメント・メカニズム
６２３Ａ  仮想プロセッサ・コントロール・ブロック
６２３Ｂ  仮想プロセッサ・コントロール・ブロック
７００  表
８００  システム
８１０  割り込みマネジメント・インターフェース
９００  表
【図１】
2004303237.tif 000003
【図２】
2004303237.tif 000004
【図３】
2004303237.tif 000005
【図４】
2004303237.tif 000006
【図５】
2004303237.tif 000007
【図６】
2004303237.tif 000008
【図７】
2004303237.tif 000009
【図８】
2004303237.tif 000010
【図９】
2004303237.tif 000011
【図１０】
2004303237.tif 000012