(57)【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサと、
少なくとも１つのプロセッサに接続されるメモリと、
装置上で定義される複数の論理区画であって、各論理区画がオペレーティング・システムと、少なくとも１つのプロセッサの一部と、メモリの一部とを含み、
複数の論理区画によるコンピュータ・システム資源の使用を管理し、予め選択された１つの論理区画内に存在するオペレーティング・システムの資源管理を行うためのカーネル機能のうち、少なくとも１つのカーネル機能を前記オペレーティング・システムに実行させるために少なくとも１つの呼び出しを実行するパーティション・マネージャと
を含む装置。
【請求項２】
予め選択された論理区画内のオペレーティング・システムが、前記パーティション・マネージャの少なくとも１つの呼び出しにより呼び出されるフックを含む請求項１記載の装置。
【請求項３】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出されるタスク・サポート機能及び同期プリミティブを提供する請求項１記載の装置。
【請求項４】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される主記憶管理機能及びヒープ管理機能を提供する請求項３記載の装置。
【請求項５】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される入出力（Ｉ／Ｏ）サブシステムを提供する請求項４記載の装置。
【請求項６】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出されるユーザ・インタフェースを提供する請求項５記載の装置。
【請求項７】
前記パーティション・マネージャが複数の区画に渡るユーザの総数を追跡するソフトウェア・ライセンス管理プリミティブを提供する請求項６記載の装置。
【請求項８】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される主記憶管理機能及びヒープ管理機能を提供する請求項１記載の装置。
【請求項９】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される入出力（Ｉ／Ｏ）サブシステムを提供する請求項１記載の装置。
【請求項１０】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出されるユーザ・インタフェースを提供する請求項１記載の装置。
【請求項１１】
前記パーティション・マネージャが複数の区画に渡るユーザの総数を追跡するソフトウェア・ライセンス管理プリミティブを提供する請求項１記載の装置。
【請求項１２】
少なくとも１つのプロセッサと、
少なくとも１つのプロセッサに接続されるメモリと、
装置上で定義される複数の論理区画であって、各論理区画がオペレーティング・システムと、少なくとも１つのプロセッサの一部と、メモリの一部とを含み、
複数の論理区画によるコンピュータ・システム資源の使用を管理し、予め選択された１つの論理区画内に存在するオペレーティング・システムの資源管理を行うためのカーネル機能のうち、少なくとも１つのカーネル機能を前記オペレーティング・システムに実行させるために少なくとも１つの呼び出しを実行する手段と
を含む装置。
【請求項１３】
コンピュータ・システム上で少なくとも１つの論理区画を生成するコンピュータにより実行される方法であって、
Ａ）第１の論理区画を生成し、
Ｂ）複数の論理区画によるコンピュータ・システム資源の使用を管理し、第１の論理区画に導入されるオペレーティング・システムの資源管理を行うためのカーネル機能のうち、少なくとも１つのカーネル機能を前記オペレーティング・システムに実行させるために少なくとも１つの呼び出しを実行するパーティション・マネージャを導入し、
Ｃ）オペレーティング・システムを第１の論理区画に導入する
ステップを含む方法。
【請求項１４】
Ｄ）別の論理区画を生成し、
Ｅ）ステップＤ）で生成された論理区画にオペレーティング・システムを導入し、
Ｆ）所望の数の論理区画がコンピュータ・システム上に生成されるまで、ステップＤ）及びＥ）を繰り返す
ステップを含む請求項１３記載の方法。
【請求項１５】
複数の論理区画を有するコンピュータ・システム上の資源を管理するコンピュータにより実行される方法であって、
予め選択された論理区画内のオペレーティング・システムへの少なくとも１つの呼び出しを含むパーティション・マネージャを提供し、
前記パーティション・マネージャをして、複数の論理区画によるコンピュータ・システム資源の使用を管理し、予め選択された１つの論理区画内に存在するオペレーティング・システムの資源管理を行うためのカーネル機能のうち、少なくとも１つのカーネル機能を前記オペレーティング・システムに実行させるために少なくとも１つの呼び出しを実行させる
ステップを含む方法。
【請求項１６】
複数の論理区画を有するコンピュータ・システム上の資源を管理するコンピュータにより実行される方法を装置に対して実行させるプログラムを含む、装置可読な記憶媒体であって、前記プログラムは、装置に対して、
予め選択された論理区画内のオペレーティング・システムへの少なくとも１つの呼び出しを含むパーティション・マネージャを提供するステップと、
前記パーティション・マネージャをして、複数の論理区画によるコンピュータ・システム資源の使用を管理し、予め選択された１つの論理区画内に存在するオペレーティング・システムの資源管理を行うためのカーネル機能のうち、少なくとも１つのカーネル機能を前記オペレーティング・システムに実行させるために少なくとも１つの呼び出しを実行させるステップと
を実行させる装置可読な記憶媒体。
【請求項１７】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出されるタスク・サポート機能及び同期プリミティブを提供する請求項１６記載の記憶媒体。
【請求項１８】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される主記憶管理機能及びヒープ管理機能を提供する請求項１７記載の記憶媒体。
【請求項１９】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される入出力（Ｉ／Ｏ）サブシステムを提供する請求項１８記載の記憶媒体。
【請求項２０】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出されるユーザ・インタフェースを提供する請求項１９記載の記憶媒体。
【請求項２１】
前記パーティション・マネージャが複数の区画に渡るユーザの総数を追跡するソフトウェア・ライセンス管理プリミティブを提供する請求項２０記載の記憶媒体。
【請求項２２】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される主記憶管理機能及びヒープ管理機能を提供する請求項１６記載の記憶媒体。
【請求項２３】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される入出力（Ｉ／Ｏ）サブシステムを提供する請求項１６記載の記憶媒体。
【請求項２４】
予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出されるユーザ・インタフェースを提供する請求項１６記載の記憶媒体。
【請求項２５】
前記パーティション・マネージャが複数の区画に渡るユーザの総数を追跡するソフトウェア・ライセンス管理プリミティブを提供する請求項１６記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般にデータ処理システムに関して、特に、コンピュータ・システムにおける論理区画化に関する。
【０００２】
【従来の技術】
コンピュータ時代の幕開け以来、コンピュータ・システムは多くの異なる設置において見いだされ得る極めて高度な装置に進化した。コンピュータ・システムは一般に、ハードウェア（例えば半導体、回路基板など）と、ソフトウェア（例えばコンピュータ・プログラム）の組み合わせを含む。半導体処理及びコンピュータ・アーキテクチャの進歩が、コンピュータ・ハードウェアの性能を向上するにつれ、より高度なコンピュータ・ソフトウェアが、ハードウェアの高い性能を利用するように進化し、今日のコンピュータ・システムは、数年前に比べて大変に強力なものとなった。
【０００３】
特定のコンピュータ・システム上でのハードウェアとソフトウェアの組み合わせは、コンピュータ環境を定義する。従って、異なるハードウェア・プラットフォーム及び異なるオペレーティング・システムは、異なるコンピュータ環境を提供する。近年に至って、技術者達はコンピュータ・システム資源を異なるコンピュータ環境に論理的に区画化することにより、同一の物理コンピュータ・システム上で、異なるコンピュータ環境を提供することが可能であることを認識した。ＩＢＭにより開発されたＡＳ／４００コンピュータ・システムは、論理区画化をサポートするコンピュータ・システムの１例である。ＡＳ／４００上で論理区画化が所望される場合、パーティション・マネージャ・コード（ＡＳ／４００用語では"ハイパバイザ"と呼ばれる）が導入されて、同一プラットフォーム上での異なるコンピュータ環境の定義を可能にする。一旦パーティション・マネージャが導入されると、異なるコンピュータ環境を定義する論理区画が生成され得る。パーティション・マネージャは、論理区画がコンピュータ・システム内で必要な資源を共用できるようにする一方、論理区画により定義される別々のコンピュータ環境を維持するように、論理区画を管理する。
【０００４】
【発明が解決しようとする課題】
論理区画を有さないコンピュータ・システムでは、パーティション・マネージャが必要とされず、オペレーティング・システムがコンピュータ・システム資源へのアクセスを制御する。１つ以上の論理区画を有するコンピュータ・システムでは、パーティション・マネージャがコンピュータ・システム資源へのアクセスを制御し、各論理区画に導入されるオペレーティング・システムが、パーティション・マネージャを用いて、その機能を実行する。オペレーティング・システム及びパーティション・マネージャの両者が、コンピュータ・システム内の資源を管理できなければならないので、一般にオペレーティング・システムの低レベル機能がパーティション・マネージャ内にも実装される。既知のシステムでは、パーティション・マネージャはオペレーティング・システムとは別であり、パーティション・マネージャは一般に、オペレーティング・システムとは別に保守される。それらは類似の機能を共用するので、一方における共通機能の変更は、一般に他方における対応する変更を要求する。より効率的な論理区画化をサポートする機構無しでは、パーティション・マネージャのプログラミング、及びオペレーティング・システム及びパーティション・マネージャの別々の保守が、コンピュータ業界における資源の枯渇の原因となり続ける。
【０００５】
【課題を解決するための手段】
本発明によれば、コンピュータ・システム内の論理区画を管理するパーティション・マネージャが、論理区画の１つ内に低レベル・オペレーティング・システム・コードへのフックを含む。オペレーティング・システム・コードを用いて、コンピュータ・システムの資源を管理することにより、オペレーティング・システムに成される変更が、自動的にパーティション・マネージャの機能に反映される。更に、新たなパーティション・マネージャを生成するとき、しばしば十分にデバッグ及びテスト済みのオペレーティング・システムの低レベル機能が使用され、パーティション・マネージャを生成する時間を多大に短縮し、コストを低減する。
【０００６】
本発明の前述の及び他の特徴及び利点は、添付の図面に関連して後述する、本発明の好適な実施例の説明から明らかとなろう。
【０００７】
【発明の実施の形態】
本発明の好適な実施例によれば、論理区画化をサポートするコンピュータ・システムが、論理区画の１つ内のオペレーティング・システムへのフックを用いて、コンピュータ・システムの低レベル制御を達成するパーティション・マネージャを含む。オペレーティング・システム機能を使用することにより、パーティション・マネージャのサイズが大幅に低減され、パーティション・マネージャの保守性が多大に向上する。
【０００８】
図１を参照すると、コンピュータ・システム１００はエンハンスドＩＢＭ  ＡＳ／４００コンピュータ・システムであり、好適な実施例に従い論理区画化をサポートする、１つの好適なタイプのコンピュータ・システムを表す。当業者であれば、本発明の機構及び装置が、論理区画をサポートする任意のコンピュータ・システムに当てはまることが理解できよう。図１に示されるように、コンピュータ・システム１００はプロセッサ１１０を含み、これは主メモリ１２０、大容量記憶装置インタフェース１３０、端末インタフェース１４０、及びネットワーク・インタフェース１５０に接続される。これらのシステム・コンポーネントは、システム・バス１６０の使用を通じて、相互接続される。大容量記憶装置インタフェース１３０は、大容量記憶装置（直接アクセス記憶装置（ＤＡＳＤ）１５５など）をコンピュータ・システム１００に接続するために使用される。ＤＡＳＤの特定のタイプは、ＣＤ−ＲＯＭ１９５からデータを読出すＣＤ−ＲＯＭドライブである。
【０００９】
主メモリ１２０はパーティション・マネージャ１２２を含み、これは共に論理区画である１次区画１２４及び１つ以上の２次区画１２６を管理する。１次区画１２４はオペレーティング・システム１２５を含み、２次区画１２６はオペレーティング・システム１２７を含む。パーティション・マネージャ１２２は、１次区画１２４内のオペレーティング・システム１２５へのインタフェース１２３を含む。このように、パーティション・マネージャ１２２は、オペレーティング・システム１２５内に既に存在するコードを複製する代わりに、このコードを用いて、その区画管理機能を実行する。
【００１０】
オペレーティング・システム１２５は、ＯＳ／４００として知られるマルチタスキング・オペレーティング・システムである。しかしながら、当業者であれば、本発明の趣旨及び範囲がある特定のオペレーティング・システムに限定されないことが理解できよう。任意の好適なオペレーティング・システムが使用され得る。オペレーティング・システム１２５は、コンピュータ・システム１００の資源を管理する低レベル・コードを含む高度なプログラムである。これらの資源の一部が、プロセッサ１１０、主メモリ１２０、大容量記憶装置インタフェース１３０、端末インタフェース１４０、ネットワーク・インタフェース１５０、及びシステム・バス１６０である。各２次区画１２６内のオペレーティング・システム１２７は、１次区画１２４内のオペレーティング・システム１２５と同一であっても、全く異なるオペレーティング・システムであってもよい。従って、１次区画１２４はＯＳ／４００オペレーティング・システムを実行するのに対して、２次区画１２６はＯＳ／４００の別の例、例えば異なるリリースを実行するか、或いは異なる環境設定（例えば時間帯）で実行し得る。２次区画１２６内のオペレーティング・システム１２７は、ハードウェア及びオペレーティング・システム・インタフェース１２３が互換であれば、ＯＳ／４００と異なってもよい。このように、論理区画は同一の物理コンピュータ・システム上において、全く異なるコンピュータ環境を提供する。
【００１１】
区画１２４及び１２６は、図１では主メモリ１２０内に存在するように示される。しかしながら、当業者であれば、区画がメモリ以外の資源を含む論理構造であることが理解できよう。論理区画は一般に、１つ以上のプロセッサ及び他のシステム資源の割当てと共に、メモリの一部を指定する。従って、１次区画１２４は、大容量記憶装置インタフェース１３０、端末インタフェース１４０、ネットワーク・インタフェース１５０、または他のＩ／Ｏ装置とのインタフェースの機能を提供する１つ以上のＩ／Ｏプロセッサと共に、２個のプロセッサ及びメモリ１２０の一部を含むように定義され得る。また２次区画１２６は、３個の他のプロセッサ、メモリ１２０の異なる部分、及び１つ以上のＩ／Ｏプロセッサを含むように定義され得る。図１では、区画は、コンピュータ・システム１００内のメモリ１２０の外部のシステム資源を含む論理区画を象徴的に表すように、示される。
【００１２】
コンピュータ・システム１００は周知の仮想アドレス指定機構を使用し、これはコンピュータ・システム１００のプログラムが、主メモリ１２０やＤＡＳＤ装置１５５などの、複数の小さな記憶エンティティへのアクセスの代わりに、あたかも大きな単一の記憶エンティティへのアクセスを有するように振る舞うことを可能にする。従って、パーティション・マネージャ１２２及び区画１２４及び１２６は、主メモリ１２０内に存在するように示されるが、当業者であれば、これらの項目が必ずしも全て完全に主メモリ１２０内に同時に含まれる必要がないことが理解できよう。また、用語"メモリ"は、ここではコンピュータ・システム１００の仮想メモリ全体を総称的に指し示すために使用される。
【００１３】
プロセッサ１１０は、１つ以上のマイクロプロセッサまたは集積回路から構成され得る。プロセッサ１１０は、主メモリ１２０内に記憶されるプログラム命令を実行する。主メモリ１２０は、プロセッサ１１０がアクセスし得るプログラム及びデータを記憶する。コンピュータ・システム１００が起動するとき、プロセッサ１１０は最初に、パーティション・マネージャ１２２を構成するプログラム命令を実行し、これが論理区画内のオペレーティング・システムを初期化する。
【００１４】
コンピュータ・システム１００は１個のプロセッサ及び単一のシステム・バスだけを含むように示されるが、当業者であれば、本発明が複数のプロセッサ及び複数のバスを有するコンピュータ・システムにより実現され得ることが理解できよう。更に、好適な実施例で使用される各インタフェース（ＡＳ／４００用語では入出力プロセッサと呼ばれる）は、プロセッサ１１０から計算集中型処理をオフロードするために使用される、別々の完全プログラム式マイクロプロセッサを含む。しかしながら、当業者であれば、本発明が単にＩ／Ｏアダプタを用いて同様の機能を実行するコンピュータ・システムにも、同様に当てはまることが理解できよう。
【００１５】
端末インタフェース１４０は、１つ以上の端末１６５を直接コンピュータ・システム１００に接続するために使用される。これらの端末１６５は、非高機能（すなわちダム（dumb））端末または完全にプログラマブルなワークステーションであり、システム管理者及びユーザがコンピュータ・システム１００と通信するために使用される。しかしながら、端末インタフェース１４０は１つ以上の端末１６５との通信をサポートするために提供されるが、コンピュータ・システム１００は必ずしも端末１６５を要求しない。なぜなら、ユーザ及び他のプロセスとの全ての必要とされる対話は、ネットワーク・インタフェース１５０を介して発生し得るからである。
【００１６】
ネットワーク・インタフェース１５０は、他のコンピュータ・システムまたはワークステーション（例えば図１の１７５）を、ネットワーク１７０を介して、コンピュータ・システム１００に接続するために使用される。本発明は、コンピュータ・システム１００がどのように他のコンピュータ・システムまたはワークステーションに接続されようと、ネットワーク接続１７０が今日のアナログまたはデジタル技術を用いて、或いは将来のネットワーキング機構を介して形成されるかに関わらず、同様に当てはまる。更に、多くの異なるネットワーク・プロトコルが、ネットワークを実現するために使用され得る。これらのプロトコルは、コンピュータがネットワーク１７０を介して通信することを可能にする専用のコンピュータ・プログラムである。ＴＣＰ／ＩＰ（伝送制御プロトコル／インターネット・プロトコル）が、好適なネットワーク・プロトコルの例である。
【００１７】
ここに至って、本発明は完全機能型のコンピュータ・システムの状況において述べられ、また以下でもそうであるが、当業者であれば、本発明が様々な形態のプログラム製品として分配され、また本発明が、分配を実際に実行するために使用される特定のタイプの信号担持媒体に関係なく、同様に当てはまることが理解できよう。好適な信号担持媒体の例には、フロッピー・ディスクやＣＤ−ＲＯＭ（例えば図１の１９５）などの記録可能タイプの媒体、及びデジタル及びアナログ通信リンクなどの伝送タイプの媒体が含まれる。
【００１８】
図２を参照すると、従来技術を用いて２つの論理区画に分割されるコンピュータ・システム２００が示される。パーティション・マネージャ２７０が２つの論理区画２１０及び２２０を管理するために使用される。各論理区画は対応するオペレーティング・システム２３０及び２４０を含み、各オペレーティング・システムは、オペレーティング・システムの低レベル機能を実行するカーネル２５０及び２６０を含む。オペレーティング・システム・カーネル２５０はタスク・サポート２５１、同期プリミティブ２５２、主記憶管理２５３、ヒープ管理２５４、Ｉ／Ｏサブシステム２５５、及びユーザ・インタフェース２５６を含む。同様に、オペレーティング・システム・カーネル２６０は、対応する要素２６１乃至２６６を含む。これらの項目はオペレーティング・システム２３０に関連して後述されるが、オペレーティング・システム２３０のカーネル機能のこの記述は、オペレーティング・システム２４０にも同様に当てはまる。
【００１９】
タスク・サポート２５１は、タスクを管理するオペレーティング・システム２３０の部分である。タスクは、実行される必要のある作業の小さな要素（"ジョブ"としても知られる）である。タスク・サポート２５１はタスクの実行のために要求に応じてシステム資源を割当て、それらのタスクの実行を開始する。同期プリミティブ２５２はタスク間の通信のサポートを提供し、メッセージ・キュー、共用データ上のロック、及びタスク間の通信のための他の機構を含み得る。
【００２０】
主記憶管理２５３は、区画２１０に対応する主メモリ部分を管理するオペレーティング・システム２３０の部分である。ヒープ管理２５４は、"ヒープ"として知られるメモリ内の特殊記憶領域を管理する。ヒープは動的に割当て及び割当て解除され得る記憶である。オペレーティング・システム２３０がタスクのために割当てられるメモリを必要とするとき、ヒープ管理２５４がヒープの一部をタスクに割当て、タスクか実行された後、ヒープ管理２５４が使用されたメモリをヒープに返却する。
【００２１】
Ｉ／Ｏサブシステム２５５は、コンピュータ・システムの入出力装置を制御するオペレーティング・システム２３０の部分である。ユーザ・インタフェース２５６は、ユーザがオペレーティング・システム２３０と対話するためのインタフェースである。
【００２２】
パーティション・マネージャ２７０は、コンピュータ・システム２００の低レベル制御を提供する。パーティション・マネージャ２７０はタスク・サポート２７１、同期プリミティブ２７２、主記憶管理２７３、ヒープ管理２７４、Ｉ／Ｏサブシステム２７５、及びユーザ・インタフェース２７６を含み、これらはオペレーティング・システム２３０のカーネル２５０内の同一名の対応する要素２５１乃至２５６と類似する。パーティション・マネージャ２７０がこれらの同一の機能を提供することが必要な理由は、明らかである。すなわち、オペレーティング・システムが論理区画に導入されるとき、それはもはやコンピュータ・システムの完全な制御を有さず、他の論理区画内のオペレーティング・システムと制御を共用しなければならないからである。オペレーティング・システムにより以前に実行された低レベル機能は、今度はパーティション・マネージャにより実行されなければならず、パーティション・マネージャが論理区画内のオペレーティング・システムと対話して、必要に応じて要求機能を実行する。更に、パーティション・マネージャ２７０は一般に、オペレーティング・システムにより提供されるサービス、またはそれらの呼び出し方法を知らないので、サービスはパーティション・マネージャ自身により提供されなければならない。これらの理由から、パーティション・マネージャ２７０は、オペレーティング・システム２３０内で既に果たされる項目２７１乃至２７６の機能を含む。
【００２３】
項目２７１乃至２７６に加え、パーティション・マネージャ２７０はページ・テーブル管理２８１、区画間通信２８２、割込みハンドラ２８３、Ｉ／Ｏプリミティブ２８４、システム資源の管理２８５、及び資源構成管理２８６を含む。ページ・テーブル管理２８１は、各区画がそれが所有する主メモリの一部だけをアクセスことを保証する機構である。論理区画は主メモリのページへのアドレス指定能力を確立するために、ページ・テーブル管理コードを呼び出さなければならない。区画間通信機構２８２は、データがコンピュータ・システム２００の外側を移動する必要無しに、論理区画間の高速通信を提供する。割込みハンドラ２８３は、コンピュータ・システム内の割込みを処理する機構を提供する。Ｉ／Ｏプリミティブ２８４は、入出力装置を駆動する低レベル・コードを提供する。システム資源の管理２８５は、論理区画間で共用される必要のあるシステム全体の資源を管理する。システム・クロックは、システム資源の管理２８５により管理されるシステム資源の１例である。資源構成管理２８６は、各論理区画のコンピュータ・システム資源の構成を決定する。換言すると、資源構成管理２８６は、各論理区画に属する資源を追跡する。
【００２４】
図２に示される従来システム２００は、各オペレーティング・システム・カーネル内に相当な量のコードを含み、多くの類似の機能を実行するコードをパーティション・マネージャ２７０内に提供する。パーティション・マネージャ２７０及びオペレーティング・システム・カーネル２５０内に類似の機能を提供することは、新たなハードウェア・バス構造を収容するためのオペレーティング・システム・カーネル２５０のＩ／Ｏサブシステム２５５の変更が、パーティション・マネージャ２７０のＩ／Ｏサブシステム２７５の対応する変更を要求することを意味する。こうした類似の機能を実行する２つの異なるプログラムの保守は、これらの類似の機能に対する開発及びテストの試みを重複することにより、時間及び資源の浪費である。
【００２５】
図３を参照すると、好適な実施例に従うコンピュータ・システム３００は、好適には、図１のコンピュータ・システム１００に類似であり、図３に示される論理区画を有する。１次区画３１０は、カーネル３５０を有するオペレーティング・システム３３０を提供する。カーネル３５０は好適には、図２に示される対応する機構２５１乃至２５６に類似の機構３５１乃至３５６を含む。カーネル３５０はまた、オペレーティング・システム（ＯＳ）・フック３５７を提供し、これはプログラムがＯＳフック３５７を介して、オペレーティング・システムに特定の呼び出しを発行することにより、オペレーティング・システム内で定義される機能を使用することを可能にする。区画３１０はここでは"１次区画"と呼ばれる。なぜなら、これは特定の機能を実行するためにパーティション・マネージャ３７０により使用されるオペレーティング・システム３３０を含むからである。全ての他の区画は、ここでは"２次区画"と呼ばれる。
【００２６】
パーティション・マネージャ３７０は、好適には図２に示される対応する要素２８１乃至２８６に類似の機構３８１乃至３８６を含む。更に、パーティション・マネージャ３７０はソフトウェア・ライセンス管理プリミティブ３８７を含み、これはパーティション・マネージャ３７０が論理区画を横断して、ソフトウェア・ライセンスを行使するユーザの数を追跡することを可能にする。パーティション・マネージャ３７０はまた、オペレーティング・システム・インタフェース３６８を含み、これはＯＳフック３５７を呼び出し、パーティション・マネージャ３７０のために多くの機能を実行する。パーティション・マネージャ３７０内に、タスク・サポート、同期プリミティブ、主記憶管理、ヒープ管理、Ｉ／Ｏサブシステム、及びユーザ・インタフェースを提供する別のコードを提供する代わりに、パーティション・マネージャ３７０は、１次区画３１０内のオペレーティング・システム３３０のカーネル３５０内に既に存在する機構３５１乃至３５６を使用する。この方法にはいくつかの利点がある。
【００２７】
多くのコンピュータ・システムが、明確に定義され、数年にかけてデバッグされたオペレーティング・システムを有する。信頼できるカーネルを有するオペレーティング・システムが使用可能な場合、プログラマはスクラッチから類似の機能を再実装するのではなく、単にオペレーティング・システム内で明確に定義され、テスト済みのフックを呼び出すことにより、パーティション・マネージャ３７０を実装できる。このように、ＯＳインタフェース３６８及びＯＳフック３５７を提供することにより、パーティション・マネージャ３７０は、オペレーティング・システム３３０内に既に提供される機能から恩恵を受けることができる。これはパーティション・マネージャ３７０を実装するために要求されるプログラミング量を多大に低減し、パーティション・マネージャ３７０をデバッグ及びテストするために必要な時間を、多大に低減する。従って、本発明は、コンピュータ・システムのパーティション・マネージャの開発コストを、実質的に低減する。
【００２８】
オペレーティング・システム３３０のカーネル３５０は、図３に示されない多くの他の機能を含んでもよいし、図示の機能のサブセットを含んでもよい。図３のオペレーティング・システム３３０及び３４０内の機能は、オペレーティング・システム・カーネル内に存在し得る多くの機能の１例として示される。更に、パーティション・マネージャ３７０の機能３８１乃至３８７は、実装され得る機能の好適な例として示され、これらの機能のサブセット、及び図示されない他の好適な機能も、本発明の範囲内でパーティション・マネージャ３７０内に実装され得る。当業者であれば、多数の他の機能が本発明の範囲内において、オペレーティング・システム・カーネル内に、またはパーティション・マネージャ内に組み込まれ得ることが理解できよう。
【００２９】
図３のコンピュータ・システム３００内のパーティション・マネージャ３７０は、１次区画３１０内のオペレーティング・システムにより提供される機能を使用するので、パーティション・マネージャ３７０及び論理区画３１０及び３２０を導入する方法は、従来技術で知られる方法とは異なる。最初に、従来方法４００について、図４を参照しながら説明する。
【００３０】
従来技術では、１つ以上の論理区画がコンピュータ・システム上で所望される場合、最初に、パーティション・マネージャが導入される（ステップ４１０）。次に、論理区画が生成される（ステップ４２０）。次に、オペレーティング・システムが区画上に導入される（ステップ４３０）。オペレーティング・システムが全ての論理区画上に導入されると（ステップ４４０がＹＥＳ）、導入方法が完了する。まだオペレーティング・システムが導入されてない論理区画が存在する場合（ステップ４４０がＮＯ）、オペレーティング・システムが次の論理区画上に導入されて（ステップ４３０）、オペレーティング・システムが全ての論理区画上に導入されるまで（ステップ４４０がＹＥＳ）、ステップ４３０及び４４０が繰り返される。
【００３１】
図５を参照すると、本発明に従いコンピュータ・システムを区画化する方法５００が示され、これは１次区画を生成し、パーティション・マネージャを導入することにより開始する（ステップ５１０）。次に、パーティション・マネージャが、１つ以上の２次区画を生成するために使用される（ステップ５２０）。次に、オペレーティング・システムが２次区画上に導入される（ステップ５３０）。オペレーティング・システムが全ての２次区画上に導入されると（ステップ５４０がＹＥＳ）、方法５００は完了する。オペレーティング・システムがまだ導入されてない２次区画が存在する場合（ステップ５４０がＮＯ）、全ての２次区画にオペレーティング・システムが導入されるまで（ステップ５４０がＹＥＳ）、ステップ５３０及び５４０が繰り返される。
【００３２】
図５のステップ５１０が１次区画を生成し、パーティション・マネージャを導入する理由は、本発明の好適な実施例が、パーティション・マネージャ３７０をオペレーティング・システム３３０の一部としてパッケージ化するからである。従って、オペレーティング・システム３３０を導入するプロセスは、パーティション・マネージャ３７０に関する情報のプロンプトを同様に含む。これはソフトウェア・インストーラが、オペレーティング・システム及びパーティション・マネージャ３７０の両方を導入するために、オペレーティング・システムの場合と同一の普通のインタフェースを使用することを意味する。同一のオペレーティング・システムを２次区画３２０上に導入するには、パーティション・マネージャ・コードを含むが、このコードは２次区画内に存在するので、使用されない。
【００３３】
前述の本発明は、論理区画内に存在するオペレーティング・システムにより提供される機能を使用するパーティション・マネージャを含む。オペレーティング・システム内の既存のコードを使用し、これらの低レベル機能を実行することにより、コードの重複が回避され、コードの保守が多大に改善される。更に、パーティション・マネージャを保守するためのユーザ・インタフェース及びプロシージャは、１次区画内のオペレーティング・システムを保守するために使用されるものと同一であり、既知のパーティション・マネージャの保守に比較して、本発明のパーティション・マネージャの保守を多大に簡素化する。
【００３４】
当業者であれば、本発明の範囲内で多くの変更が可能であることが理解できよう。従って、本発明は特にその好適な実施例に関連して述べられてきたが、当業者であれば、その形態及び詳細におけるこれらの及び他の変更が、本発明の趣旨及び範囲から逸れることなく可能であることが理解できよう。
【００３５】
【関連出願】
本願は以下の特許出願に関連する。Armstrongらによる１９９９年５月１９日付けの米国特許出願第          号"Apparatus and Method for Specifying Maximum Interactive Performance in a Logical Partition of a Computer System Independently from the Maximum Interactive Performance in Other Partitions"（出願人整理番号：RO9-99-021）、Armstrongらによる１９９９年５月１９日付けの米国特許出願第          号"Processor Reset Generated via Memory Access Interrupt"（出願人整理番号：RO9-99-022）、Armstrongらによる１９９９年５月１９日付けの米国特許出願第          号"Management of a Concurrent Use License in a Logically-Partitioned Computer"（出願人整理番号：RO9-99-023）、及びArmstrongらによる１９９９年５月１９日付けの米国特許出願第号"Event-Driven Communications Interface for Logically-Partitioned Computer"（出願人整理番号：RO9-99-024）。
【００３６】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００３７】
（１）少なくとも１つのプロセッサと、
少なくとも１つのプロセッサに接続されるメモリと、
装置上で定義される複数の論理区画であって、各論理区画がオペレーティング・システムと、少なくとも１つのプロセッサの一部と、メモリの一部とを含み、複数の論理区画によるコンピュータ・システム資源の使用を管理し、予め選択された論理区画内に存在するオペレーティング・システムへの少なくとも１つの呼び出しを含むパーティション・マネージャと
を含む装置。
（２）予め選択された論理区画内のオペレーティング・システムが、前記パーティション・マネージャの少なくとも１つの呼び出しにより呼び出されるフックを含む前記（１）記載の装置。
（３）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出されるタスク・サポート機能及び同期プリミティブを提供する前記（１）記載の装置。
（４）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される主記憶管理機能及びヒープ管理機能を提供する前記（３）記載の装置。
（５）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される入出力（Ｉ／Ｏ）サブシステムを提供する前記（４）記載の装置。
（６）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出されるユーザ・インタフェースを提供する前記（５）記載の装置。
（７）前記パーティション・マネージャが複数の区画に渡るユーザの総数を追跡するソフトウェア・ライセンス管理プリミティブを提供する前記（６）記載の装置。
（８）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される主記憶管理機能及びヒープ管理機能を提供する前記（１）記載の装置。
（９）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される入出力（Ｉ／Ｏ）サブシステムを提供する前記（１）記載の装置。
（１０）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出されるユーザ・インタフェースを提供する前記（１）記載の装置。
（１１）前記パーティション・マネージャが複数の区画に渡るユーザの総数を追跡するソフトウェア・ライセンス管理プリミティブを提供する前記（１）記載の装置。
（１２）少なくとも１つのプロセッサと、
少なくとも１つのプロセッサに接続されるメモリと、
装置上で定義される複数の論理区画であって、各論理区画がオペレーティング・システムと、少なくとも１つのプロセッサの一部と、メモリの一部とを含み、複数の区画によるコンピュータ・システム資源の使用を管理し、予め選択された論理区画内に存在するオペレーティング・システムへの少なくとも１つの呼び出しを含む手段と
を含む装置。
（１３）コンピュータ・システム上で少なくとも１つの論理区画を生成するコンピュータにより実行される方法であって、
Ａ）第１の論理区画を生成し、
Ｂ）少なくとも１つの論理区画によるコンピュータ・システム資源の使用を管理するパーティション・マネージャを導入し、このパーティション・マネージャが第１の論理区画に導入されるオペレーティング・システムへの少なくとも１つの呼び出しを含み、
Ｃ）オペレーティング・システムを第１の論理区画に導入する
ステップを含む方法。
（１４）Ｄ）別の論理区画を生成し、
Ｅ）ステップＤ）で生成された論理区画にオペレーティング・システムを導入し、
Ｆ）所望の数の論理区画がコンピュータ・システム上に生成されるまで、ステップＤ）及びＥ）を繰り返す
ステップを含む前記（１３）記載の方法。
（１５）複数の論理区画を有するコンピュータ・システム上の資源を管理するコンピュータにより実行される方法であって、
予め選択された論理区画内のオペレーティング・システムへの少なくとも１つの呼び出しを含むパーティション・マネージャを提供し、
前記パーティション・マネージャを実行して、複数の論理区画内の資源を管理し、前記パーティション・マネージャがオペレーティング・システムへの少なくとも１つの呼び出しを実行する
ステップを含む方法。
（１６）複数の論理区画によるコンピュータ・システム資源の使用を管理し、予め選択された論理区画内に存在するオペレーティング・システムへの少なくとも１つの呼び出しを含むパーティション・マネージャと
前記パーティション・マネージャを有する信号担持媒体と
を含むプログラム製品。
（１７）前記信号担持媒体が記録可能媒体を含む前記（１６）記載のプログラム製品。
（１８）前記信号担持媒体が伝送媒体を含む前記（１６）記載のプログラム製品。
（１９）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出されるタスク・サポート機能及び同期プリミティブを提供する前記（１６）記載のプログラム製品。
（２０）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される主記憶管理機能及びヒープ管理機能を提供する前記（１９）記載のプログラム製品。
（２１）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される入出力（Ｉ／Ｏ）サブシステムを提供する前記（２０）記載のプログラム製品。
（２２）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出されるユーザ・インタフェースを提供する前記（２１）記載のプログラム製品。
（２３）前記パーティション・マネージャが複数の区画に渡るユーザの総数を追跡するソフトウェア・ライセンス管理プリミティブを提供する前記（２２）記載のプログラム製品。
（２４）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される主記憶管理機能及びヒープ管理機能を提供する前記（１６）記載のプログラム製品。
（２５）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出される入出力（Ｉ／Ｏ）サブシステムを提供する前記（１６）記載のプログラム製品。
（２６）予め選択された論理区画内に存在するオペレーティング・システムが、前記パーティション・マネージャにより呼び出されるユーザ・インタフェースを提供する前記（１６）記載のプログラム製品。
（２７）前記パーティション・マネージャが複数の区画に渡るユーザの総数を追跡するソフトウェア・ライセンス管理プリミティブを提供する前記（１６）記載のプログラム製品。
【図面の簡単な説明】
【図１】好適な実施例に従い論理区画化をサポートするコンピュータ装置のブロック図である。
【図２】２つの論理区画を有する従来システム例を示すブロック図である。
【図３】２つの論理区画を有する好適な実施例に従うシステムを示すブロック図である。
【図４】コンピュータ・システムを論理的に区画化する既知の方法を示すフロー図である。
【図５】好適な実施例に従いコンピュータ・システムを論理的に区画化する方法を示すフロー図である。
【符号の説明】
１００、２００、３００  コンピュータ・システム
１１０  プロセッサ
１２０  主メモリ
１２２、２７０、３７０  パーティション・マネージャ
１２３、３６８  ＯＳインタフェース
１２４、１２６、２１０、２２０、３１０、３２０  論理区画
１２５、１２７、２３０、２４０、３３０、３４０  オペレーティング・システム
１３０  大容量記憶装置インタフェース
１４０  端末インタフェース
１５０  ネットワーク・インタフェース
１５５  直接アクセス記憶装置（ＤＡＳＤ）
１６０  システム・バス
１６５  端末
１７０  ネットワーク
１７５  コンピュータ・システムまたはワークステーション
１９５  ＣＤ−ＲＯＭ
２１０、２２０  論理区画
２５０、２６０、３５０、３６０  オペレーティング・システム・カーネル
２５１、２６１、２７１、３５１、３６１  タスク・サポート
２５２、２６２、２７２、３５２、３６２  同期プリミティブ
２５３、２６３、２７３、３５３、３６３  主記憶管理
２５４、２６４、２７４、３５４、３６４  ヒープ管理
２５５、２６５、２７５、３５５、３６５  Ｉ／Ｏサブシステム
２５６、２６６、２７６、３５６、３６６  ユーザ・インタフェース
２８１、３８１  ページ・テーブル管理
２８２、３８２  区画間通信
２８３、３８３  割込みハンドラ
２８４、３８４  Ｉ／Ｏプリミティブ
２８５、３８５  システム資源の管理
２８６、３８６  資源構成管理
３５７  ＯＳフック
３８７  ソフトウェア・ライセンス管理プリミティブ
【図１】
0003703078.tif 000002
【図２】
0003703078.tif 000003
【図３】
0003703078.tif 000004
【図４】
0003703078.tif 000005
【図５】
0003703078.tif 000006