【文献】
Juan A. COLMENARES et al.,Tessellation:Refactoring the OS around Explicit Resource Containers with Continuous Adaptation,Proceedings of the 50th annual design automation conference,2013年 6月 1日,pp.1-10
(58)【調査した分野】(Int.Cl.,DB名)
前記管理オペレーティング・システムにより、仮想メモリ・アドレスから物理メモリ・アドレスへの、前記第1の負荷オペレーティング・システムのブートイメージを実行するために要求され、前記管理オペレーティング・システムによって予め構築されたマッピング関係を読み出すように前記スタートアップ・プロセッサ・コアに命令する前記ステップは、
前記管理オペレーティング・システムにより、前記スタートアップ・プロセッサ・コアにコア間割り込みメッセージを送信するステップであって、前記コア間割り込みメッセージは、前記スタートアップ・プロセッサ・コアを初期化するように構成された、前記第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するように前記スタートアップ・プロセッサ・コアに命令する、ステップと、
前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムに対応する前記初期化プログラムを実行するように前記スタートアップ・プロセッサ・コアに命令することによって、前記仮想メモリ・アドレスから前記物理メモリ・アドレスへの、前記第1の負荷オペレーティング・システムの前記ブートイメージを実行するために要求される前記マッピング関係を前記初期化プログラムから読み出すように前記スタートアップ・プロセッサ・コアに命令するステップと、を含み、
前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムについて予め構築された前記ブートイメージを実行するように前記スタートアップ・プロセッサ・コアに命令する前記ステップは、
前記第1の負荷オペレーティング・システムの前記ブートイメージを実行するように、前記管理オペレーティング・システムにより、前記初期化プログラムの動作が終了した後に、前記ブートイメージの、前記物理メモリ内の前記位置にジャンプするように前記スタートアップ・プロセッサ・コアに命令するステップを含む、請求項1または2に記載の方法。
前記管理オペレーティング・システムにより、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、前記第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定する前記ステップの前に、前記方法は、
前記管理オペレーティング・システムにより、第2の負荷オペレーティング・システムの利用可能なプロセッサ・コアを獲得するステップであって、前記第2の負荷オペレーティング・システムは、前記複数の負荷オペレーティング・システムの中で、前記第1の負荷オペレーティング・システム以外のログアウトされた負荷オペレーティング・システムであり、前記利用可能なプロセッサ・コアは、スタートアップされたプロセッサ・コアを含む、ステップをさらに含み、
前記管理オペレーティング・システムにより、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、前記第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定する前記ステップは、
前記第1の負荷オペレーティング・システムの前記物理リソース・セットが、前記利用可能なプロセッサ・コアを含むとき、前記管理オペレーティング・システムにより、前記利用可能なプロセッサ・コアの中で、前記第1の負荷オペレーティング・システムをスタートアップさせる前記スタートアップ・プロセッサ・コアを決定するステップを含む、請求項1または2に記載の方法。
前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムについて予め構築された前記ブートイメージを実行するように前記スタートアップ・プロセッサ・コアに命令する前記ステップの後に、前記方法は、
前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムの動作を監視するステップと、
前記第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第1の予め設定された閾値より小さいとき、前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムについて減少される必要がある物理リソースのタイプ識別子を決定し、減少される必要がある前記物理リソースの前記タイプ識別子に従って、前記第1の負荷オペレーティング・システムの前記物理リソースを減少させるステップ、または、
前記第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第2の予め設定された閾値より大きいとき、前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムについて追加される必要がある物理リソースのタイプ識別子を決定し、追加される必要がある前記物理リソースの前記タイプ識別子に従って、前記第1の負荷オペレーティング・システムの前記物理リソースを追加するステップ、をさらに含み、
前記物理リソースの前記タイプ識別子は、前記物理リソースが、プロセッサ・コア・リソースであるか、または物理メモリ・リソースであるかを区別するために使用される、請求項1に記載の方法。
前記物理リソース・セットは前記ホスト・マシンのいくつかの外部デバイスをさらに含み、前記スタートアップ・パラメータは、前記第1の負荷オペレーティング・システムに割り当てられた外部デバイスの識別子、および、前記外部デバイスに対応するデバイス記述情報テーブルをさらに含み、
前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムについて予め構築された前記ブートイメージを実行するように前記スタートアップ・プロセッサ・コアに命令する前記ステップの後に、前記方法は、
前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムによって送信されたリソース減少要求メッセージを受信するステップであって、前記リソース減少要求メッセージは、減少される必要がある物理リソースのタイプ識別子を含み、前記物理リソースの前記タイプ識別子は、前記物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される、ステップと、
前記管理オペレーティング・システムにより、減少される必要がある前記物理リソースの前記タイプ識別子に従って、前記第1の負荷オペレーティング・システムの前記物理リソースを減少させるステップと、をさらに含む、請求項1に記載の方法。
前記物理リソース・セットは前記ホスト・マシンのいくつかの外部デバイスをさらに含み、前記スタートアップ・パラメータは、前記第1の負荷オペレーティング・システムに割り当てられた外部デバイスの識別子、および、前記外部デバイスに対応するデバイス記述情報テーブルをさらに含み、
前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムについて予め構築された前記ブートイメージを実行するように前記スタートアップ・プロセッサ・コアに命令する前記ステップの後に、前記方法は、
前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムによって送信されたリソース追加要求メッセージを受信するステップであって、前記リソース追加要求メッセージは、追加される必要がある物理リソースのタイプ識別子を含み、前記物理リソースの前記タイプ識別子は、前記物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される、ステップと、
前記管理オペレーティング・システムにより、追加される必要がある前記物理リソースの前記タイプ識別子に従って、前記第1の負荷オペレーティング・システムの前記物理リソースを追加するステップと、をさらに含む、請求項1に記載の方法。
追加される必要がある前記物理リソースがプロセッサ・コアであるならば、前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムの前記物理リソースを追加する前記ステップは、
前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムについて追加される必要がある前記プロセッサ・コアを、前記第1の負荷オペレーティング・システムに属す物理リソースとしてマークし、前記第1の負荷オペレーティング・システムにリソース追加メッセージを送信するステップであって、前記リソース追加メッセージは、追加される必要がある前記プロセッサ・コアの識別子を含む、ステップと、
前記管理オペレーティング・システムにより、前記追加されたプロセッサ・コアにジャンプ命令を送信するステップであって、前記ジャンプ命令は、前記第1の負荷オペレーティング・システムのカーネル・プログラムを実行するように前記追加されたプロセッサ・コアに命令するために使用され、前記カーネル・プログラムは、仮想メモリ・アドレスから物理メモリ・アドレスへの、前記第1の負荷オペレーティング・システムを実行するために要求される全てのマッピング関係を含む、ステップと、を含む、請求項5または7に記載の方法。
減少される必要がある前記物理リソースがプロセッサ・コアまたは物理メモリ・リソースを含むならば、前記管理オペレーティング・システムにより、減少される必要がある前記物理リソースの前記タイプ識別子に従って、前記第1の負荷オペレーティング・システムの前記物理リソースを減少させる前記ステップは、
前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムにリソース減少メッセージを送信するステップであって、前記リソース減少メッセージは、解放される必要がある前記物理リソースの識別子を含む、ステップと、
前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムによって解放された前記物理リソースの前記識別子を獲得し、前記リソース・プール内の利用可能な物理リソースのリストに前記解放された物理リソースの前記識別子を追加するステップと、を含む、請求項5または6に記載の方法。
追加される必要がある前記物理リソースが物理メモリ・リソースであるならば、前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムの前記物理リソースを追加する前記ステップは、
前記管理オペレーティング・システムにより、前記第1の負荷オペレーティング・システムについて追加される必要がある物理メモリ・アドレスを、前記第1の負荷オペレーティング・システムに属す物理リソースとしてマークし、前記第1の負荷オペレーティング・システムにリソース追加メッセージを送信するステップであって、前記リソース追加メッセージは、追加される必要がある前記物理メモリ・アドレスの識別子を含む、ステップを含む請求項5または7に記載の方法。
第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにより、仮想メモリ・アドレスから物理メモリ・アドレスへの、前記第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を読み出す前記ステップは、
前記第1の負荷オペレーティング・システムの前記スタートアップ・プロセッサ・コアにより、前記管理オペレーティング・システムによって送信されたコア間割り込みメッセージを受信するステップであって、前記コア間割り込みメッセージは、前記スタートアップ・プロセッサ・コアを初期化するように構成された、前記第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するように前記スタートアップ・プロセッサ・コアに命令するために使用される、ステップと、
前記第1の負荷オペレーティング・システムの前記スタートアップ・プロセッサ・コアにより、前記初期化プログラムを実行し、前記仮想メモリ・アドレスから前記物理メモリ・アドレスへの、前記ブートイメージを実行するために要求され、前記第1の負荷オペレーティング・システムについて前記管理オペレーティング・システムによって予め構築された前記マッピング関係を前記初期化プログラムから読み出すステップと、を含み、
前記第1の負荷オペレーティング・システムの前記スタートアップ・プロセッサ・コアにより、前記管理オペレーティング・システムによって設定された、ブートイメージ・ジャンプを実行するための命令に従って、前記第1の負荷オペレーティング・システムに対応する前記ブートイメージの、前記物理メモリ・アドレス内の位置にジャンプすることは、
前記第1の負荷オペレーティング・システムの前記スタートアップ・プロセッサ・コアにより、前記初期化プログラムを実行し、前記管理オペレーティング・システムによって前記初期化プログラム内に予め設定されたジャンプ命令を前記初期化プログラムから読み出し、前記第1の負荷オペレーティング・システムに対応する前記ブートイメージの、前記物理メモリ・アドレス内の前記位置にジャンプすることを含む、請求項11に記載のリソース処理方法。
前記第1の負荷オペレーティング・システムにより、前記管理オペレーティング・システムによって前記第1の負荷オペレーティング・システムに割り当てられ、前記第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定する前記ステップの後に、前記方法は、
前記第1の負荷オペレーティング・システムにより、仮想メモリ・アドレスから物理メモリ・アドレスへの、前記第1の負荷オペレーティング・システムを実行するために要求される全てのマッピング関係を構築するステップと、
前記第1の負荷オペレーティング・システムの前記プロセッサ・コアにより、前記仮想メモリ・アドレスから前記物理メモリ・アドレスへの、前記第1の負荷オペレーティング・システムを実行するために要求される全ての前記マッピング関係に従って、前記物理メモリ・アドレスにアクセスするステップと、をさらに含む、請求項11に記載の方法。
前記第1の負荷オペレーティング・システムにより、前記管理オペレーティング・システムによって前記第1の負荷オペレーティング・システムに割り当てられ、前記第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定する前記ステップの後に、前記方法は、
前記第1の負荷オペレーティング・システムにより、前記第1の負荷オペレーティング・システムに割り当てられた前記プロセッサ・コアを使用することによって、前記管理オペレーティング・システムによって配送された特権命令を実行するステップをさらに含む、請求項11に記載の方法。
前記第1の負荷オペレーティング・システムにより、前記管理オペレーティング・システムによって前記第1の負荷オペレーティング・システムに割り当てられ、前記第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定する前記ステップの後に、前記方法は、
前記第1の負荷オペレーティング・システムにより、前記第1の負荷オペレーティング・システムの物理リソースを監視するステップと、
前記第1の負荷オペレーティング・システムが、前記管理オペレーティング・システムによって前記第1の負荷オペレーティング・システムに割り当てられた前記物理リソースの利用が第1の予め設定された閾値より小さいと決定したならば、前記第1の負荷オペレーティング・システムにより、前記管理オペレーティング・システムにリソース減少要求メッセージを送信するステップであって、前記リソース減少要求メッセージは、減少される必要がある物理リソースのタイプ識別子を含む、ステップ、または、
前記第1の負荷オペレーティング・システムが、前記管理オペレーティング・システムによって前記第1の負荷オペレーティング・システムに割り当てられた前記物理リソースの利用が第2の予め設定された閾値より大きいと決定したならば、前記第1の負荷オペレーティング・システムにより、前記管理オペレーティング・システムにリソース追加要求メッセージを送信するステップであって、前記リソース追加要求メッセージは、追加される必要がある物理リソースのタイプ識別子を含む、ステップ、をさらに含み、
前記物理リソースの前記タイプ識別子は、前記物理リソースが、プロセッサ・コア・リソースであるか、または物理メモリ・リソースであるかを区別するために使用される、請求項11に記載の方法。
追加される必要がある前記物理リソースがプロセッサ・コアであるならば、前記第1の負荷オペレーティング・システムにより、前記管理オペレーティング・システムにリソース追加要求メッセージを送信する前記ステップの後に、前記方法は、
前記第1の負荷オペレーティング・システムにより、前記管理オペレーティング・システムによって送信されたリソース追加メッセージを受信するステップであって、前記リソース追加メッセージは、追加される必要がある前記プロセッサ・コアの識別子を含む、ステップと、
前記第1の負荷オペレーティング・システムにより、追加される必要がある前記プロセッサ・コアの前記識別子に従って、前記第1の負荷オペレーティング・システムについて前記管理オペレーティング・システムによって追加された前記プロセッサ・コアを決定するステップと、
前記第1の負荷オペレーティング・システムの前記追加されたプロセッサ・コアにより、前記管理オペレーティング・システムによって送信されたジャンプ命令を受信し、前記ジャンプ命令に従って、前記第1の負荷オペレーティング・システムのカーネル・プログラムを実行し、仮想メモリ・アドレスから物理メモリ・アドレスへの、前記第1の負荷オペレーティング・システムを実行するために要求される全てのマッピング関係を前記カーネル・プログラムから読み出すステップであって、前記第1の負荷オペレーティング・システムは、前記仮想メモリ・アドレスから前記物理メモリ・アドレスへの、前記第1の負荷オペレーティング・システムを実行するために要求される全ての前記マッピング関係を前記カーネル・プログラム内に予め設定する、ステップと、をさらに含む、請求項15に記載の方法。
減少される必要がある前記物理リソースがプロセッサ・コアまたは物理メモリ・リソースであるならば、前記第1の負荷オペレーティング・システムにより、前記管理オペレーティング・システムにリソース減少要求メッセージを送信する前記ステップの後に、前記方法は、
前記第1の負荷オペレーティング・システムにより、前記管理オペレーティング・システムによって送信されたリソース減少メッセージを受信するステップであって、前記リソース減少メッセージは、解放される必要がある前記物理リソースの識別子を含む、ステップと、
前記第1の負荷オペレーティング・システムにより、解放される必要がある前記物理リソースの前記識別子に従って、前記物理リソースを解放するステップと、をさらに含む、請求項15に記載の方法。
追加される必要がある前記物理リソースが物理メモリ・リソースであるならば、前記第1の負荷オペレーティング・システムにより、前記管理オペレーティング・システムにリソース追加要求メッセージを送信する前記ステップの後に、前記方法は、
前記第1の負荷オペレーティング・システムにより、前記管理オペレーティング・システムによって送信されたリソース追加メッセージを受信するステップであって、前記リソース追加メッセージは、追加される必要がある物理メモリ・アドレスの識別子を含む、ステップと、
前記第1の負荷オペレーティング・システムにより、追加される必要がある前記物理メモリ・アドレスの前記識別子に従って、前記第1の負荷オペレーティング・システムについて前記管理オペレーティング・システムによって追加された前記物理メモリ・アドレスを決定するステップと、をさらに含む、請求項15に記載の方法。
ホスト・マシンであって、前記ホスト・マシンは、管理オペレーティング・システムおよび複数の負荷オペレーティング・システムを動作させるように構成され、前記複数の負荷オペレーティング・システムは、第1の負荷オペレーティング・システムを含み、前記ホスト・マシンは複数のプロセッサを含み、前記管理オペレーティング・システムは前記複数のプロセッサのうちの第1のプロセッサにおいて動作し、第1の負荷オペレーティング・システムは前記複数のプロセッサのうちの第2のプロセッサにおいて動作し、前記ホスト・マシンは物理リソース・プールを含み、前記物理リソース・プールは、前記ホスト・マシンの、プロセッサ・コアおよび物理メモリを含み、前記ホスト・マシンが動作するとき、前記管理オペレーティング・システムは、
前記第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、前記第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定するように構成され、前記第1の負荷オペレーティング・システムは、前記複数の負荷オペレーティング・システムの中のいずれかの負荷オペレーティング・システムであり、前記管理オペレーティング・システムは、前記第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを前記第1の負荷オペレーティング・システムに割り当て、前記物理リソース・セットは、前記ホスト・マシンの、前記プロセッサ・コアのいくつか、および、前記物理メモリの一部を含み、
前記管理オペレーティング・システムは、仮想メモリ・アドレスから物理メモリ・アドレスへの、前記第1の負荷オペレーティング・システムのブートイメージを実行するために要求され、前記管理オペレーティング・システムによって予め構築されたマッピング関係を読み出すように前記スタートアップ・プロセッサ・コアに命令するように構成され、前記物理メモリ・アドレスは、前記第1の負荷オペレーティング・システムに対応する前記ブートイメージの位置を含み、
前記管理オペレーティング・システムは、前記第1の負荷オペレーティング・システムをスタートアップさせるように、前記第1の負荷オペレーティング・システムについて予め構築された前記ブートイメージを実行するように前記スタートアップ・プロセッサ・コアに命令するように構成され、前記ブートイメージは、前記第1の負荷オペレーティング・システムのスタートアップ・パラメータを含み、前記スタートアップ・パラメータは、前記第1の負荷オペレーティング・システムに割り当てられた前記プロセッサ・コアの識別子、および、前記第1の負荷オペレーティング・システムに割り当てられた前記物理メモリ・アドレスの識別子を含み、
前記第1の負荷オペレーティング・システムは、
前記仮想メモリ・アドレスから前記物理メモリ・アドレスへの、前記第1の負荷オペレーティング・システムの前記ブートイメージを実行するために要求される前記マッピング関係を読み出すように構成され、前記マッピング関係は、前記第1の負荷オペレーティング・システムの前記スタートアップ・プロセッサ・コアが、前記物理メモリ・アドレスにアクセスすることを可能にするために使用され、
前記第1の負荷オペレーティング・システムは、前記管理オペレーティング・システムによって設定された、ブートイメージ・ジャンプを実行するための命令に従って、前記第1の負荷オペレーティング・システムに対応する前記ブートイメージの、前記物理メモリ・アドレス内の前記位置にジャンプし、前記マッピング関係に従って、前記第1の負荷オペレーティング・システムに対応する前記ブートイメージを実行し、
前記第1の負荷オペレーティング・システムの前記ブートイメージを実行するプロセスにおいて、前記第1の負荷オペレーティング・システムの前記ブートイメージから前記第1の負荷オペレーティング・システムの前記スタートアップ・パラメータを獲得し、
前記プロセッサ・コアの前記識別子、および、前記第1の負荷オペレーティング・システムの前記物理メモリ・アドレスの前記識別子に従って、前記管理オペレーティング・システムによって前記第1の負荷オペレーティング・システムに割り当てられ、前記第1の負荷オペレーティング・システムによって排他的に使用される前記物理リソース・セットを決定し、
前記第1の負荷オペレーティング・システムがスタートアップされた後、前記第1の負荷オペレーティング・システムにより、前記管理オペレーティング・システムの関与なしで、前記第1の負荷オペレーティング・システムに割り当てられた物理リソース・セットの中の物理リソースにアクセスするように構成され、前記アクセスすることは、前記第1の負荷オペレーティング・システムのプロセッサ・コアが、仮想メモリ・アドレスから物理メモリ・アドレスへのマッピング関係に従って前記仮想メモリ・アドレスを前記物理メモリ・アドレスに直接に転換し、前記物理メモリ・アドレスにアクセスすることを含み、前記マッピング関係は前記第1の負荷オペレーティング・システムによって解釈される、ホスト・マシン。
1つまたは複数のコンピュータ実行可能な命令を含むコンピュータ読み取り可能な媒体であって、前記1つまたは複数のコンピュータ実行可能な命令は、コンピュータシステムの1つまたは複数のプロセッサにおいて実行されるとき、請求項1から10のいずれか一項に記載の方法を前記コンピュータシステムに実行させる、コンピュータ読み取り可能な媒体。
1つまたは複数のコンピュータ実行可能な命令を含むコンピュータ読み取り可能な媒体であって、前記1つまたは複数のコンピュータ実行可能な命令は、コンピュータシステムの1つまたは複数のプロセッサにおいて実行されるとき、請求項11から18のいずれか一項に記載の方法を前記コンピュータシステムに実行させる、コンピュータ読み取り可能な媒体。
【発明の概要】
【課題を解決するための手段】
【0005】
本発明の実施例は、リソース処理方法、オペレーティング・システム、およびデバイスを提供し、それによって負荷オペレーティング・システムの全体の性能を改善する。
【0006】
第1の態様によれば、本発明の実施例はリソース処理方法を提供し、ここで本方法はマルチ
カーネル・オペレーティング・システムに適用され、マルチ
カーネル・オペレーティング・システムは、ホスト・マシンにおいて動作する、管理オペレーティング・システムおよび複数の負荷オペレーティング・システムを含むとともに、物理リソース・プールを含み、物理リソース・プールは、ホスト・マシンの、プロセッサ・コアおよび物理メモリを含み、本方法は、
管理オペレーティング・システムにより、各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを各々の負荷オペレーティング・システムに割り当て、各々の負荷オペレーティング・システムについてブートイメージを構築し、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定するステップであって、各々の物理リソース・セットは、ホスト・マシンのプロセッサ・コアのいくつか、および、ホスト・マシンの物理メモリの一部を含む、ステップと、
管理オペレーティング・システムにより、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定するステップであって、第1の負荷オペレーティング・システムは負荷オペレーティング・システムのいずれか1つである、ステップと、
ブートイメージを実行するプロセスにおいて、マッピング関係に従って、スタートアップ・プロセッサ・コアが物理メモリ・アドレスにアクセスすることを可能にするように、管理オペレーティング・システムにより、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求され、管理オペレーティング・システムによって予め構築されたマッピング関係を読み出すようにスタートアップ・プロセッサ・コアに命令するステップと、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令するステップであって、ブートイメージは第1の負荷オペレーティング・システムのスタートアップ・パラメータを含み、スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む、ステップと、を含む。
【0007】
第1の態様を参照して、第1の態様の第1の可能な実現方式において、管理オペレーティング・システムにより、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求され、管理オペレーティング・システムによって予め構築されたマッピング関係を読み出すようにスタートアップ・プロセッサ・コアに命令するステップと、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令するステップとは、
管理オペレーティング・システムにより、スタートアップ・プロセッサ・コアにコア間割り込みメッセージを送信するステップであって、コア間割り込みメッセージは、スタートアップ・プロセッサ・コアを初期化するように構成された、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するようにスタートアップ・プロセッサ・コアに命令する、ステップと、
管理オペレーティング・システムにより、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するようにスタートアップ・プロセッサ・コアに命令することによって、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を初期化プログラムから読み出すようにスタートアップ・プロセッサ・コアに命令するステップと、第1の負荷オペレーティング・システムのブートイメージを実行するように、初期化プログラムの動作が終了した後に、ブートイメージの、物理メモリ内の位置にジャンプするようにスタートアップ・プロセッサ・コアに命令するステップと、を含む。
【0008】
第1の態様の第1の可能な実現方式を参照して、第1の態様の第2の可能な実現方式において、管理オペレーティング・システムにより、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定するステップの前に、本方法は、
管理オペレーティング・システムにより、第1の負荷オペレーティング・システムについて、第1の負荷オペレーティング・システムを初期化するように構成された初期化プログラムを予め設定し、初期化プログラム内に、第1の負荷オペレーティング・システムのブートイメージの、物理メモリ・アドレス内の位置を予め設定するステップをさらに含み、
管理オペレーティング・システムにより、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定するステップは、
管理オペレーティング・システムにより、第1の負荷オペレーティング・システムについて、初期化プログラム内に、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定するステップを含む。
【0009】
第1の態様を参照して、第1の態様の第3の可能な実現方式において、管理オペレーティング・システムにより、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定するステップの前に、本方法は、
管理オペレーティング・システムにより、第2の負荷オペレーティング・システムの利用可能なプロセッサ・コアを獲得するステップであって、第2の負荷オペレーティング・システムは、複数の負荷オペレーティング・システムの中で、第1の負荷オペレーティング・システム以外のログアウトされた負荷オペレーティング・システムであり、利用可能なプロセッサ・コアはスタートアップされたプロセッサ・コアを含み、第1の負荷オペレーティング・システムの物理リソース・セットは利用可能なプロセッサ・コアを含む、ステップをさらに含み、
管理オペレーティング・システムにより、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定するステップは、
第1の負荷オペレーティング・システムの物理リソース・セットが利用可能なプロセッサ・コアを含むとき、管理オペレーティング・システムにより、利用可能なプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定するステップを含む。
【0010】
第1の態様の第3の可能な実現方式を参照して、第1の態様の第4の可能な実現方式において、管理オペレーティング・システムにより、利用可能なプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定するステップの後に、本方法は、
管理オペレーティング・システムにより、第1の負荷オペレーティング・システムについて、スタートアップ・プロセッサ・コアにおいてデーモンを予め設定し、デーモン内に、第1の負荷オペレーティング・システムのブートイメージの、物理メモリ・アドレス内の位置を予め設定するステップをさらに含み、
管理オペレーティング・システムにより、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定するステップは、
管理オペレーティング・システムにより、第1の負荷オペレーティング・システムについて、デーモン内に、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定するステップを含む。
【0011】
第1の態様の第4の可能な実現方式を参照して、第1の態様の第5の可能な実現方式において、管理オペレーティング・システムにより、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求され、管理オペレーティング・システムによって予め構築されたマッピング関係を読み出すようにスタートアップ・プロセッサ・コアに命令するステップと、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令するステップとは、
管理オペレーティング・システムにより、スタートアップ・プロセッサ・コアにおいて動作しているデーモンにコア間割り込みメッセージを送信するステップであって、コア間割り込みメッセージは、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係をデーモンから読み出すようにスタートアップ・プロセッサ・コアに命令し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の、管理オペレーティング・システムによってデーモン内に予め設定された位置は、第1の負荷オペレーティング・システムのブートイメージを実行するように、物理メモリ・アドレス内の、ブートイメージが配置された位置にジャンプするようにスタートアップ・プロセッサ・コアに命令する、ステップを含む。
【0012】
第1の態様、または第1の態様の第1から第5の可能な実現方式のいずれかの可能な実現方式を参照して、第1の態様の第6の可能な実現方式において、管理オペレーティング・システムにより、各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを各々の負荷オペレーティング・システムに割り当てることは、
管理オペレーティング・システムにより、負荷オペレーティング・システムの数量に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて1回目の区分を行って、複数の物理リソース・セットを取得することであって、物理リソース・セットの数量は負荷オペレーティング・システムの数量に等しい、前記取得することと、管理オペレーティング・システムにより、各々の負荷オペレーティング・システムと各々の物理リソース・セットの間の対応を決定することと、
管理オペレーティング・システムにより、対応に従って、各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを各々の負荷オペレーティング・システムに割り当てることと、を含む。
【0013】
第1の態様の第6の可能な実現方式を参照して、第1の態様の第7の可能な実現方式において、各々の物理リソース・セットはホスト・マシンのいくつかの外部デバイスをさらに含み、
スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられた外部デバイスの識別子、および、外部デバイスに対応するデバイス記述情報テーブルをさらに含む。
【0014】
第1の態様の第7の可能な実現方式を参照して、第1の態様の第8の可能な実現方式において、管理オペレーティング・システムにより、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令するステップの後に、本方法は、
管理オペレーティング・システムにより、第1の負荷オペレーティング・システムの動作を監視するステップと、
第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第1の予め設定された閾値より小さいとき、物理リソースが第1の負荷オペレーティング・システムについて減少される必要があると決定し、減少される必要がある物理リソースのタイプ識別子を決定するステップであって、物理リソースのタイプ識別子は、物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される、ステップと、
管理オペレーティング・システムにより、減少される必要がある物理リソースのタイプ識別子に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて2回目の区分を行い、第1の負荷オペレーティング・システムの物理リソースを減少させるステップであって、減少された物理リソースは減少される必要がある物理リソースのタイプ識別子に対応する物理リソースである、ステップと、をさらに含む。
【0015】
第1の態様の第7の可能な実現方式を参照して、第1の態様の第9の可能な実現方式において、管理オペレーティング・システムにより、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令するステップの後に、本方法は、
管理オペレーティング・システムにより、第1の負荷オペレーティング・システムの動作を監視するステップと、
第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第2の予め設定された閾値より大きいとき、物理リソースが第1の負荷オペレーティング・システムについて追加される必要があると決定し、追加される必要がある物理リソースのタイプ識別子を決定するステップであって、物理リソースのタイプ識別子は、追加される必要がある物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される、ステップと、
管理オペレーティング・システムにより、追加される必要がある物理リソースのタイプ識別子に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて2回目の区分を行い、第1の負荷オペレーティング・システムの物理リソースを追加するステップであって、追加された物理リソースは、追加される必要がある物理リソースのタイプ識別子に対応する物理リソースである、ステップと、をさらに含む。
【0016】
第2の態様によれば、本発明の実施例は、リソース処理方法を提供し、ここで本方法はマルチ
カーネル・オペレーティング・システムに適用され、マルチ
カーネル・オペレーティング・システムは、ホスト・マシンにおいて動作する、管理オペレーティング・システムおよび複数の負荷オペレーティング・システムを含むとともに、物理リソース・プールを含み、物理リソース・プールは、ホスト・マシンの、プロセッサ・コアおよび物理メモリを含み、各々の負荷オペレーティング・システムは、管理オペレーティング・システムによって割り当てられた物理リソース・セットを排他的に使用し、各々の物理リソース・セットは、ホスト・マシンのプロセッサ・コアのいくつか、および、ホスト・マシンの物理メモリの一部を含み、管理オペレーティング・システムは、各々の負荷オペレーティング・システムについてブートイメージを予め構築し、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定し、本方法は、
第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにより、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を読み出すステップであって、マッピング関係は、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアが、物理メモリ・アドレスにアクセスすることを可能にするために使用され、第1の負荷オペレーティング・システムは、マルチ
カーネル・オペレーティング・システム内のいずれかの負荷オペレーティング・システムである、ステップと、
第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにより、管理オペレーティング・システムによって設定された、ブートイメージ・ジャンプを実行するための命令に従って、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプし、マッピング関係に従って、第1の負荷オペレーティング・システムに対応するブートイメージを実行するステップと、
第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにより、第1の負荷オペレーティング・システムのブートイメージを実行するプロセスにおいて、第1の負荷オペレーティング・システムのブートイメージから第1の負荷オペレーティング・システムのスタートアップ・パラメータを獲得するステップであって、スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む、ステップと、
第1の負荷オペレーティング・システムにより、プロセッサ・コアの識別子および第1の負荷オペレーティング・システムの物理メモリ・アドレスの識別子に従って、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定するステップと、を含む。
【0017】
第2の態様を参照して、第2の態様の第1の可能な実現方式において、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにより、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を読み出すステップは、
第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにより、管理オペレーティング・システムによって送信されたコア間割り込みメッセージを受信するステップであって、スタートアップ・プロセッサ・コアは、コア間割り込みメッセージの命令に従って、スタートアップ・プロセッサ・コアを初期化するように構成された、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行する、ステップと、
第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにより、初期化プログラムを実行し、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係を初期化プログラムから読み出すステップと、を含み、
第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにより、管理オペレーティング・システムによって設定された、ブートイメージ・ジャンプを実行するための命令に従って、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプすることは、
第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにより、初期化プログラムを実行し、管理オペレーティング・システムによって初期化プログラム内に予め設定されたジャンプ命令を初期化プログラムから読み出し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプすることを含む。
【0018】
第2の態様を参照して、第2の態様の第2の可能な実現方式において、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、スタートアップされた、管理オペレーティング・システムによって決定されたプロセッサ・コアであり、デーモンは、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにおいて動作し、デーモンは、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め設定され、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置、および、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係は、デーモン内に設定され、
第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにより、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を読み出すステップは、
第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにおいて動作しているデーモンにより、管理オペレーティング・システムによって送信されたコア間割り込みメッセージを受信し、スタートアップ・プロセッサ・コアにより、コア間割り込みメッセージの命令に従って、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係をデーモンから読み出すステップを含み、
第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにより、管理オペレーティング・システムによって設定された、ブートイメージ・ジャンプを実行するための命令に従って、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプすることは、
第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにより、管理オペレーティング・システムによってデーモン内に予め設定されたジャンプ命令を読み出し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプすることを含む。
【0019】
第2の態様、または第2の態様の第1または第2の可能な実現方式を参照して、第2の態様の第3の可能な実現方式において、各々の物理リソース・セットはホスト・マシンのいくつかの外部デバイスをさらに含み、
スタートアップ・パラメータは、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられた外部デバイスの識別子、および、外部デバイスに対応するデバイス記述情報テーブルをさらに含む。
【0020】
第3の態様によれば、本発明の実施例は、管理オペレーティング・システムを提供し、ここで管理オペレーティング・システムは、マルチ
カーネル・オペレーティング・システムに適用され、マルチ
カーネル・オペレーティング・システムは、ホスト・マシンにおいて動作する、管理オペレーティング・システムおよび複数の負荷オペレーティング・システムを含むとともに、物理リソース・プールを含み、物理リソース・プールは、ホスト・マシンの、プロセッサ・コアおよび物理メモリを含み、管理オペレーティング・システムは、
各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを各々の負荷オペレーティング・システムに割り当てるように構成されたリソース割り当てモジュールであって、各々の物理リソース・セットは、ホスト・マシンのプロセッサ・コアのいくつか、および、ホスト・マシンの物理メモリの一部を含む、リソース割り当てモジュールと、
各々の負荷オペレーティング・システムについて、ブートイメージを構築し、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定するように構成されたマッピング関係設定モジュールと、
第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定するように構成されたスタートアップ・プロセッサ・コア決定モジュールであって、第1の負荷オペレーティング・システムは負荷オペレーティング・システムのいずれか1つである、スタートアップ・プロセッサ・コア決定モジュールと、
ブートイメージを実行するプロセスにおいて、マッピング関係に従って、スタートアップ・プロセッサ・コアが物理メモリ・アドレスにアクセスすることを可能にするように、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求され、マッピング関係設定モジュールによって予め構築されたマッピング関係を読み出すようにスタートアップ・プロセッサ・コアに命令し、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令するように構成された命令モジュールであって、ブートイメージは第1の負荷オペレーティング・システムのスタートアップ・パラメータを含み、スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む、命令モジュールと、を含む。
【0021】
第3の態様を参照して、第3の態様の第1の可能な実現方式において、命令モジュールは、具体的には、
スタートアップ・プロセッサ・コアにコア間割り込みメッセージを送信するように構成され、ここでコア間割り込みメッセージは、スタートアップ・プロセッサ・コアを初期化するように構成された、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するようにスタートアップ・プロセッサ・コアに命令し、
命令モジュールは、具体的には、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するようにスタートアップ・プロセッサ・コアに命令することによって、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を初期化プログラムから読み出すようにスタートアップ・プロセッサ・コアに命令し、第1の負荷オペレーティング・システムのブートイメージを実行するように、初期化プログラムの動作が終了した後に、ブートイメージの、物理メモリ内の位置にジャンプするようにスタートアップ・プロセッサ・コアに命令するように構成される。
【0022】
第3の態様の第1の可能な実現方式を参照して、第3の態様の第2の可能な実現方式において、管理オペレーティング・システムは、
マッピング関係設定モジュールが、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定する前に、第1の負荷オペレーティング・システムについて、第1の負荷オペレーティング・システムを初期化するように構成された初期化プログラムを予め設定し、初期化プログラム内に、第1の負荷オペレーティング・システムのブートイメージの、物理メモリ・アドレス内の位置を予め設定するように構成された初期化プログラム構成モジュールをさらに含み、
マッピング関係設定モジュールは、具体的には、初期化プログラム内に、第1の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定するように構成される。
【0023】
第3の態様を参照して、第3の態様の第3の可能な実現方式において、管理オペレーティング・システムは、
スタートアップ・プロセッサ・コア決定モジュールが、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定する前に、第2の負荷オペレーティング・システムの利用可能なプロセッサ・コアを獲得するように構成された利用可能プロセッサ・コア獲得モジュールであって、第2の負荷オペレーティング・システムは、複数の負荷オペレーティング・システムの中で、第1の負荷オペレーティング・システム以外のログアウトされた負荷オペレーティング・システムであり、利用可能なプロセッサ・コアはスタートアップされたプロセッサ・コアを含み、第1の負荷オペレーティング・システムの物理リソース・セットは利用可能なプロセッサ・コアを含む、利用可能プロセッサ・コア獲得モジュールをさらに含み、
スタートアップ・プロセッサ・コア決定モジュールは、具体的には、第1の負荷オペレーティング・システムの物理リソース・セットが利用可能なプロセッサ・コアを含むとき、利用可能なプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定するように構成される。
【0024】
第3の態様の第3の可能な実現方式を参照して、第3の態様の第4の可能な実現方式において、管理オペレーティング・システムは、
スタートアップ・プロセッサ・コア決定モジュールが、利用可能なプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定した後に、第1の負荷オペレーティング・システムについて、スタートアップ・プロセッサ・コアにおいてデーモンを予め設定し、デーモン内に、第1の負荷オペレーティング・システムのブートイメージの、物理メモリ・アドレス内の位置を予め設定するように構成されたデーモン構成モジュールをさらに含み、
マッピング関係設定モジュールは、具体的には、第1の負荷オペレーティング・システムについて、デーモン内に、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定するように構成される。
【0025】
第3の態様の第4の可能な実現方式を参照して、第3の態様の第5の可能な実現方式において、命令モジュールは、具体的には、スタートアップ・プロセッサ・コアにおいて動作しているデーモンにコア間割り込みメッセージを送信するように構成され、ここでコア間割り込みメッセージは、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係をデーモンから読み出すようにスタートアップ・プロセッサ・コアに命令し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の、デーモン構成モジュールによってデーモン内に予め設定された位置は、第1の負荷オペレーティング・システムのブートイメージを実行するように、物理メモリ・アドレス内の、ブートイメージが配置された位置にジャンプするようにスタートアップ・プロセッサ・コアに命令する。
【0026】
第3の態様、または第3の態様の第1から第5の可能な実現方式のいずれかの可能な実現方式を参照して、第3の態様の第6の可能な実現方式において、リソース割り当てモジュールは、具体的には、
負荷オペレーティング・システムの数量に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて1回目の区分を行って、複数の物理リソース・セットを取得するように構成され、物理リソース・セットの数量は負荷オペレーティング・システムの数量に等しく、管理オペレーティング・システムは、各々の負荷オペレーティング・システムと各々の物理リソース・セットの間の対応を決定し、
リソース割り当てモジュールは、具体的には、対応に従って、各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを各々の負荷オペレーティング・システムに割り当てるように構成される。
【0027】
第3の態様の第6の可能な実現方式を参照して、第3の態様の第7の可能な実現方式において、各々の物理リソース・セットはホスト・マシンのいくつかの外部デバイスをさらに含み、
スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられた外部デバイスの識別子、および、外部デバイスに対応するデバイス記述情報テーブルをさらに含む。
【0028】
第3の態様の第7の可能な実現方式を参照して、第3の態様の第8の可能な実現方式において、管理オペレーティング・システムは、
命令モジュールが、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令した後に、第1の負荷オペレーティング・システムの動作を監視するように構成された第1の監視モジュールと、
第1の監視モジュールの監視結果が、第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第1の予め設定された閾値より小さいことであるならば、物理リソースが第1の負荷オペレーティング・システムについて減少される必要があると決定し、減少される必要がある物理リソースのタイプ識別子を決定するように構成された第1のリソース管理モジュールであって、物理リソースのタイプ識別子は、物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される、第1のリソース管理モジュールと、をさらに含み、
リソース割り当てモジュールは、減少される必要がある物理リソースのタイプ識別子に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて2回目の区分を行い、第1の負荷オペレーティング・システムの物理リソースを減少させるようにさらに構成され、ここで減少された物理リソースは減少される必要がある物理リソースのタイプ識別子に対応する物理リソースである。
【0029】
第3の態様の第7の可能な実現方式を参照して、第3の態様の第9の可能な実現方式において、管理オペレーティング・システムは、
命令モジュールが、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令した後に、第1の負荷オペレーティング・システムの動作を監視するように構成された第2の監視モジュールと、
第2の監視モジュールの監視結果が、第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第2の予め設定された閾値より大きいことであるならば、物理リソースが第1の負荷オペレーティング・システムについて追加される必要があると決定し、追加される必要がある物理リソースのタイプ識別子を決定するように構成された第2のリソース管理モジュールであって、物理リソースのタイプ識別子は、追加される必要がある物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される、第2のリソース管理モジュールと、をさらに含み、
リソース割り当てモジュールは、追加される必要がある物理リソースのタイプ識別子に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて2回目の区分を行い、第1の負荷オペレーティング・システムの物理リソースを追加するようにさらに構成され、ここで追加された物理リソースは、追加される必要がある物理リソースのタイプ識別子に対応する物理リソースである。
【0030】
第3の態様の第7の可能な実現方式を参照して、第3の態様の第10の可能な実現方式において、管理オペレーティング・システムは、
命令モジュールが、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令した後に、第1の負荷オペレーティング・システムによって送信されたリソース減少要求メッセージを受信するように構成された第1の受信モジュールであって、リソース減少要求メッセージは、減少される必要がある物理リソースのタイプ識別子を含み、物理リソースのタイプ識別子は、物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される、第1の受信モジュールをさらに含み、
リソース割り当てモジュールは、減少される必要がある物理リソースの、リソース減少要求メッセージ内のタイプ識別子に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて2回目の区分を行い、第1の負荷オペレーティング・システムの物理リソースを減少させるようにさらに構成され、ここで減少された物理リソースは減少される必要がある物理リソースのタイプ識別子に対応する物理リソースである。
【0031】
第4の態様によれば、本発明の実施例は、負荷オペレーティング・システムを提供し、ここで負荷オペレーティング・システムはマルチ
カーネル・オペレーティング・システムに適用され、マルチ
カーネル・オペレーティング・システムは、ホスト・マシンにおいて動作する、管理オペレーティング・システムおよび複数の負荷オペレーティング・システムを含むとともに、物理リソース・プールを含み、物理リソース・プールは、ホスト・マシンの、プロセッサ・コアおよび物理メモリを含み、各々の負荷オペレーティング・システムは、管理オペレーティング・システムによって割り当てられた物理リソース・セットを排他的に使用し、各々の物理リソース・セットは、ホスト・マシンのプロセッサ・コアのいくつか、および、ホスト・マシンの物理メモリの一部を含み、管理オペレーティング・システムは、各々の負荷オペレーティング・システムについてブートイメージを予め構築し、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定し、負荷オペレーティング・システムは、
仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を読み出すように構成されたマッピング関係獲得モジュールであって、マッピング関係は、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアが、物理メモリ・アドレスにアクセスすることを可能にするために使用され、第1の負荷オペレーティング・システムはマルチ
カーネル・オペレーティング・システム内のいずれかの負荷オペレーティング・システムである、マッピング関係獲得モジュールと、
管理オペレーティング・システムによって設定された、ブートイメージ・ジャンプを実行するための命令に従って、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプし、マッピング関係に従って、第1の負荷オペレーティング・システムに対応するブートイメージを実行するように構成された命令実行モジュールと、
命令実行モジュールによって第1の負荷オペレーティング・システムのブートイメージを実行するプロセスにおいて、第1の負荷オペレーティング・システムのブートイメージから第1の負荷オペレーティング・システムのスタートアップ・パラメータを獲得するように構成されたスタートアップ・パラメータ獲得モジュールであって、スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む、スタートアップ・パラメータ獲得モジュールと、
プロセッサ・コアの識別子および第1の負荷オペレーティング・システムの物理メモリ・アドレスの識別子に従って、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定するように構成された物理リソース・セット獲得モジュールと、を含む。
【0032】
第4の態様を参照して、第4の態様の第1の可能な実現方式において、マッピング関係獲得モジュールは、具体的には、
管理オペレーティング・システムによって送信されたコア間割り込みメッセージを受信するように構成され、ここでスタートアップ・プロセッサ・コアは、コア間割り込みメッセージの命令に従って、スタートアップ・プロセッサ・コアを初期化するように構成された、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行し、
マッピング関係獲得モジュールは、具体的には、初期化プログラムを実行し、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係を初期化プログラムから読み出すように構成され、
命令実行モジュールは、具体的には、初期化プログラムを実行し、管理オペレーティング・システムによって初期化プログラム内に予め設定されたジャンプ命令を初期化プログラムから読み出し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプするように構成される。
【0033】
第4の態様を参照して、第4の態様の第2の可能な実現方式において、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、スタートアップされた、管理オペレーティング・システムによって決定されたプロセッサ・コアであり、デーモンは、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにおいて動作し、デーモンは、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め設定され、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置、および、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係は、デーモン内に設定され、
マッピング関係獲得モジュールは、具体的には、スタートアップ・プロセッサ・コアにおいて動作しているデーモンが、管理オペレーティング・システムによって送信されたコア間割り込みメッセージを受信した後に、コア間割り込みメッセージの命令に従って、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係をデーモンから読み出すように構成され、
命令実行モジュールは、具体的には、管理オペレーティング・システムによってデーモン内に予め設定されたジャンプ命令を読み出し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプするように構成される。
【0034】
第4の態様、または第4の態様の第1または第2の可能な実現方式を参照して、第4の態様の第3の可能な実現方式において、各々の物理リソース・セットはホスト・マシンのいくつかの外部デバイスをさらに含み、
スタートアップ・パラメータは、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられた外部デバイスの識別子、および、外部デバイスに対応するデバイス記述情報テーブルをさらに含む。
【0035】
第5の態様によれば、本発明の実施例は、
第3の態様において記載されたホスト・マシンにおいて動作している管理オペレーティング・システムと、
第4の態様において記載された複数の負荷オペレーティング・システムと、
物理リソース・プールと、を含むマルチ
カーネル・オペレーティング・システムを提供し、ここで物理リソース・プールは、ホスト・マシンの、プロセッサ・コア、物理メモリ、および外部デバイスを含む。
【0036】
第6の態様によれば、本発明の実施例は、プロセッサおよびメモリを含むホスト・マシンを提供し、ここでメモリは実行命令を記憶し、ホスト・マシンが動作するとき、プロセッサはメモリと通信し、プロセッサは、ホスト・マシンが、第1の態様、または第1の態様の第1から第9の可能な実現方式のいずれかの可能な実現方式に記載されたリソース処理方法を実行することを可能にするように、実行命令を実行する。
【0037】
本発明の実施例は、リソース処理方法、オペレーティング・システムおよびデバイスを提供する。本方法によれば、管理オペレーティング・システムは、各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを各々の負荷オペレーティング・システムに割り当て、各々の負荷オペレーティング・システムについて、ブートイメージを構築し、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定し、管理オペレーティング・システムは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定し、管理オペレーティング・システムは、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を読み出すようにスタートアップ・プロセッサ・コアに命令し、それによってスタートアップ・プロセッサ・コアが、マッピング関係に従って、物理メモリ・アドレスにアクセスすることを可能にし、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令し、ここでブートイメージは第1の負荷オペレーティング・システムのスタートアップ・パラメータを含み、スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含み、管理オペレーティング・システムは、ブートイメージにスタートアップ・パラメータを書き込み、それによってハイパーバイザーの関与を要求せずに、負荷オペレーティング・システムによって排他的に使用される物理リソースを負荷オペレーティング・システムに割り当て、それにより管理オペレーティング・システムによって負荷オペレーティング・システムに物理リソースを割り当てるプロセスを簡単にする。さらに、各々の負荷オペレーティング・システムは、物理リソースを排他的に使用でき、それによって各々の負荷オペレーティング・システムによって排他的に使用される物理リソースについて独立なページ・テーブル、動作クロック、ランタイム環境、等を構築し、それにより負荷オペレーティング・システムの全体の性能を改善する。
【0038】
本発明の実施例における、または先行技術における技術的解決策をより明確に記載するために、下記は、実施例または先行技術を記載するために要求される添付図面を簡単に導入する。明らかに、下記の記載における添付図面は、本発明のいくつかの実施例を表わし、この技術分野の当業者は、創作的な努力なしで、これらの添付図面から他の図面を依然として導き出し得る。
【発明を実施するための形態】
【0040】
本発明の実施例の目的、技術的解決策、および利点をより明確にするために、下記は、本発明の実施例における添付図面を参照して、本発明の実施例における技術的解決策を明確かつ十分に記載する。明らかに、記載された実施例は、本発明の実施例のいくつかであるが、全てではない。創作的な努力なしで本発明の実施例に基づいてこの技術分野の当業者によって得られる他の全ての実施例は、本発明の保護範囲内にあるものである。
【0041】
図1は、本発明によるマルチ
カーネル・オペレーティング・システムのアーキテクチャの概要図である。
図1に表わされているように、この実施例において提供されるマルチ
カーネル・オペレーティング・システムは、ホスト・マシンにおいて動作する、管理オペレーティング・システムおよび複数の負荷オペレーティング・システムを含むとともに、物理リソース・プールを含む。ホスト・マシンは実際の物理的ノードであり、管理オペレーティング・システムは、複数の負荷オペレーティング・システムを管理し、これは、複数の負荷オペレーティング・システムによって排他的に使用される物理リソースを複数の負荷オペレーティング・システムに割り当てること、および負荷オペレーティング・システムのスタートアップおよびログアウトの責任を負うこと、を主に含む。複数の負荷オペレーティング・システムは、スタートアップされていない負荷オペレーティング・システムおよび動作している負荷オペレーティング・システムを含む。詳細には、負荷オペレーティング・システムがスタートアップされた後に、負荷オペレーティング・システムは、管理オペレーティング・システムによって割り当てられた物理リソースを排他的に使用し、物理リソースにアクセスしてもよく、負荷オペレーティング・システムは、ハイパーバイザーからの助けを要求することなく、負荷オペレーティング・システムによって排他的に使用される物理リソースにおいて、独立のページ・テーブル、独立のクロック、独立のランタイム・ライブラリ、等を構築し、負荷オペレーティング・システムは、独立のページ・テーブル、独立のクロック、独立のランタイム・ライブラリ、等を使用し、それによって管理オペレーティング・システムおよび負荷オペレーティング・システムは、アドレス・バス、データ・バス、および制御バスを含むシステムバスを共有する。管理オペレーティング・システムと負荷オペレーティング・システムの間の通信および負荷オペレーティング・システムと他の負荷オペレーティング・システムの間の通信は、内部通信メカニズム(an inter-instance communication module)によって実現される。管理オペレーティング・システムおよび各々の負荷オペレーティング・システムは、独立のページ・テーブルを別個に有し、各々の負荷オペレーティング・システムは、独立の物理リソースを使用し、管理オペレーティング・システムは、管理を行うが、物理リソースにおいて負荷オペレーティング・システムによって行われるアクセス、通信、等に関与しない。物理リソース・プールは、ホスト・マシンの、プロセッサ・コアおよび物理メモリを含み、任意選択で、物理リソース・プールは、ネットワーク・アダプタ・アレイのような外部デバイスをさらに含む。
【0042】
図2は、本発明によるリソース処理方法の実施例1の概要フローチャートである。この実施例の実行主体は、ホスト・マシンにおいて動作する管理オペレーティング・システムであり、ここで管理オペレーティング・システムは、具体的には、
図1における実施例において表わされた管理オペレーティング・システムでもよい。
図2に表わされているように、この実施例において提供されるリソース処理方法は、下記を含む。
【0043】
ステップ201:管理オペレーティング・システムは、各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを各々の負荷オペレーティング・システムに割り当て、各々の負荷オペレーティング・システムについて、ブートイメージを構築し、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定する。
【0044】
各々の物理リソース・セットは、ホスト・マシンのプロセッサ・コアのいくつか、および、ホスト・マシンの物理メモリの一部を含む。
【0045】
ステップ202:管理オペレーティング・システムは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定する。
【0046】
第1の負荷オペレーティング・システムは、負荷オペレーティング・システムのいずれか1つである。
【0047】
ステップ203:管理オペレーティング・システムは、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求され、管理オペレーティング・システムによって予め構築されたマッピング関係を読み出すようにスタートアップ・プロセッサ・コアに命令し、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令する。
【0048】
ブートイメージは、第1の負荷オペレーティング・システムのスタートアップ・パラメータを含み、スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む。
【0049】
この実施例の適用シナリオは、
図1における実施例において表わされたそれでもよく、詳細はこの実施例においてここで繰り返し記載されない。この実施例において、この実施例において提供されるリソース処理方法は、管理オペレーティング・システムを実行主体として使用することによって詳細に記載される。管理オペレーティング・システムは、具体的には、
図1に表わされた管理オペレーティング・システムでもよい。
【0050】
具体的な実現プロセスにおいて、ステップ201において、管理オペレーティング・システムが、各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを各々の負荷オペレーティング・システムに割り当てることは、下記の方式で実現されてもよい。
【0051】
管理オペレーティング・システムは、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースを決定する。具体的には、管理オペレーティング・システムは、リソース・プール内の利用可能な物理リソースのリストを維持し、ここで物理リソース・プール内の全ての利用可能な物理リソースの識別子は、リスト内に記録される。利用可能な物理リソースは、管理オペレーティング・システムまたは負荷オペレーティング・システムによって現在使用されていない物理リソースである。管理オペレーティング・システムは、負荷オペレーティング・システムの数量に従って、物理リソース・プール内の利用可能な物理リソースにおいて1回目の区分を行って、複数の物理リソース・セットを取得し、ここで物理リソース・セットの数量は負荷オペレーティング・システムの数量に等しく、管理オペレーティング・システムは、各々の負荷オペレーティング・システムと各々の物理リソース・セットの間の対応を決定し、各々の負荷オペレーティング・システムに、対応に従って、各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを割り当てる。各々の物理リソース・セットは、ホスト・マシンのプロセッサ・コアのいくつか、および、ホスト・マシンの物理メモリの一部を含む。
【0052】
任意選択で、管理オペレーティング・システムは、負荷オペレーティング・システムによって排他的に使用される外部デバイスを負荷オペレーティング・システムにさらに割り当ててもよく、物理リソース・セットは、ホスト・マシンの外部デバイスをさらに含む。外部デバイスは、ネットワーク・アダプタまたは磁気ディスク、等でもよい。
【0053】
具体的な実施例が例として使用される。依然として
図1を参照されたい。
図1において、物理リソース・プール内の黒い領域は使用されている物理リソースであり、黒い領域以外の物理リソースは利用可能な物理リソースである。2つの負荷オペレーティング・システムが存在し、これらは第1の負荷オペレーティング・システムおよび第2の負荷オペレーティング・システムと呼ばれる。管理オペレーティング・システムは、利用可能な物理リソースにおいて1回目の区分を行い、2つの物理リソース・セットを取得する。具体的な実現プロセスにおいて、管理オペレーティング・システムは、物理リソースにおいて物理的区分を行い、区分は下記の方式で行われてもよい。
【0054】
プロセッサ・コア:プロセッサ・コアは、区分のための最小機能単位として使用され、またはプロセッサは単位として使用されてもよい。異種のプラットフォームについて、異種のプロセッサ・コアおよびコプロセッサ・コアは、また、大域的なコンピューティング・リソースとして分類されてもよい。
【0055】
物理メモリ:物理メモリの連続したまたは不連続なセグメントは、区分のための単位として使用され、メモリ・ブロックの具体的なサイズは、信号ブロックのサイズまたは複合ブロックのサイズでもよい。
【0056】
外部デバイスに関して、区分は、主に、下記の方式で行われてもよい。
【0057】
ネットワーク:物理ネットワーク・アダプタは区分のための単位として使用される。物理ネットワーク・アダプタが十分でないとき、マルチアレイ機能を有し、またはサーバ仮想化(例えば、Single-Root I/O Virtualization、略してSR-IOV)をサポートする物理ネットワーク・アダプタが使用され、アレイまたは仮想機能(Virtual Function、略してVF)に従って区分される。物理ネットワーク・アダプタもネットワーク・アダプタの独立の物理的機能も十分でないときのみ、ネットワーク・アダプタのフロントおよびバック・エンドを仮想化する方式で、物理ネットワーク・アダプタを共有し、オペレーティング・システム・インスタンスについて複数の仮想ネットワーク・アダプタを提供することが考慮されてもよい。
【0058】
磁気ディスク:物理的磁気ディスクは区分のための単位として使用される。物理的磁気ディスクが十分でないとき、将来においてSR-IOV技術をサポートし得る磁気ディスクは、ディスク仮想化機能を使用することによって区分されてもよい。単一の物理的磁気ディスクは、磁気ディスクを論理的に仕切る方式で共有され、最終的に、ネットワーク・ファイル・システム(Network File System、略してNFS)およびランダム・アクセス・メモリ・ディスク(RAM)のような技術が、従来のディスク・ファイル・システムの機能を置換するために使用されてもよい。
【0059】
端末:端末デバイス(モニタまたはキーボード)、シリアル・ポート、等の使用は、リソースを消費しないので、システム性能が影響されないという前提で、シリアル・ポートおよび端末のような複数のセットのデバイス・リソースは、上位レイヤの必要性を満たすために、ハードウェア抽象化レイヤ仮想化方式で、仮想化によって取得されてもよい。
【0060】
リソース区分に関して、この実施例において、プロセッサ・コアおよび物理メモリは物理空間において区分され、物理的単位区分方式は周辺装置においても使用されるが、物理的区分が不適切であるとき時分割多重化が行われる代わりの解決策もサポートされることが保証される。
【0061】
管理オペレーティング・システムは、第1の負荷オペレーティング・システムにおいて動作しているオペレーティング・システム・インスタンスおよび第2の負荷オペレーティング・システムにおいて動作しているオペレーティング・システム・インスタンスのタイプに従って、物理リソース・セットおよび負荷オペレーティング・システムの間の対応を構築する。管理オペレーティング・システムが、第1の負荷オペレーティング・システムにおいて動作しているオペレーティング・システム・インスタンスのタイプに従って、より多くの物理リソースを必要とするとき、管理オペレーティング・システムは、影付きの領域に対応する物理リソースを第1の負荷オペレーティング・システムに割り当て、これに対応して、管理オペレーティング・システムは、白い領域に対応する物理リソースを第2の負荷オペレーティング・システムに割り当てる。
【0062】
管理オペレーティング・システムが、各々の負荷オペレーティング・システムによって排他的に使用される物理リソースを各々の負荷オペレーティング・システムに割り当てた後に、管理オペレーティング・システムは、各々の負荷オペレーティング・システムについて、各々の負荷オペレーティング・システムをスタートアップさせるために使用されるブートイメージを予め構築する。ブートイメージは、負荷オペレーティング・システムの動作のために要求されるハードウェアおよびコア・データ構造が構成されていない、または十分に準備されていないとき、負荷オペレーティング・システムについて、コア動作のために要求されるハードウェアを構成し、コア動作のために要求されるデータ構造を構築するプログラムを指す。ブートイメージは、具体的には、スタートアップ・プロセッサ・コアがスタートアップ・プロセッサ・コアの状態を更新できるように、プログラムの方式で実現され、ここでハードウェアおよびコア・データ構造が準備された後に、負荷オペレーティング・システムについて構成され、各々のコア・サービスをスタートアップさせ、各々のコア・モジュールをロードし、それによって最終的に、負荷オペレーティング・システムをスタートアップさせるプログラムである。
【0063】
さらに、管理オペレーティング・システムは、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、各々の負荷オペレーティング・システムのそれぞれのブートイメージを実行するために要求されるマッピング関係をさらに設定する。この技術分野の当業者は、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、この実施例において関与するマッピング関係は、具体的には、ブートイメージに対応する仮想メモリ・アドレス内の仮想メモリ・アドレスから物理メモリ・アドレスへのマッピング関係を指し、管理オペレーティング・システムは、ページ・テーブルの方式でマッピング関係を実現してもよいことを理解できる。
【0064】
具体的な実現プロセスにおいて、負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、まず、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、負荷オペレーティング・システムについて管理オペレーティング・システムによって設定されるマッピング関係を獲得し、負荷オペレーティング・システムは、マッピング関係に従って、物理メモリ・アドレスに直接にアクセスしてよく、アドレス変換を行う必要がない。負荷オペレーティング・システムのブートイメージがスタートアップされた後に、ブートイメージは負荷オペレーティング・システムをスタートアップさせるように構成される。動作プロセスにおいて、ブートイメージは、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージに対応するマッピング関係に従って、物理メモリ・アドレスに直接にアクセスする。この技術分野の当業者は、管理オペレーティング・システムが、ブートイメージについて、仮想メモリ・アドレスから物理メモリ・アドレスへのいくつかのマッピング関係を設定してもよく、またはブートイメージについて、仮想メモリ・アドレスから物理メモリ・アドレスへの全てのマッピング関係を設定してもよいことを理解できる。管理オペレーティング・システムが、ブートイメージについて、仮想メモリ・アドレスから物理メモリ・アドレスへのいくつかのマッピング関係を設定するとき、および負荷オペレーティング・システムに割り当てられたスタートアップ・プロセッサ・コアがブートイメージのスタートアップを実行するプロセスにあるとき、スタートアップ・プロセッサ・コアは、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求される全てのマッピング関係を設定してもよい。負荷オペレーティング・システムがスタートアップされた後に、負荷オペレーティング・システムは、仮想メモリ・アドレスから物理メモリ・アドレスへの、負荷オペレーティング・システムを実行するために要求される全てのマッピング関係を設定する。
【0065】
ステップ202において、管理オペレーティング・システムが、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、スタートアップ・プロセッサ・コアを決定することは、次の可能な実現方式を含む:管理オペレーティング・システムが、予め設定されたポリシーに従って、スタートアップ・プロセッサ・コアを決定する、管理オペレーティング・システムが、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、1つのプロセッサ・コアをスタートアップ・プロセッサ・コアとしてランダムに選択する、管理オペレーティング・システムが、ユーザ命令を獲得し、ユーザ命令に従ってスタートアップ・プロセッサ・コアを決定する。この実施例は、管理オペレーティング・システムによりスタートアップ・プロセッサ・コアを決定する具体的な実現プロセスに特別な制限を課さない。
【0066】
ステップ203において、管理オペレーティング・システムは、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を読み出すように、スタートアップ・プロセッサ・コアに命令する。
【0067】
具体的には、スタートアップ・プロセッサ・コアは、マッピング関係を読み出すことによって物理メモリ・アドレスに直接にアクセスしてもよく、アドレス変換プロセスを行う必要がない。
【0068】
さらに、ステップ203において、管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアにさらに命令する。ブートイメージは、第1の負荷オペレーティング・システムのスタートアップ・パラメータを含むので、スタートアップ・プロセッサ・コアは、ブートイメージを実行するプロセスにおいて、ブートイメージからスタートアップ・パラメータを読み出し、ここでスタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含み、それによって第1の負荷オペレーティング・システムは、スタートアップ・パラメータに従って、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられた物理リソース・セットを獲得する。ブートイメージの動作は、負荷オペレーティング・システムをスタートアップさせるためである。ブートイメージの動作は、第1の負荷オペレーティング・システムのスタートアップ・プロセスに等しい。
【0069】
任意選択で、物理リソース・セットがホスト・マシンのいくつかの外部デバイスを含むとき、スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられた外部デバイスの識別子、および、外部デバイスに対応するデバイス記述情報テーブルをさらに含む。デバイス記述情報テーブルは、外部デバイスの構成情報、例えば、外部アドレスの物理メモリ・アドレスの構成、および仮想メモリ・アドレスから物理メモリ・アドレスへのマッピング関係を含む。この実施例は、デバイス記述情報テーブルに含まれる具体的な内容に特別な制限を課さない。
【0070】
この実施例において提供されるリソース処理方法によれば、管理オペレーティング・システムは、各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを各々の負荷オペレーティング・システムに割り当て、各々の負荷オペレーティング・システムについて、ブートイメージを構築し、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定し、管理オペレーティング・システムは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定し、管理オペレーティング・システムは、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を読み出すようにスタートアップ・プロセッサ・コアに命令し、それによってスタートアップ・プロセッサ・コアが、マッピング関係に従って、物理メモリ・アドレスにアクセスすることを可能にし、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令し、ここでブートイメージは第1の負荷オペレーティング・システムのスタートアップ・パラメータを含み、スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含み、管理オペレーティング・システムは、ブートイメージにスタートアップ・パラメータを書き込み、それによってハイパーバイザーの関与を要求せずに、負荷オペレーティング・システムによって排他的に使用される物理リソースを負荷オペレーティング・システムに割り当て、それにより管理オペレーティング・システムによって負荷オペレーティング・システムに物理リソースを割り当てるプロセスを簡単にする。さらに、各々の負荷オペレーティング・システムは、物理リソースを排他的に使用でき、それによって各々の負荷オペレーティング・システムによって排他的に使用される物理リソースについて独立なページ・テーブル、クロック、ランタイム環境、等を構築し、それにより負荷オペレーティング・システムの全体の性能を改善する。
【0071】
下記は、いくつかの具体的な実施例を使用して、
図2に表わされた方法の実施例の技術的解決策を詳細に記載する。
【0072】
具体的な実施例は、
図3に表わされたそれであり得る。
図3は、本発明によるリソース処理方法の実施例2の概要フローチャートである。
図3に表わされているように、本発明のこの実施例において提供されるリソース処理方法は、下記を含む。
【0073】
ステップ301:管理オペレーティング・システムは、各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを各々の負荷オペレーティング・システムに割り当て、各々の負荷オペレーティング・システムについて、ブートイメージを構築する。
【0074】
各々の物理リソース・セットは、ホスト・マシンのプロセッサ・コアのいくつか、および、ホスト・マシンの物理メモリの一部を含む。
【0075】
ステップ302:管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて、第1の負荷オペレーティング・システムを初期化するように構成された初期化プログラムを予め設定し、初期化プログラム内に、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置を予め設定する。
【0076】
ステップ303:管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて、初期化プログラム内に、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定する。
【0077】
ステップ304:管理オペレーティング・システムは、スタートアップ・プロセッサ・コアにコア間割り込みメッセージを送信する。
【0078】
コア間割り込みメッセージは、スタートアップ・プロセッサ・コアを初期化するように構成された、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するようにスタートアップ・プロセッサ・コアに命令する。
【0079】
ステップ305:管理オペレーティング・システムは、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するようにスタートアップ・プロセッサ・コアに命令することによって、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を初期化プログラムから読み出すようにスタートアップ・プロセッサ・コアに命令し、初期化プログラムの動作が終了した後に、ブートイメージの、物理メモリ内の位置にジャンプするようにスタートアップ・プロセッサ・コアに命令し、それによって第1の負荷オペレーティング・システムのブートイメージを実行する。
【0080】
ブートイメージは、第1の負荷オペレーティング・システムのスタートアップ・パラメータを含み、スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む。
【0081】
ステップ301において、管理オペレーティング・システムが、各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを各々の負荷オペレーティング・システムに割り当て、各々の負荷オペレーティング・システムについてブートイメージを構築するプロセスは、ステップ201におけるそれに類似し、詳細はこの実施例においてここで繰り返し記載されない。
【0082】
ステップ302において、管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて、第1の負荷オペレーティング・システムを初期化するように構成された初期化プログラムを予め設定し、初期化プログラム内に、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置を予め設定する。
【0083】
この技術分野の当業者は、管理オペレーティング・システムが、各々の負荷オペレーティング・システムについて、各々の負荷オペレーティング・システムに対応する初期化プログラムを予め設定し、初期化プログラム内に、各々の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置を予め設定することを理解できる。この技術分野の当業者は、各々の負荷オペレーティング・システムに対応するブートイメージの、仮想メモリ・アドレス内の位置も初期化プログラム内に予め設定されてもよく、スタートアップ・プロセッサ・コアは、仮想メモリ・アドレスから物理メモリ・アドレスへのマッピング関係に従って、物理メモリ・アドレス内の、ブートイメージが配置される位置を獲得してもよいことを理解できる。
【0084】
ステップ303において、管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて、初期化プログラム内に、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定する。
【0085】
ステップ304において、管理オペレーティング・システムは、スタートアップ・プロセッサ・コアにコア間割り込みメッセージを送信し、ここでコア間割り込みメッセージは、スタートアップ・プロセッサ・コアを初期化するように構成された、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するようにスタートアップ・プロセッサ・コアに命令する。
【0086】
値は、コア間割り込みメッセージによって伝送され、割り込みベクタと呼ばれてもよく、コア間割り込みメッセージに対応する値および値に対応する実行プロセスの両方は、管理オペレーティング・システムおよび第1の負荷オペレーティング・システムによって前もって合意されることを、この技術分野の当業者は理解できる。管理オペレーティング・システムがスタートアップ・プロセッサ・コアにコア間割り込みメッセージを送信するとき、コア間割り込みメッセージは、スタートアップ・プロセッサ・コアを初期化するように構成された、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するようにスタートアップ・プロセッサ・コアに命令する。
【0087】
コア間割り込みメッセージを受信した後に、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、予め設定された固定された物理メモリ内の初期化プログラムを探索し、初期化プログラムを実行し、スタートアップ・プロセッサ・コアの初期化を完了し、ここでスタートアップ・プロセッサ・コアの初期化はスタートアップ・プロセッサ・コアのスタートアップ・プロセスである。初期化プログラムの動作プロセスにおいて、スタートアップ・プロセッサ・コアは、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め設定された位置を動作している初期化プログラムから読み出し、それによってブートイメージをスタートアップさせる。
【0088】
ステップ305において、管理オペレーティング・システムは、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するようにスタートアップ・プロセッサ・コアに命令し、初期化プログラムを実行するプロセスにおいて、スタートアップ・プロセッサ・コアは、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を読み出す。
【0089】
管理オペレーティング・システムが、初期化プログラムの動作が終了した後に、物理メモリ内の、ブートイメージが配置された位置にジャンプするようにスタートアップ・プロセッサ・コアに命令し、それによって第1の負荷オペレーティング・システムのブートイメージを実行することは、下記の方式で実現される。
【0090】
初期化プログラムの最後の命令は、ブートイメージにジャンプするようにスタートアップ・プロセッサ・コアに命令するために使用される。初期化プログラムの最後の命令を動作させるとき、スタートアップ・プロセッサ・コアは、ブートイメージにジャンプしてブートイメージを実行し、ここでブートイメージは、第1の負荷オペレーティング・システムのスタートアップ・パラメータを含み、スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む。
【0091】
第1の負荷オペレーティング・システムは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子に従って、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定する。
【0092】
この実施例において提供されるリソース処理方法によれば、管理オペレーティング・システムは、負荷オペレーティング・システムについて初期化プログラムを予め構築し、初期化プログラム内に、負荷オペレーティング・システムについて、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置を予め設定し、初期化プログラム内に、第1の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を予め設定し、負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、初期化プログラムを実行し、ブートイメージからスタートアップ・パラメータを読み出し、スタートアップ・パラメータに従って物理リソース・セットを獲得し、負荷オペレーティング・システムのスタートアップ・プロセスを完了する。管理オペレーティング・システムは、ハイパーバイザーの関与を要求せずに、負荷オペレーティング・システムによって排他的に使用される物理リソースを負荷オペレーティング・システムに割り当て、それにより管理オペレーティング・システムによって負荷オペレーティング・システムに物理リソースを割り当てるプロセスを簡単にし、さらに、各々の負荷オペレーティング・システムは物理リソースを排他的に使用でき、それにより負荷オペレーティング・システムの全体の性能を改善する。
【0093】
他の具体的な実施例は、
図4に表わされたそれであり得る。
図4は、本発明によるリソース処理方法の実施例3の概要フローチャートである。
図4に表わされているように、本発明のこの実施例において提供されるリソース処理方法は、下記を含む。
【0094】
ステップ401:管理オペレーティング・システムは、第2の負荷オペレーティング・システムの利用可能なプロセッサ・コアを獲得する。
【0095】
第2の負荷オペレーティング・システムは、複数の負荷オペレーティング・システムの中で、第1の負荷オペレーティング・システム以外のログアウトされた負荷オペレーティング・システムであり、利用可能なプロセッサ・コアはスタートアップされたプロセッサ・コアを含み、第1の負荷オペレーティング・システムの物理リソース・セットは利用可能なプロセッサ・コアを含む。
【0096】
ステップ402:第1の負荷オペレーティング・システムの物理リソース・セットが利用可能なプロセッサ・コアを含むとき、管理オペレーティング・システムは、利用可能なプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定する。
【0097】
ステップ403:管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて、スタートアップ・プロセッサ・コアにおいてデーモンを予め設定し、デーモン内に、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置を予め設定する。
【0098】
ステップ404:管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて、デーモン内に、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定する。
【0099】
ステップ405:管理オペレーティング・システムは、スタートアップ・プロセッサ・コアにおいて動作しているデーモンにコア間割り込みメッセージを送信し、ここで第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の、管理オペレーティング・システムによってデーモン内に予め設定された位置は、物理メモリ・アドレス内の、ブートイメージが配置された位置にジャンプするようにスタートアップ・プロセッサ・コアに命令し、それによって第1の負荷オペレーティング・システムのブートイメージを実行する。
【0100】
コア間割り込みメッセージは、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係をデーモンから読み出すようにスタートアップ・プロセッサ・コアに命令する。
【0101】
ステップ401において、管理オペレーティング・システムが、第2の負荷オペレーティング・システムの利用可能なプロセッサ・コアを獲得することは、次の可能な実現方式を含んでもよい:管理オペレーティング・システムは、第2の負荷オペレーティング・システムの動作プロセスにおいて第2の負荷オペレーティング・システムを強制的にログアウトさせる、第2の負荷オペレーティング・システムの動作が終了した後に、管理オペレーティング・システムは、第2の負荷オペレーティング・システムをログアウトさせる、動作が終了した後に、第2の負荷オペレーティング・システムは自動的にログアウトする。第2の負荷オペレーティング・システムがログアウトした後に、管理オペレーティング・システムは、第2の負荷オペレーティング・システムの利用可能なプロセッサ・コアを獲得し、ここで利用可能なプロセッサ・コアは第2の負荷オペレーティング・システムのスタートアップ・プロセッサ・コア、および、他のアプリケーション・プログラムを動作させる他のプロセッサ・コアを含む。
【0102】
この技術分野の当業者は、第1の負荷オペレーティング・システムの物理リソース・セットは、利用可能なプロセッサ・コアを含んでもよく、または利用可能なプロセッサ・コアを含まなくてもよいことを理解できる。
【0103】
詳細には、この実施例において、第2の負荷オペレーティング・システムはログアウトさせられるが、第2の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは初期化プログラムを動作させており、管理オペレーティング・システムは、第2の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアを、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアとして使用してもよい。第2の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアが第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアとして振る舞うとき、初期化プロセスを完了するために、再度、初期化プログラムを動作させることは要求されないが、利用可能なプロセッサ・コアのうちの、他のアプリケーション・プログラムを動作させるプロセッサ・コアがスタートアップ・プロセッサ・コアとして振る舞うとき、初期化を完了するために初期化プログラムを動作させることが依然として要求される。
【0104】
ステップ402において、第1の負荷オペレーティング・システムの物理リソース・セットが利用可能なプロセッサ・コアを含むとき、管理オペレーティング・システムは、利用可能なプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定する。
【0105】
この技術分野の当業者は、第1の負荷オペレーティング・システムの物理リソース・セットが利用可能なプロセッサ・コアを含むとき、管理オペレーティング・システムは、利用可能なプロセッサ・コアの中で、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアを決定してもよく、または物理リソース・セットの中の他のプロセッサ・コアの中で、スタートアップ・プロセッサ・コアを決定してもよいことを理解できる。
【0106】
管理オペレーティング・システムが、利用可能なプロセッサ・コアの中で、スタートアップ・プロセッサ・コアを決定するとき、次の方式が実現のために使用されてもよい:管理オペレーティング・システムは、予め設定されたポリシーに従って、利用可能なプロセッサ・コアの中で、スタートアップ・プロセッサ・コアを決定する、管理オペレーティング・システムは、利用可能なプロセッサ・コアから、1つのプロセッサ・コアをスタートアップ・プロセッサ・コアとしてランダムに選択する、管理オペレーティング・システムは、ユーザ命令を獲得し、ユーザ命令に従って、利用可能なプロセッサ・コアの中で、スタートアップ・プロセッサ・コアを決定する。
【0107】
ステップ403において、管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて、スタートアップ・プロセッサ・コアにおいてデーモンを設定し、設定が完了した後に、デーモンはスタートアップされたスタートアップ・プロセッサ・コアにおいて、常時、動作し、管理オペレーティング・システムによって送信される各種のシステム・コマンドを待つ。デーモンは第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め設定される。管理オペレーティング・システムは、デーモン内に、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置をさらに予め設定する。
【0108】
さらに、ステップ404において、管理オペレーティング・システムは、デーモン内に、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を予め設定する。
【0109】
ステップ405において、管理オペレーティング・システムは、スタートアップ・プロセッサ・コアにおいて動作しているデーモンにコア間割り込みメッセージを送信し、コア間割り込みメッセージに対応する命令は、管理オペレーティング・システムおよび第1の負荷オペレーティング・システムによって前もって合意される。スタートアップ・プロセッサ・コアにおいて動作しているデーモンが、管理オペレーティング・システムによって送信されたコア間割り込みメッセージを受信した後に、スタートアップ・プロセッサ・コアは、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求される、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係をデーモンから読み出し、スタートアップ・プロセッサ・コアによってブートイメージを実行するプロセスにおいて、スタートアップ・プロセッサ・コアはマッピング関係に従って物理メモリ・アドレスにアクセスする。
【0110】
管理オペレーティング・システムは、物理メモリ・アドレス内の、ブートイメージが配置された位置にジャンプするようにスタートアップ・プロセッサ・コアに命令し、それによって第1の負荷オペレーティング・システムのブートイメージを実行し、ここでジャンプ・コマンドはデーモン内に設定され、それによってスタートアップ・プロセッサ・コアは、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置をデーモンから獲得し、物理メモリ・アドレス内の、ブートイメージが配置された位置にジャンプし、それによって第1の負荷オペレーティング・システムのブートイメージを実行する。
【0111】
この実施例において提供されるリソース処理方法によれば、管理オペレーティング・システムは、デーモン内にジャンプ・コマンドを設定し、それによってスタートアップ・プロセッサ・コアは、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置をデーモンから獲得し、物理メモリ・アドレス内の、ブートイメージが配置された位置にジャンプし、それによって第1の負荷オペレーティング・システムのブートイメージを実行し、ブートイメージからスタートアップ・パラメータを獲得する。管理オペレーティング・システムは、ハイパーバイザーの関与を要求せずに、負荷オペレーティング・システムによって排他的に使用される物理リソースを負荷オペレーティング・システムに割り当て、それにより管理オペレーティング・システムによって負荷オペレーティング・システムに物理リソースを割り当てるプロセスを簡単にし、さらに各々の負荷オペレーティング・システムは物理リソースを排他的に使用でき、それにより負荷オペレーティング・システムの全体の性能を改善する。
【0112】
図5は、本発明によるリソース処理方法の実施例4の概要フローチャートである。この実施例におけるリソース処理方法は、マルチ
カーネル・オペレーティング・システムに適用され、マルチ
カーネル・オペレーティング・システムは、ホスト・マシンにおいて動作する、管理オペレーティング・システムおよび複数の負荷オペレーティング・システムを含むとともに、物理リソース・プールを含み、物理リソース・プールは、ホスト・マシンの、プロセッサ・コアおよび物理メモリを含み、各々の負荷オペレーティング・システムは、管理オペレーティング・システムによって割り当てられた物理リソース・セットを排他的に使用し、各々の物理リソース・セットは、ホスト・マシンのプロセッサ・コアのいくつか、および、ホスト・マシンの物理メモリの一部を含み、管理オペレーティング・システムは、各々の負荷オペレーティング・システムについてブートイメージを予め構築し、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定する。この実施例の実行主体は、複数の負荷オペレーティング・システムの中のいずれかの負荷オペレーティング・システムである。説明の容易さのために、この実施例において、実行主体は第1の負荷オペレーティング・システムと呼ばれる。
図5に表わされているように、この実施例において提供されるリソース処理方法は、下記を含む。
【0113】
ステップ501:第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を読み出す。
【0114】
マッピング関係は、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアが、物理メモリ・アドレスにアクセスすることを可能にするために使用され、第1の負荷オペレーティング・システムは、マルチ
カーネル・オペレーティング・システム内のいずれかの負荷オペレーティング・システムである。
【0115】
ステップ502:第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、管理オペレーティング・システムによって設定された、ブートイメージ・ジャンプを実行するための命令に従って、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプし、マッピング関係に従って、第1の負荷オペレーティング・システムに対応するブートイメージを実行する。
【0116】
ステップ503:第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、第1の負荷オペレーティング・システムのブートイメージを実行するプロセスにおいて、第1の負荷オペレーティング・システムのブートイメージから第1の負荷オペレーティング・システムのスタートアップ・パラメータを獲得する。
【0117】
スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む。
【0118】
ステップ504:第1の負荷オペレーティング・システムは、プロセッサ・コアの識別子および第1の負荷オペレーティング・システムの物理メモリ・アドレスの識別子に従って、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定する。
【0119】
この実施例の適用シナリオは、
図1における実施例において表わされたそれであってよく、詳細はこの実施例においてここで繰り返し記載されない。この実施例において、この実施例において提供されるリソース処理方法は、第1の負荷オペレーティング・システムを実行主体として使用することによって詳細に記載される。第1の負荷オペレーティング・システムは、具体的には、
図1に表わされた負荷オペレーティング・システムの中のいずれかの負荷オペレーティング・システムであってよい。
【0120】
ステップ501において、管理オペレーティング・システムが第1の負荷オペレーティング・システムについてスタートアップ・プロセッサ・コアを決定した後に、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、まず、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって設定されるマッピング関係を獲得し、第1の負荷オペレーティング・システムは、マッピング関係に従って、物理メモリ・アドレスに直接にアクセスしてよく、アドレス変換を行う必要がない。
【0121】
ステップ502において、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め設定され、ブートイメージ・ジャンプを実行するための命令を受信し、第1の負荷オペレーティング・システムは、管理オペレーティング・システムによって設定され、ブートイメージ・ジャンプを実行するための命令に従って、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプし、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアがブートイメージを実行するとき、第1の負荷オペレーティング・システムは、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージに対応するマッピング関係に従って、物理メモリ・アドレスに直接にアクセスし、それによってブートイメージのスタートアップ・プロセスを完了する。
【0122】
ステップ503において、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、第1の負荷オペレーティング・システムのブートイメージを実行するプロセスにおいて、第1の負荷オペレーティング・システムのブートイメージから第1の負荷オペレーティング・システムのスタートアップ・パラメータを獲得し、ここでスタートアップ・パラメータは、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む。
【0123】
任意選択で、物理リソース・セットがホスト・マシンのいくつかの外部デバイスを含むとき、スタートアップ・パラメータは、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられた外部デバイスの識別子、および、外部デバイスに対応するデバイス記述情報テーブルをさらに含む。デバイス記述情報テーブルは、外部デバイスの構成情報、例えば、外部アドレスの物理メモリ・アドレスの構成、および仮想メモリ・アドレスから物理メモリ・アドレスへのマッピング関係を含む。この実施例は、デバイス記述情報テーブルに含まれる具体的な内容に特別な制限を課さない。
【0124】
ステップ504において、第1の負荷オペレーティング・システムは、プロセッサ・コアの識別子および第1の負荷オペレーティング・システムの物理メモリ・アドレスの識別子に従って、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定してもよく、第1の負荷オペレーティング・システムは、第1の負荷オペレーティング・システムによって排他的に使用される物理リソースにおいて独立のページ・テーブル、クロック、ランタイム環境、等を構築してもよい。
【0125】
この技術分野の当業者は、第1の負荷オペレーティング・システムによりブートイメージを実行する目的は、第1の負荷オペレーティング・システムをスタートアップさせることであり、ブートイメージの動作が終了した後に、第1の負荷オペレーティング・システムのスタートアップが完了し、第1の負荷オペレーティング・システムは動作ステージに入ることを理解できる。
【0126】
本発明のこの実施例において提供されるリソース処理方法によれば、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を読み出し、管理オペレーティング・システムによって設定された、ブートイメージ・ジャンプを実行するための命令に従って、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプし、マッピング関係に従って、第1の負荷オペレーティング・システムに対応するブートイメージを実行し、第1の負荷オペレーティング・システムのブートイメージを実行するプロセスにおいて、第1の負荷オペレーティング・システムのブートイメージから第1の負荷オペレーティング・システムのスタートアップ・パラメータを獲得し、ここでスタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む。第1の負荷オペレーティング・システムは、プロセッサ・コアの識別子および第1の負荷オペレーティング・システムの物理メモリ・アドレスの識別子に従って、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定する。第1の負荷オペレーティング・システムはブートイメージからスタートアップ・パラメータを読み出し、それによってハイパーバイザーの関与を要求せずに、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを獲得し、それにより管理オペレーティング・システムによって負荷オペレーティング・システムに物理リソースを割り当てるプロセスを簡単にする。さらに、各々の負荷オペレーティング・システムは、物理リソースを排他的に使用でき、それによって各々の負荷オペレーティング・システムによって排他的に使用される物理リソースについて独立なページ・テーブル、クロック、ランタイム環境、等を構築し、それにより負荷オペレーティング・システムの全体の性能を改善する。
【0127】
下記は、いくつかの具体的な実施例を使用して、
図5に表わされた方法の実施例の技術的解決策を詳細に記載する。
【0128】
具体的な実施例は、
図6に表わされたそれであり得る。
図6は、本発明によるリソース処理方法の実施例5の概要フローチャートである。
図6に表わされているように、本発明のこの実施例において提供されるリソース処理方法は、下記を含む。
【0129】
ステップ601:第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、管理オペレーティング・システムによって送信されたコア間割り込みメッセージを受信し、ここでスタートアップ・プロセッサ・コアは、コア間割り込みメッセージの命令に従って、スタートアップ・プロセッサ・コアを初期化するように構成された、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行する。
【0130】
ステップ602:第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、初期化プログラムを実行し、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係を初期化プログラムから読み出し、管理オペレーティング・システムによって初期化プログラム内に予め設定されたジャンプ命令を読み出し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプし、マッピング関係に従って、第1の負荷オペレーティング・システムに対応するブートイメージを実行する。
【0131】
ステップ603:第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、第1の負荷オペレーティング・システムのブートイメージを実行するプロセスにおいて、第1の負荷オペレーティング・システムのブートイメージから第1の負荷オペレーティング・システムのスタートアップ・パラメータを獲得する。
【0132】
スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む。
【0133】
ステップ604:第1の負荷オペレーティング・システムは、プロセッサ・コアの識別子および第1の負荷オペレーティング・システムの物理メモリ・アドレスの識別子に従って、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定する。
【0134】
この実施例において、ステップ603はステップ503に類似し、ステップ604はステップ504に類似し、詳細はこの実施例においてここで繰り返し記載されない。
【0135】
ステップ601において、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、管理オペレーティング・システムによって送信されたコア間割り込みメッセージを受信し、ここでスタートアップ・プロセッサ・コアは、コア間割り込みメッセージの命令に従って、スタートアップ・プロセッサ・コアを初期化するように構成された、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行する。
【0136】
具体的には、値は、コア間割り込みメッセージによって伝送され、割り込みベクタと呼ばれてもよく、コア間割り込みメッセージに対応する値および値に対応する実行プロセスの両方は、管理オペレーティング・システムおよび第1の負荷オペレーティング・システムによって前もって合意される。管理オペレーティング・システムは第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにコア間割り込みメッセージを送信し、コア間割り込みメッセージは、スタートアップ・プロセッサ・コアを初期化するように構成された、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するように、スタートアップ・プロセッサ・コアに命令する。
【0137】
管理オペレーティング・システムによって送信されたコア間割り込みメッセージを受信した後に、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、予め設定された固定された物理メモリ内の初期化プログラムを探索し、初期化プログラムを動作させてスタートアップ・プロセッサ・コアの初期化を完了し、スタートアップ・プロセッサ・コアの初期化はスタートアップ・プロセッサ・コアのスタートアップ・プロセスである。
【0138】
ステップ602において、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、初期化プログラムを実行するプロセスにおいて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係を初期化プログラムから読み出し、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアがマッピング関係を読み出した後に、ブートイメージを実行する続くプロセスにおいて、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、マッピング関係に従って、物理メモリ・アドレスに直接にアクセスしてよく、アドレス変換を行う必要がない。
【0139】
さらに、初期化プログラムの最後の命令は、ブートイメージにジャンプするようにスタートアップ・プロセッサ・コアに命令するために使用され、ジャンプ命令として解釈されてもよい。第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、管理オペレーティング・システムによって初期化プログラム内に予め設定されたジャンプ命令を初期化プログラムから読み出し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプし、マッピング関係に従って、物理メモリ・アドレスに直接にアクセスし、それによって第1の負荷オペレーティング・システムに対応するブートイメージを実行する。
【0140】
本発明のこの実施例において提供されるリソース処理方法によれば、第1の負荷オペレーティング・システムは、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係を初期化プログラムから読み出し、管理オペレーティング・システムによって初期化プログラム内に予め設定されたジャンプ命令を読み出し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプし、マッピング関係に従って、第1の負荷オペレーティング・システムに対応するブートイメージを実行し、ブートイメージからスタートアップ・パラメータを読み出し、スタートアップ・パラメータに従って物理リソース・セットを獲得し、第1の負荷オペレーティング・システムのスタートアップ・プロセスを完了する。管理オペレーティング・システムは、ハイパーバイザーの関与を要求せずに、負荷オペレーティング・システムによって排他的に使用される物理リソースを負荷オペレーティング・システムに割り当て、それにより管理オペレーティング・システムによって負荷オペレーティング・システムに物理リソースを割り当てるプロセスを簡単にし、さらに、各々の負荷オペレーティング・システムは物理リソースを排他的に使用でき、それにより負荷オペレーティング・システムの全体の性能を改善する。
【0141】
他の具体的な実施例は次の通りである。この実施例において、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、スタートアップされた、管理オペレーティング・システムによって決定されたプロセッサ・コアであり、デーモンは、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにおいて動作し、デーモンは、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め設定され、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置、および、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係は、デーモン内に設定される。
図7は、本発明によるリソース処理方法の実施例6の概要フローチャートである。
図7に表わされているように、本発明のこの実施例において提供されるリソース処理方法は、下記を含む。
【0142】
ステップ701:第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにおいて動作しているデーモンは、管理オペレーティング・システムによって送信されたコア間割り込みメッセージを受信し、スタートアップ・プロセッサ・コアは、コア間割り込みメッセージの命令に従って、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係をデーモンから読み出す。
【0143】
ステップ702:第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、管理オペレーティング・システムによってデーモン内に予め設定されたジャンプ命令を読み出し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプし、マッピング関係に従って、第1の負荷オペレーティング・システムに対応するブートイメージを実行する。
【0144】
ステップ703:第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、第1の負荷オペレーティング・システムのブートイメージを実行するプロセスにおいて、第1の負荷オペレーティング・システムのブートイメージから第1の負荷オペレーティング・システムのスタートアップ・パラメータを獲得する。
【0145】
スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む。
【0146】
ステップ704:第1の負荷オペレーティング・システムは、プロセッサ・コアの識別子および第1の負荷オペレーティング・システムの物理メモリ・アドレスの識別子に従って、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定する。
【0147】
この実施例と
図6における実施例の間の差異は、この実施例におけるスタートアップ・プロセッサ・コアは、スタートアップされたプロセッサ・コアであること、すなわち、初期化プロセスはスタートアップ・プロセッサ・コアにおいて行われる必要がないことにある。この実施例におけるステップ703は
図5における実施例におけるステップ503に類似し、ステップ704は
図5における実施例におけるステップ504に類似し、詳細はこの実施例においてここで繰り返されて記載されない。具体的な実現プロセスにおいて、管理オペレーティング・システムは、第1の負荷オペレーティング・システムについてスタートアップ・プロセッサ・コアにおいてデーモンを予め設定し、設定が完了した後に、デーモンは、スタートアップされたスタートアップ・プロセッサ・コアにおいて、常時、動作する。
【0148】
ステップ701において、管理オペレーティング・システムは、スタートアップ・プロセッサ・コアにおいて動作しているデーモンにコア間割り込みメッセージを送信し、コア間割り込みメッセージに対応する命令は、管理オペレーティング・システムおよび第1の負荷オペレーティング・システムによって前もって合意される。第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにおいて動作しているデーモンが、管理オペレーティング・システムによって送信されたコア間割り込みメッセージを受信した後に、スタートアップ・プロセッサ・コアは、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージの、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係をデーモンから読み出し、スタートアップ・プロセッサ・コアによってブートイメージを実行するプロセスにおいて、スタートアップ・プロセッサ・コアはマッピング関係に従って物理メモリ・アドレスにアクセスする。
【0149】
ステップ702において、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、管理オペレーティング・システムによってデーモン内に予め設定されたジャンプ命令を読み出し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプし、マッピング関係に従って、第1の負荷オペレーティング・システムに対応するブートイメージを実行する。
【0150】
この実施例において提供されるリソース処理方法によれば、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置を予め設定されたデーモンから獲得し、物理メモリ・アドレス内の、ブートイメージが配置された位置にジャンプし、それによって第1の負荷オペレーティング・システムのブートイメージを実行し、ブートイメージからスタートアップ・パラメータを獲得する。管理オペレーティング・システムは、ハイパーバイザーの関与を要求せずに、負荷オペレーティング・システムによって排他的に使用される物理リソースを負荷オペレーティング・システムに割り当て、それにより管理オペレーティング・システムによって負荷オペレーティング・システムに物理リソースを割り当てるプロセスを簡単にし、さらに、各々の負荷オペレーティング・システムは物理リソースを排他的に使用でき、それにより負荷オペレーティング・システムの全体の性能を改善する。
【0151】
図5から
図7における実施例に基づいて、スタートアップ・プロセッサ・コアは、ブートイメージを実行し、第1の負荷オペレーティング・システムのスタートアップを完了する。第1の負荷オペレーティング・システムがスタートアップされた後に、第1の負荷オペレーティング・システムは、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムを実行するために要求される全てのマッピング関係を構築し、第1の負荷オペレーティング・システムのプロセッサ・コアは、マッピング関係に従って、仮想メモリ・アドレスを物理メモリ・アドレスに転換し、物理メモリ・アドレスに直接にアクセスする。
【0152】
さらに、第1の負荷オペレーティング・システムの動作プロセスにおいて、第1の負荷オペレーティング・システムは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアを使用することによって、管理オペレーティング・システムによって配送された特権命令を実行してもよい。具体的な実現プロセスにおいて、特権命令を実行するプロセッサ・コアが管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアである限り、特権命令を実行するプロセッサ・コアは、スタートアップ・プロセッサ・コアでもよく、またはスタートアップ・プロセッサ・コア以外の他のプロセッサ・コアでもよい。特権命令は、オペレーティング・システムに適用され、一般に、ユーザのために直接に提供されない。特権命令は、ユーザのアクセス権を検出すること、タスクを生成し、切り替えること、等を含むリソースの割り当ておよび管理のために主に使用される。
【0153】
この実施例において、第1の負荷オペレーティング・システムは、仮想化技術における特権操作においてハイパーコール(hypercall)を変換するまたは行うステップなしで、特権命令を直接に実行する。具体的には、管理オペレーティング・システムは、第1の負荷オペレーティング・システムが実行を行うために、ホスト・マシンの正常な動作状態に影響しない特権命令を第1の負荷オペレーティング・システムに配送してもよい。
【0154】
図2から
図7における実施例は、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに物理リソースを割り当てるプロセスを詳細に記載し、第1の負荷オペレーティング・システムのスタートアップ・プロセスを完了するために第1の負荷オペレーティング・システムがブートイメージをどのように実行するかを詳細にさらに記載する。
【0155】
第1の負荷オペレーティング・システムの動作プロセスにおいて、第1の負荷オペレーティング・システムの物理リソースは、さらに、動的に調整される必要がある。具体的な実現プロセスにおいて、第1の負荷オペレーティング・システムを動的に調整するために2つの可能な実現方式が存在する。
【0156】
1つの可能な実現方式は、管理オペレーティング・システムが、第1の負荷オペレーティング・システムの動作を監視し、第1の負荷オペレーティング・システムの物理リソースを調整することであり、これは、具体的には、2つの可能な状況を含む。
【0157】
1つの可能な状況は、管理オペレーティング・システムは、第1の負荷オペレーティング・システムの動作を監視し、
第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第1の予め設定された閾値より小さいとき、物理リソースが第1の負荷オペレーティング・システムについて減少される必要があると決定し、減少される必要がある物理リソースのタイプ識別子を決定し、ここで物理リソースのタイプ識別子は、物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用され、
管理オペレーティング・システムは、減少される必要がある物理リソースのタイプ識別子に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて2回目の区分を行い、第1の負荷オペレーティング・システムの物理リソースを減少させ、ここで減少された物理リソースは減少される必要がある物理リソースのタイプ識別子に対応する物理リソースである。
【0158】
他の可能な状況は、管理オペレーティング・システムは、第1の負荷オペレーティング・システムの動作を監視し、
第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第2の予め設定された閾値より大きいとき、物理リソースが第1の負荷オペレーティング・システムについて追加される必要があると決定し、追加される必要がある物理リソースのタイプ識別子を決定し、ここで物理リソースのタイプ識別子は、追加される必要がある物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用され、
管理オペレーティング・システムは、追加される必要がある物理リソースのタイプ識別子に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて2回目の区分を行い、第1の負荷オペレーティング・システムの物理リソースを追加し、ここで追加された物理リソースは、追加される必要がある物理リソースのタイプ識別子に対応する物理リソースである。
【0159】
具体的には、この実施例において、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられた物理リソースは、プロセッサ・コア・リソース、物理メモリ・リソース、および外部デバイス・リソースを含む。管理オペレーティング・システムは、第1の負荷オペレーティング・システムの動作プロセスにおいて、第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用を監視し、すなわち、プロセッサ・コア・リソース、物理メモリ・リソース、および外部デバイス・リソースの利用を監視する。
【0160】
管理オペレーティング・システムが、第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第1の予め設定された閾値より小さいと決定したとき、それは、管理オペレーティング・システムが、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを第1の負荷オペレーティング・システムに割り当てるとき、多過ぎる物理リソースを第1の負荷オペレーティング・システムに割り当てることを示す。この場合、管理オペレーティング・システムは、物理リソースが第1の負荷オペレーティング・システムについて減少される必要があると決定する。3つのタイプの物理リソースが存在するので、管理オペレーティング・システムは、各々の物理リソースの利用に従って、減少される必要がある物理リソースのタイプ識別子を決定し、そして管理オペレーティング・システムは、減少される必要がある物理リソースのタイプ識別子に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて2回目の区分を行い、第1の負荷オペレーティング・システムの物理リソースを減少させる。具体的な実現プロセスにおいて、管理オペレーティング・システムは、第1の負荷オペレーティング・システムの物理リソースの利用および他の負荷オペレーティング・システムの物理リソースの利用に従って、利用可能な物理リソースにおいて2回目の区分を行ってもよく、それによって第1の負荷オペレーティング・システムの物理リソースを減少させる。減少された物理リソースは、減少される必要がある物理リソースのタイプ識別子に対応する物理リソースである。
【0161】
管理オペレーティング・システムが、第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第2の予め設定された閾値より大きいと決定したとき、それは、管理オペレーティング・システムが、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを第1の負荷オペレーティング・システムに割り当てるとき、少な過ぎる物理リソースを第1の負荷オペレーティング・システムに割り当てることを示す。この場合、管理オペレーティング・システムは、物理リソースが第1の負荷オペレーティング・システムについて追加される必要があると決定する。3つのタイプの物理リソースが存在するので、管理オペレーティング・システムは、各々の物理リソースの利用に従って、追加される必要がある物理リソースのタイプ識別子を決定し、そして管理オペレーティング・システムは、追加される必要がある物理リソースのタイプ識別子に従って、物理リソース・プール内の利用可能な物理リソースにおいて2回目の区分を行い、第1の負荷オペレーティング・システムの物理リソースを追加する。具体的な実現プロセスにおいて、管理オペレーティング・システムは、第1の負荷オペレーティング・システムの物理リソースの利用および他の負荷オペレーティング・システムの物理リソースの利用に従って、利用可能な物理リソースにおいて2回目の区分を行ってもよく、それによって第1の負荷オペレーティング・システムの物理リソースを追加する。追加された物理リソースは、追加される必要がある物理リソースのタイプ識別子に対応する物理リソースである。
【0162】
他の可能な実現方式は、第1の負荷オペレーティング・システムが、第1の負荷オペレーティング・システムの物理リソースの使用状態を監視し、それによって管理オペレーティング・システムは、第1の負荷オペレーティング・システムの物理リソースを調整することである。2つの可能な状況が、具体的には、含まれてもよい。
【0163】
1つの可能な状況において、第1の負荷オペレーティング・システムは、第1の負荷オペレーティング・システムの物理リソースを監視し、
第1の負荷オペレーティング・システムが、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第1の予め設定された閾値より小さいと決定したならば、第1の負荷オペレーティング・システムは、管理オペレーティング・システムにリソース減少要求メッセージを送信し、ここでリソース減少要求メッセージは、減少される必要がある物理リソースのタイプ識別子を含み、物理リソースのタイプ識別子は、減少される必要がある物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される。
【0164】
他の可能な状況において、第1の負荷オペレーティング・システムは、第1の負荷オペレーティング・システムの物理リソースを監視し、
第1の負荷オペレーティング・システムが、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第2の予め設定された閾値より大きいと決定したならば、第1の負荷オペレーティング・システムは、管理オペレーティング・システムにリソース追加要求メッセージを送信し、ここでリソース追加要求メッセージは、追加される必要がある物理リソースのタイプ識別子を含み、物理リソースのタイプ識別子は、追加される必要がある物理リソースが、プロセッサ・コア・リソースであるか、または物理メモリ・リソースであるかを区別するために使用される。
【0165】
具体的には、この実施例において、第1の負荷オペレーティング・システムは、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられた物理リソースは、プロセッサ・コア・リソース、物理メモリ・リソース、および外部デバイス・リソースを含むと決定する。第1の負荷オペレーティング・システムは、動作プロセスにおいて、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用を監視し、すなわち、プロセッサ・コア・リソース、物理メモリ・リソース、および外部デバイス・リソースの利用を監視する。
【0166】
第1の負荷オペレーティング・システムが、第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第1の予め設定された閾値より小さいと決定したとき、それは、管理オペレーティング・システムが、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを第1の負荷オペレーティング・システムに割り当てるとき、多過ぎる物理リソースを第1の負荷オペレーティング・システムに割り当てることを示す。この場合、第1の負荷オペレーティング・システムは、物理リソースが第1の負荷オペレーティング・システムについて減少される必要があると決定し、管理オペレーティング・システムにリソース減少要求メッセージを送信する。3つのタイプの物理リソースが存在するので、第1の負荷オペレーティング・システムは、各々の物理リソースの利用に従って、減少される必要がある物理リソースのタイプ識別子を決定する。従って、リソース減少要求メッセージは、減少される必要がある物理リソースのタイプ識別子を含み、ここで物理リソースのタイプ識別子は、減少される必要がある物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される。
【0167】
第1の負荷オペレーティング・システムが、第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第2の予め設定された閾値より大きいと決定したとき、それは、管理オペレーティング・システムが、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを第1の負荷オペレーティング・システムに割り当てるとき、少な過ぎる物理リソースを第1の負荷オペレーティング・システムに割り当てることを示す。この場合、第1の負荷オペレーティング・システムは、物理リソースが第1の負荷オペレーティング・システムについて追加される必要があると決定し、管理オペレーティング・システムにリソース追加要求メッセージを送信する。3つのタイプの物理リソースが存在するので、第1の負荷オペレーティング・システムは、各々の物理リソースの利用に従って、追加される必要がある物理リソースのタイプ識別子を決定する。従って、リソース追加要求メッセージは、追加される必要がある物理リソースのタイプ識別子を含み、ここで物理リソースのタイプ識別子は、追加される必要がある物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される。
【0168】
上記の2つの可能な実現方式は、管理オペレーティング・システムおよび第1の負荷オペレーティング・システムの観点から、第1の負荷オペレーティング・システムの物理リソースが追加または減少される必要があることを別個に記載する。下記は、物理リソースのタイプに従って、各々の物理リソースの追加または減少を詳細に記載する。
【0169】
図8Aは、本発明による、物理リソースがプロセッサ・コアであるときに第1の負荷オペレーティング・システムについてプロセッサ・コアを追加するための概要フローチャートである。
図8Bは、本発明による、第1の負荷オペレーティング・システムによりプロセッサ・コアを解放するための概要フローチャートである。
【0170】
図8Aに表わされているように、第1の負荷オペレーティング・システムについてプロセッサ・コアを追加することは、下記のステップを含む。
【0171】
ステップ8101:管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて追加される必要があるプロセッサ・コアを、第1の負荷オペレーティング・システムに属す物理リソースとしてマークし、第1の負荷オペレーティング・システムにリソース追加メッセージを送信する。
【0172】
リソース追加メッセージは、追加される必要があるプロセッサ・コアの識別子を含む。
【0173】
具体的には、管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて追加される必要があるプロセッサ・コアを、第1の負荷オペレーティング・システムに属す物理リソースとしてマークし、ここで追加されたプロセッサ・コアは、物理リソース・プール内の利用可能な物理リソースとして使用されず、管理オペレーティング・システムおよび第1の負荷オペレーティング・システムは、追加されたプロセッサ・コアの利用を監視する。
【0174】
ステップ8102:第1の負荷オペレーティング・システムは、管理オペレーティング・システムによって送信されたリソース追加メッセージを受信し、ここでリソース追加メッセージは、追加される必要があるプロセッサ・コアの識別子を含む。
【0175】
ステップ8103:第1の負荷オペレーティング・システムは、追加される必要があるプロセッサ・コアの識別子に従って、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって追加されたプロセッサ・コアを決定する。
【0176】
ステップ8104:管理オペレーティング・システムは、追加されたプロセッサ・コアにジャンプ命令を送信する。
【0177】
ジャンプ命令は、第1の負荷オペレーティング・システムのカーネル・プログラムを実行するように、追加されたプロセッサ・コアに命令し、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムを実行するために要求される全てのマッピング関係をカーネル・プログラムから読み出すように、追加されたプロセッサ・コアに命令するために使用される。
【0178】
管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて、予め設定された固定された物理メモリ内にカーネル・プログラムを設定し、管理オペレーティング・システムおよび第1の負荷オペレーティング・システムは、第1の負荷オペレーティング・システムが、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムを実行するために要求される全てのマッピング関係をカーネル・プログラムに書き込んでもよいことを前もって合意する。この技術分野の当業者は、カーネル・プログラムは、追加されたプロセッサ・コアを動作させるために要求される他の情報をさらに含んでもよく、この実施例はそれに特別な制限を課さないことを理解できる。
【0179】
ステップ8105:第1の負荷オペレーティング・システムの追加されたプロセッサ・コアは、管理オペレーティング・システムによって送信されたジャンプ命令を受信し、ジャンプ命令に従って、第1の負荷オペレーティング・システムのカーネル・プログラムを実行し、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムを実行するために要求される全てのマッピング関係をカーネル・プログラムから読み出す。
【0180】
図8Bに表わされているように、第1の負荷オペレーティング・システムによりプロセッサ・コアを解放することは、下記のステップを含む。
【0181】
ステップ8201:管理オペレーティング・システムは、第1の負荷オペレーティング・システムにリソース減少メッセージを送信する。
【0182】
リソース減少メッセージは、解放される必要があるプロセッサ・コアの識別子を含む。
【0183】
ステップ8202:第1の負荷オペレーティング・システムは、管理オペレーティング・システムによって送信されたリソース減少メッセージを受信し、ここでリソース減少メッセージは、解放される必要があるプロセッサ・コアの識別子を含む。
【0184】
ステップ8203:第1の負荷オペレーティング・システムは、解放される必要があるプロセッサ・コアの識別子に従って、第1の負荷オペレーティング・システムによって解放される必要があるプロセッサ・コアを決定する。
【0185】
ステップ8204:第1の負荷オペレーティング・システムはプロセッサ・コアを解放し、ここで解放されたプロセッサ・コアは、解放される必要があるプロセッサ・コアの識別子に対応するプロセッサ・コアである。
【0186】
第1の負荷オペレーティング・システムがプロセッサ・コアを解放することは、第1の負荷オペレーティング・システムがもはやプロセッサ・コアを使用しないことを指す。
【0187】
ステップ8205:管理オペレーティング・システムは、第1の負荷オペレーティング・システムによって解放されたプロセッサ・コアの識別子を獲得し、解放されたプロセッサ・コアの識別子をリソース・プール内の利用可能な物理リソースのリストに追加し、ここで解放されたプロセッサ・コアは、減少される必要があるプロセッサ・コアの識別子に対応するプロセッサ・コアである。
【0188】
図9Aは、本発明による、物理リソースが物理メモリ・リソースであるときに第1の負荷オペレーティング・システムについて物理メモリ・アドレスを追加するための概要フローチャートである。
図9Bは、本発明による、第1の負荷オペレーティング・システムにより物理メモリ・アドレスを解放するための概要フローチャートである。
【0189】
図9Aに表わされているように、第1の負荷オペレーティング・システムについて物理メモリ・アドレスを追加することは、下記のステップを含む。
【0190】
ステップ9101:管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて追加される必要がある物理メモリ・アドレスを、第1の負荷オペレーティング・システムに属す物理リソースとしてマークし、第1の負荷オペレーティング・システムにリソース追加メッセージを送信する。
【0191】
リソース追加メッセージは、追加される必要がある物理メモリ・アドレスの識別子を含む。
【0192】
管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて追加される必要がある物理メモリ・アドレスを、第1の負荷オペレーティング・システムに属す物理リソースとしてマークし、ここで追加された物理メモリ・アドレスは、物理リソース・プール内の利用可能な物理リソースとして使用されず、管理オペレーティング・システムおよび第1の負荷オペレーティング・システムは、追加された物理メモリ・アドレスの利用を監視し、第1の負荷オペレーティング・システムは、仮想メモリ・アドレスから追加された物理メモリ・アドレスへのマッピング関係をさらに構築する。
【0193】
ステップ9102:第1の負荷オペレーティング・システムは、管理オペレーティング・システムによって送信されたリソース追加メッセージを受信し、ここでリソース追加メッセージは、追加される必要がある物理メモリ・アドレスの識別子を含む。
【0194】
ステップ9103:第1の負荷オペレーティング・システムは、追加される必要がある物理メモリ・アドレスの識別子に従って、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって追加された物理メモリ・アドレスを決定する。
【0195】
図9Bに表わされているように、第1の負荷オペレーティング・システムにより物理メモリ・アドレスを解放することは、下記のステップを含む。
【0196】
ステップ9201:管理オペレーティング・システムは、第1の負荷オペレーティング・システムにリソース減少メッセージを送信する。
【0197】
リソース減少メッセージは、解放される必要がある物理メモリ・アドレスの識別子を含む。
【0198】
ステップ9202:第1の負荷オペレーティング・システムは、管理オペレーティング・システムによって送信されたリソース減少メッセージを受信し、ここでリソース減少メッセージは、解放される必要がある物理メモリ・アドレスの識別子を含む。
【0199】
ステップ9203:第1の負荷オペレーティング・システムは、解放される必要がある物理メモリ・アドレスの識別子に従って、第1の負荷オペレーティング・システムによって解放される必要がある物理メモリ・アドレスを決定する。
【0200】
ステップ9204:第1の負荷オペレーティング・システムは、物理メモリ・アドレスを解放し、ここで解放された物理メモリ・アドレスは解放される必要がある物理メモリ・アドレスの識別子に対応する物理メモリ・アドレスである。
【0201】
ステップ9205:管理オペレーティング・システムは、第1の負荷オペレーティング・システムによって解放された物理メモリ・アドレスの識別子を獲得し、解放された物理メモリ・アドレスの識別子をリソース・プール内の利用可能な物理リソースのリストに追加し、ここで解放された物理メモリ・アドレスは解放される必要がある物理メモリ・アドレスの識別子に対応する物理メモリ・アドレスである。
【0202】
図10Aは、本発明による、物理リソースが外部デバイス・リソースであるときに第1の負荷オペレーティング・システムについて外部デバイスを追加するための概要フローチャートである。
図10Bは、本発明による、第1の負荷オペレーティング・システムについて外部デバイスを減少させるための概要フローチャートである。
【0203】
図10Aに表わされているように、第1の負荷オペレーティング・システムについて外部デバイスを追加することは、下記のステップを含む。
【0204】
ステップ10101:管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて追加される必要がある外部デバイスを、第1の負荷オペレーティング・システムに属す物理リソースとしてマークし、ホット挿入メッセージを第1の負荷オペレーティング・システムに送信する。
【0205】
ホット挿入メッセージは、追加される必要がある外部デバイスの識別子、および、追加される外部デバイスに対応するデバイス記述情報テーブルを獲得するように第1の負荷オペレーティング・システムに命令するために使用される。
【0206】
具体的には、管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて追加される必要がある外部デバイスを、第1の負荷オペレーティング・システムに属す物理リソースとしてマークし、ここで追加された外部デバイスは、物理リソース・プール内の利用可能な物理リソースとして使用されず、管理オペレーティング・システムおよび第1の負荷オペレーティング・システムは、追加された外部デバイスの利用を監視する。
【0207】
ホット挿入メッセージが、追加される必要がある外部デバイスの識別子、および、追加される外部デバイスに対応するデバイス記述情報テーブルを獲得するように第1の負荷オペレーティング・システムに命令するために使用されることは、2つの可能な実現方式を含む。
【0208】
1つの可能な実現方式において、管理オペレーティング・システムは、ホット挿入メッセージを第1の負荷オペレーティング・システムに送信し、ここでホット挿入メッセージは、追加される必要がある外部デバイスの識別子、および、追加される外部デバイスに対応するデバイス記述情報テーブルを含む。
【0209】
他の可能な実現方式において、管理オペレーティング・システムは、ホット挿入命令メッセージを第1の負荷オペレーティング・システムに送信し、ここでホット挿入命令メッセージは、追加される必要がある外部デバイスの識別子、および、追加される外部デバイスに対応するデバイス記述情報テーブルを予め設定された固定された物理メモリから読み出すように第1の負荷オペレーティング・システムに命令するために使用される。
【0210】
ステップ10102:第1の負荷オペレーティング・システムは、管理オペレーティング・システムによって送信されたホット挿入メッセージを受信する。
【0211】
ステップ10103:第1の負荷オペレーティング・システムは、追加される必要がある外部デバイスの識別子、および、追加される外部デバイスに対応するデバイス記述情報テーブルに従って、追加される必要がある外部デバイスの識別子に対応する外部デバイスにおいてホット挿入操作を実行する。
【0212】
図10Bに表わされているように、第1の負荷オペレーティング・システムについて外部デバイスを減少させることは、下記のステップを含む。
【0213】
ステップ10201:管理オペレーティング・システムは、ホット除去メッセージを第1の負荷オペレーティング・システムに送信する。
【0214】
ホット除去メッセージは、減少される必要がある外部デバイスの識別子を含む。
【0215】
ステップ10202:第1の負荷オペレーティング・システムは、管理オペレーティング・システムによって送信されたホット除去メッセージを受信し、ここでホット除去メッセージは、減少される必要がある外部デバイスの識別子を含む。
【0216】
ステップ10203:第1の負荷オペレーティング・システムは、減少される必要がある外部デバイスの識別子に従って、減少される必要がある外部デバイスの識別子に対応する外部デバイスにおいてホット除去操作を行う。
【0217】
ステップ10204:管理オペレーティング・システムは、第1の負荷オペレーティング・システムについて減少された外部デバイスの識別子を獲得し、減少された外部デバイスの識別子をリソース・プール内の利用可能な物理リソースのリストに追加し、ここで減少された外部デバイスは減少される必要がある外部デバイスの識別子に対応する外部デバイスである。
【0218】
本発明の実施例において、物理リソースの動的な調整が上記の方式で実現され、それによって第1の負荷オペレーティング・システムが物理リソースを排他的に使用できるだけでなく、物理リソースの利用が第1の負荷オペレーティング・システムの物理リソースを追加するまたは減少させることによって改善される。
【0219】
図11は、本発明による管理オペレーティング・システムの実施例1の概要構造図である。この実施例における管理オペレーティング・システムは、
図1に表わされたマルチ
カーネル・オペレーティング・システムに適用され、ここでマルチ
カーネル・オペレーティング・システムは、ホスト・マシンにおいて動作する、管理オペレーティング・システムおよび複数の負荷オペレーティング・システムを含むとともに、物理リソース・プールを含み、物理リソース・プールは、ホスト・マシンの、プロセッサ・コアおよび物理メモリを含む。
図11に表わされているように、この実施例において提供される管理オペレーティング・システム110は、リソース割り当てモジュール1101、マッピング関係設定モジュール1102、スタートアップ・プロセッサ・コア決定モジュール1103、および命令モジュール1104を含む。
【0220】
リソース割り当てモジュール1101は、各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを各々の負荷オペレーティング・システムに割り当てるように構成され、ここで各々の物理リソース・セットは、ホスト・マシンのプロセッサ・コアのいくつか、および、ホスト・マシンの物理メモリの一部を含む。
【0221】
マッピング関係設定モジュール1102は、各々の負荷オペレーティング・システムについて、ブートイメージを構築し、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定するように構成される。
【0222】
スタートアップ・プロセッサ・コア決定モジュール1103は、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定するように構成され、ここで第1の負荷オペレーティング・システムは、負荷オペレーティング・システムのいずれか1つである。
【0223】
命令モジュール1104は、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求され、マッピング関係設定モジュールによって予め構築されたマッピング関係を読み出すようにスタートアップ・プロセッサ・コアに命令し、それによってブートイメージを実行するプロセスにおいて、マッピング関係に従って、スタートアップ・プロセッサ・コアが物理メモリ・アドレスにアクセスすることを可能にし、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令するように構成され、ここでブートイメージは第1の負荷オペレーティング・システムのスタートアップ・パラメータを含み、スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む。
【0224】
この実施例において提供される管理オペレーティング・システムは、上記のリソース処理方法の実施例の技術的解決策を実行してもよく、類似した実現原理および技術的効果を有し、詳細はこの実施例においてここで繰り返し記載されない。
【0225】
図12は、本発明による管理オペレーティング・システムの実施例2の概要構造図である。この実施例は、
図11における実施例に基づいて実現され、具体的には、次の通りである。
【0226】
任意選択で、命令モジュール1104は、具体的には、
スタートアップ・プロセッサ・コアにコア間割り込みメッセージを送信し、ここでコア間割り込みメッセージは、スタートアップ・プロセッサ・コアを初期化するように構成された、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するようにスタートアップ・プロセッサ・コアに命令し、
第1の負荷オペレーティング・システムに対応する初期化プログラムを実行するようにスタートアップ・プロセッサ・コアに命令することによって、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を初期化プログラムから読み出すようにスタートアップ・プロセッサ・コアに命令し、初期化プログラムの動作が終了した後に、ブートイメージの、物理メモリ内の位置にジャンプするようにスタートアップ・プロセッサ・コアに命令し、それによって第1の負荷オペレーティング・システムのブートイメージを実行するように構成される。
【0227】
任意選択で、管理オペレーティング・システムは、マッピング関係設定モジュールが、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定する前に、第1の負荷オペレーティング・システムについて、第1の負荷オペレーティング・システムを初期化するように構成された初期化プログラムを予め設定し、初期化プログラム内に、第1の負荷オペレーティング・システムのブートイメージの、物理メモリ・アドレス内の位置を予め設定するように構成された初期化プログラム構成モジュール1105をさらに含む。
【0228】
マッピング関係設定モジュール1102は、具体的には、初期化プログラム内に、第1の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定するように構成される。
【0229】
この実施例において提供される管理オペレーティング・システムは、上記のリソース処理方法の実施例の技術的解決策を実行してもよく、類似した実現原理および技術的効果を有し、詳細はこの実施例においてここで繰り返し記載されない。
【0230】
図13は、本発明による管理オペレーティング・システムの実施例3の概要構造図である。この実施例は、
図11における実施例に基づいて実現され、具体的には、次の通りである。
【0231】
任意選択で、管理オペレーティング・システムは、スタートアップ・プロセッサ・コア決定モジュールが、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定する前に、第2の負荷オペレーティング・システムの利用可能なプロセッサ・コアを獲得するように構成された利用可能プロセッサ・コア獲得モジュール1106をさらに含み、ここで第2の負荷オペレーティング・システムは、複数の負荷オペレーティング・システムの中で、第1の負荷オペレーティング・システム以外のログアウトされた負荷オペレーティング・システムであり、利用可能なプロセッサ・コアはスタートアップされたプロセッサ・コアを含み、第1の負荷オペレーティング・システムの物理リソース・セットは利用可能なプロセッサ・コアを含む。
【0232】
スタートアップ・プロセッサ・コア決定モジュール1103は、具体的には、第1の負荷オペレーティング・システムの物理リソース・セットが利用可能なプロセッサ・コアを含むとき、利用可能なプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定するように構成される。
【0233】
任意選択で、管理オペレーティング・システムは、スタートアップ・プロセッサ・コア決定モジュールが、利用可能なプロセッサ・コアの中で、第1の負荷オペレーティング・システムをスタートアップさせるスタートアップ・プロセッサ・コアを決定した後に、第1の負荷オペレーティング・システムについて、スタートアップ・プロセッサ・コアにおいてデーモンを予め設定し、デーモン内に、第1の負荷オペレーティング・システムのブートイメージの、物理メモリ・アドレス内の位置を予め設定するように構成されたデーモン構成モジュール1107をさらに含む。
【0234】
マッピング関係設定モジュール1102は、具体的には、第1の負荷オペレーティング・システムについて、デーモン内に、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定するように構成される。
【0235】
任意選択で、命令モジュール1104は、具体的には、スタートアップ・プロセッサ・コアにおいて動作しているデーモンにコア間割り込みメッセージを送信するように構成され、ここでコア間割り込みメッセージは、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係をデーモンから読み出すようにスタートアップ・プロセッサ・コアに命令し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の、デーモン構成モジュールによってデーモン内に予め設定された位置は、物理メモリ・アドレス内の、ブートイメージが配置された位置にジャンプするようにスタートアップ・プロセッサ・コアに命令し、それによって第1の負荷オペレーティング・システムのブートイメージを実行する。
【0236】
この実施例において提供される管理オペレーティング・システムは、上記のリソース処理方法の実施例の技術的解決策を実行してもよく、類似した実現原理および技術的効果を有し、詳細はこの実施例においてここで繰り返し記載されない。
【0237】
図12および
図13における実施例に基づいて、リソース割り当てモジュールは、具体的には、
負荷オペレーティング・システムの数量に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて1回目の区分を行って、複数の物理リソース・セットを取得するように構成され、ここで物理リソース・セットの数量は負荷オペレーティング・システムの数量に等しく、管理オペレーティング・システムは、各々の負荷オペレーティング・システムと各々の物理リソース・セットの間の対応を決定し、
リソース割り当てモジュールは、具体的には、対応に従って、各々の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを各々の負荷オペレーティング・システムに割り当てるように構成される。
【0238】
任意選択で、各々の物理リソース・セットはホスト・マシンのいくつかの外部デバイスをさらに含む。
【0239】
スタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられた外部デバイスの識別子、および、外部デバイスに対応するデバイス記述情報テーブルをさらに含む。
【0240】
図12および
図13における実施例に基づいて、管理オペレーティング・システムが、第1の負荷オペレーティング・システムの動作を監視するとき、管理オペレーティング・システムの構造は2つの可能な実現方式を含む。
【0241】
1つの可能な実現方式は、管理オペレーティング・システムが、
命令モジュールが、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令した後に、第1の負荷オペレーティング・システムの動作を監視するように構成された第1の監視モジュールと、
第1の監視モジュールの監視結果が、第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第1の予め設定された閾値より小さいことであるならば、物理リソースが第1の負荷オペレーティング・システムについて減少される必要があると決定し、減少される必要がある物理リソースのタイプ識別子を決定するように構成された第1のリソース管理モジュールであって、物理リソースのタイプ識別子は、物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される、第1のリソース管理モジュールと、をさらに含むことである。
【0242】
リソース割り当てモジュールは、減少される必要がある物理リソースのタイプ識別子に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて2回目の区分を行い、第1の負荷オペレーティング・システムの物理リソースを減少させるようにさらに構成され、ここで減少された物理リソースは減少される必要がある物理リソースのタイプ識別子に対応する物理リソースである。
【0243】
他の可能な実現方式は、管理オペレーティング・システムが、
命令モジュールが、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令した後に、第1の負荷オペレーティング・システムの動作を監視するように構成された第2の監視モジュールと、
第2の監視モジュールの監視結果が、第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第2の予め設定された閾値より大きいことであるならば、物理リソースが第1の負荷オペレーティング・システムについて追加される必要があると決定し、追加される必要がある物理リソースのタイプ識別子を決定するように構成された第2のリソース管理モジュールであって、物理リソースのタイプ識別子は、追加される必要がある物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される、第2のリソース管理モジュールと、をさらに含むことである。
【0244】
リソース割り当てモジュールは、追加される必要がある物理リソースのタイプ識別子に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて2回目の区分を行い、第1の負荷オペレーティング・システムの物理リソースを追加するようにさらに構成され、ここで追加された物理リソースは、追加される必要がある物理リソースのタイプ識別子に対応する物理リソースである。
【0245】
図12および
図13における実施例に基づいて、管理オペレーティング・システムが、第1の負荷オペレーティング・システムの動作を監視するとき、管理オペレーティング・システムの構造は2つの可能な実現方式を含む。
【0246】
1つの可能な実現方式は、管理オペレーティング・システムが、
命令モジュールが、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令した後に、第1の負荷オペレーティング・システムによって送信されたリソース減少要求メッセージを受信するように構成された第1の受信モジュールであって、リソース減少要求メッセージは、減少される必要がある物理リソースのタイプ識別子を含み、物理リソースのタイプ識別子は、物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される、第1の受信モジュールをさらに含むことである。
【0247】
リソース割り当てモジュールは、減少される必要がある物理リソースの、リソース減少要求メッセージ内のタイプ識別子に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて2回目の区分を行い、第1の負荷オペレーティング・システムの物理リソースを減少させるようにさらに構成され、ここで減少された物理リソースは、減少される必要がある物理リソースのタイプ識別子に対応する物理リソースである。
【0248】
他の可能な実現方式は、管理オペレーティング・システムが、
命令モジュールが、第1の負荷オペレーティング・システムについて予め構築されたブートイメージを実行するようにスタートアップ・プロセッサ・コアに命令した後に、第1の負荷オペレーティング・システムによって送信されたリソース追加要求メッセージを受信するように構成された第2の受信モジュールであって、リソース追加要求メッセージは、追加される必要がある物理リソースのタイプ識別子を含み、物理リソースのタイプ識別子は、物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される、第2の受信モジュールをさらに含むことである。
【0249】
リソース割り当てモジュールは、追加される必要がある物理リソースの、リソース追加要求メッセージ内のタイプ識別子に従って、物理リソース・プール内の、リソース・プール内の利用可能な物理リソースのリスト内の物理リソースの識別子に対応する利用可能な物理リソースにおいて2回目の区分を行い、第1の負荷オペレーティング・システムの物理リソースを追加するようにさらに構成され、ここで追加された物理リソースは、追加される必要がある物理リソースのタイプ識別子に対応する物理リソースである。
【0250】
上記の実施例に基づいて、追加される必要がある物理リソースがプロセッサ・コアであるならば、リソース割り当てモジュールは、さらに、具体的には、
第1の負荷オペレーティング・システムについて追加される必要があるプロセッサ・コアを、第1の負荷オペレーティング・システムに属す物理リソースとしてマークし、第1の負荷オペレーティング・システムにリソース追加メッセージを送信するように構成され、ここでリソース追加メッセージは、追加される必要があるプロセッサ・コアの識別子を含み、
リソース構成モジュールは、さらに、具体的には、追加されたプロセッサ・コアにジャンプ命令を送信するように構成され、ここでジャンプ命令は、第1の負荷オペレーティング・システムのカーネル・プログラムを実行するように、追加されたプロセッサ・コアに命令し、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムを実行するために要求される全てのマッピング関係をカーネル・プログラムから読み出すように、追加されたプロセッサ・コアに命令するために使用される。
【0251】
上記の実施例に基づいて、減少される必要がある物理リソースがプロセッサ・コアであるならば、リソース割り当てモジュールは、さらに、具体的には、
第1の負荷オペレーティング・システムにリソース減少メッセージを送信するように構成され、ここでリソース減少メッセージは、解放される必要があるプロセッサ・コアの識別子を含み、
リソース構成モジュールは、さらに、具体的には、第1の負荷オペレーティング・システムによって解放されたプロセッサ・コアの識別子を獲得し、解放されたプロセッサ・コアの識別子をリソース・プール内の利用可能な物理リソースのリストに追加するように構成され、ここで解放されたプロセッサ・コアは、減少される必要があるプロセッサ・コアの識別子に対応するプロセッサ・コアである。
【0252】
上記の実施例に基づいて、追加される必要がある物理リソースが物理メモリ・リソースであるならば、リソース割り当てモジュールは、さらに、具体的には、第1の負荷オペレーティング・システムについて追加される必要がある物理メモリ・アドレスを、第1の負荷オペレーティング・システムに属す物理リソースとしてマークし、第1の負荷オペレーティング・システムにリソース追加メッセージを送信するように構成され、ここでリソース追加メッセージは、追加される必要がある物理メモリ・アドレスの識別子を含む。
【0253】
上記の実施例に基づいて、減少される必要がある物理リソースが物理メモリ・リソースであるならば、リソース割り当てモジュールは、さらに、具体的には、第1の負荷オペレーティング・システムにリソース減少メッセージを送信するように構成され、ここでリソース減少メッセージは、解放される必要がある物理メモリ・アドレスの識別子を含み、
リソース構成モジュールは、さらに、具体的には、第1の負荷オペレーティング・システムによって解放された物理メモリ・アドレスの識別子を獲得し、解放された物理メモリ・アドレスの識別子をリソース・プール内の利用可能な物理リソースのリストに追加するように構成され、ここで解放された物理メモリ・アドレスは、解放される必要がある物理メモリ・アドレスの識別子に対応する物理メモリ・アドレスである。
【0254】
上記の実施例に基づいて、追加される必要がある物理リソースが外部デバイス・リソースであるならば、リソース割り当てモジュールは、さらに、具体的には、第1の負荷オペレーティング・システムについて追加される必要がある外部デバイスを、第1の負荷オペレーティング・システムに属す物理リソースとしてマークし、ホット挿入メッセージを第1の負荷オペレーティング・システムに送信するように構成され、ここでホット挿入メッセージは、追加される必要がある外部デバイスの識別子、および、追加される外部デバイスに対応するデバイス記述情報テーブルを獲得するように第1の負荷オペレーティング・システムに命令するために使用される。
【0255】
上記の実施例に基づいて、減少される必要がある物理リソースが外部デバイス・リソースであるならば、リソース割り当てモジュールは、さらに、具体的には、ホット除去メッセージを第1の負荷オペレーティング・システムに送信するように構成され、ここでホット除去メッセージは、減少される必要がある外部デバイスの識別子を含み、
リソース構成モジュールは、さらに、具体的には、第1の負荷オペレーティング・システムについて減少された外部デバイスの識別子を獲得し、減少された外部デバイスの識別子をリソース・プール内の利用可能な物理リソースのリストに追加するように構成され、ここで減少された外部デバイスは、減少される必要がある外部デバイスの識別子に対応する外部デバイスである。
【0256】
この実施例において提供される管理オペレーティング・システムは、上記のリソース処理方法の実施例の技術的解決策を実行してもよく、類似した実現原理および技術的効果を有し、詳細はこの実施例においてここで繰り返し記載されない。
【0257】
図11から
図13における実施例に基づいて、管理オペレーティング・システムは、動作するために要求される他のモジュール、例えば、
管理オペレーティング・システムと他の負荷オペレーティング・システムの間の最下位レイヤ通信を実現するように構成されたインスタンス間通信モジュールであって、通知および応答は、ネットワークを使用することによってではなく、プロセッサ間割り込み方式で一般に行われる、インスタンス間通信モジュール、
リソース・ランタイム補助モジュールであって、ハードウェア機能の制限のために、外部デバイスの割り込みが負荷オペレーティング・システムに直接にルーティングされることができないとき、管理オペレーティング・システムのリソース・ランタイム補助モジュールは割り込みを転送し、割り込みへの正常な応答を実現することを助けてもよく、または、ハードウェア機能が、割り込みの自動的なルーティングおよび直接メモリ・アクセス(Direct Memory Access、略してDMA)の自由な構成を十分にサポートするとき、すなわち、外部デバイスの割り込みが負荷オペレーティング・システムに直接にルーティングされるとき、リソース・ランタイム補助モジュールは無効にされてもよい、リソース・ランタイム補助モジュール、
端末(キーボード、マウス、またはグラフィック・カード)を必要とするLight OSのために仮想端末デバイスを用意し、メモリ共有のようなメカニズムを使用することによって通信効率を保証し、動作におけるサポートを提供するように構成された端末サービス・モジュール、および、
システムのユーザ指向の管理インタフェースを仮想化し、ユーザが複雑なアプリケーションを管理することを容易にし、適切なアプリケーション・スケジューリング・ポリシーを開発するように構成されたアプリケーション管理モジュール、をさらに含んでもよい。
【0258】
図14は、本発明による負荷オペレーティング・システムの実施例1の概要構造図である。この実施例において提供される負荷オペレーティング・システムは、
図1に表わされたマルチ
カーネル・オペレーティング・システムに適用され、ここでマルチ
カーネル・オペレーティング・システムは、ホスト・マシンにおいて動作する、管理オペレーティング・システムおよび複数の負荷オペレーティング・システムを含むとともに、物理リソース・プールを含み、物理リソース・プールは、ホスト・マシンの、プロセッサ・コアおよび物理メモリを含み、各々の負荷オペレーティング・システムは、管理オペレーティング・システムによって割り当てられた物理リソース・セットを排他的に使用し、各々の物理リソース・セットは、ホスト・マシンのプロセッサ・コアのいくつか、および、ホスト・マシンの物理メモリの一部を含み、管理オペレーティング・システムは、各々の負荷オペレーティング・システムについてブートイメージを予め構築し、各々の負荷オペレーティング・システムについて、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係を設定し、負荷オペレーティング・システム140は、マッピング関係獲得モジュール1401、命令実行モジュール1402、スタートアップ・パラメータ獲得モジュール1403、および物理リソース・セット獲得モジュール1404を含む。
【0259】
マッピング関係獲得モジュール1401は、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムのブートイメージを実行するために要求されるマッピング関係を読み出すように構成され、ここでマッピング関係は、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアが、物理メモリ・アドレスにアクセスすることを可能にするために使用され、第1の負荷オペレーティング・システムは、マルチ
カーネル・オペレーティング・システム内のいずれかの負荷オペレーティング・システムである。
【0260】
命令実行モジュール1402は、管理オペレーティング・システムによって設定された、ブートイメージ・ジャンプを実行するための命令に従って、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプし、マッピング関係に従って、第1の負荷オペレーティング・システムに対応するブートイメージを実行するように構成される。
【0261】
スタートアップ・パラメータ獲得モジュール1403は、命令実行モジュールによって第1の負荷オペレーティング・システムのブートイメージを実行するプロセスにおいて、第1の負荷オペレーティング・システムのブートイメージから第1の負荷オペレーティング・システムのスタートアップ・パラメータを獲得するように構成され、ここでスタートアップ・パラメータは、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアの識別子、および、第1の負荷オペレーティング・システムに割り当てられた物理メモリ・アドレスの識別子を含む。
【0262】
物理リソース・セット獲得モジュール1404は、プロセッサ・コアの識別子および第1の負荷オペレーティング・システムの物理メモリ・アドレスの識別子に従って、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定するように構成される。
【0263】
この実施例において提供される負荷オペレーティング・システムは、上記のリソース処理方法の実施例の技術的解決策を実行してもよく、類似した実現原理および技術的効果を有し、詳細はこの実施例においてここで繰り返し記載されない。
【0264】
図15は、本発明による負荷オペレーティング・システムの実施例2の概要構造図である。この実施例は、
図14における実施例に基づいて実現され、具体的には、次の通りである。
【0265】
任意選択で、マッピング関係獲得モジュール1401は、具体的には、
管理オペレーティング・システムによって送信されたコア間割り込みメッセージを受信するように構成され、ここでスタートアップ・プロセッサ・コアは、コア間割り込みメッセージの命令に従って、スタートアップ・プロセッサ・コアを初期化するように構成された、第1の負荷オペレーティング・システムに対応する初期化プログラムを実行し、
マッピング関係獲得モジュール1401は、具体的には、初期化プログラムを実行し、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係を初期化プログラムから読み出すように構成される。
【0266】
命令実行モジュール1402は、具体的には、初期化プログラムを実行し、管理オペレーティング・システムによって初期化プログラム内に予め設定されたジャンプ命令を初期化プログラムから読み出し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプするように構成される。
【0267】
任意選択で、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアは、スタートアップされた、管理オペレーティング・システムによって決定されたプロセッサ・コアであり、デーモンは、第1の負荷オペレーティング・システムのスタートアップ・プロセッサ・コアにおいて動作し、デーモンは、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め設定され、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置、および、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求されるマッピング関係は、デーモン内に設定される。
【0268】
任意選択で、マッピング関係獲得モジュール1401は、具体的には、スタートアップ・プロセッサ・コアにおいて動作しているデーモンが、管理オペレーティング・システムによって送信されたコア間割り込みメッセージを受信した後に、コア間割り込みメッセージの命令に従って、仮想メモリ・アドレスから物理メモリ・アドレスへの、ブートイメージを実行するために要求され、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって予め構築されたマッピング関係をデーモンから読み出すように構成される。
【0269】
命令実行モジュール1402は、具体的には、管理オペレーティング・システムによってデーモン内に予め設定されたジャンプ命令を読み出し、第1の負荷オペレーティング・システムに対応するブートイメージの、物理メモリ・アドレス内の位置にジャンプするように構成される。
【0270】
任意選択で、各々の物理リソース・セットはホスト・マシンのいくつかの外部デバイスをさらに含み、
スタートアップ・パラメータは、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられた外部デバイスの識別子、および、外部デバイスに対応するデバイス記述情報テーブルをさらに含む。
【0271】
任意選択で、負荷オペレーティング・システムは、物理リソース・セット獲得モジュールが、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定した後に、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムを実行するために要求される全てのマッピング関係を構築し、
仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムを実行するために要求される全てのマッピング関係に従って、物理メモリ・アドレスにアクセスするように構成されたマッピング関係構築モジュール1405をさらに含む。
【0272】
任意選択で、命令実行モジュール1402は、物理リソース・セット獲得モジュールが、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定した後に、第1の負荷オペレーティング・システムに割り当てられたプロセッサ・コアを使用することによって、管理オペレーティング・システムによって配送された特権命令を実行するようにさらに構成される。
【0273】
この実施例において提供される負荷オペレーティング・システムは、上記のリソース処理方法の実施例の技術的解決策を実行してもよく、類似した実現原理および技術的効果を有し、詳細はこの実施例においてここで繰り返し記載されない。
【0274】
図15における実施例に基づいて、第1の負荷オペレーティング・システムは、第1の負荷オペレーティング・システムの物理リソースを監視し、動的なリソース調整を実現し、任意選択で、負荷オペレーティング・システムは、
物理リソース・セット獲得モジュールが、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定した後に、第1の負荷オペレーティング・システムの物理リソースを監視するように構成された第1の監視モジュールと、
第1の監視モジュールの監視結果が、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第1の予め設定された閾値より小さいことであるならば、管理オペレーティング・システムにリソース減少要求メッセージを送信するように構成された第1の送信モジュールであって、リソース減少要求メッセージは、減少される必要がある物理リソースのタイプ識別子を含み、物理リソースのタイプ識別子は、減少される必要がある物理リソースが、プロセッサ・コア・リソースであるか、物理メモリ・リソースであるか、または外部デバイス・リソースであるかを区別するために使用される、第1の送信モジュールと、をさらに含む。
【0275】
任意選択で、負荷オペレーティング・システムは、
物理リソース・セット獲得モジュールが、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられ、第1の負荷オペレーティング・システムによって排他的に使用される物理リソース・セットを決定した後に、第1の負荷オペレーティング・システムの物理リソースを監視するように構成された第2の監視モジュールと、
第1の監視モジュールの監視結果が、管理オペレーティング・システムによって第1の負荷オペレーティング・システムに割り当てられた物理リソースの利用が第2の予め設定された閾値より大きいことであるならば、管理オペレーティング・システムにリソース追加要求メッセージを送信するように構成された第2の送信モジュールであって、リソース追加要求メッセージは、追加される必要がある物理リソースのタイプ識別子を含み、物理リソースのタイプ識別子は、追加される必要がある物理リソースが、プロセッサ・コア・リソースであるか、または物理メモリ・リソースであるかを区別するために使用される、第2の送信モジュールと、をさらに含む。
【0276】
任意選択で、追加される必要がある物理リソースがプロセッサ・コアであるならば、物理リソース・セット獲得モジュールは、さらに、具体的には、第2の送信モジュールが、リソース追加要求メッセージを管理オペレーティング・システムに送信した後に、
管理オペレーティング・システムによって送信されたリソース追加メッセージを受信するように構成され、ここでリソース追加メッセージは、追加される必要があるプロセッサ・コアの識別子を含み、
物理リソース・セット獲得モジュールは、さらに、具体的には、追加される必要があるプロセッサ・コアの識別子に従って、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって追加されたプロセッサ・コアを決定し、
第1の負荷オペレーティング・システムの追加されたプロセッサ・コアが、管理オペレーティング・システムによって送信されたジャンプ命令を受信したとき、ジャンプ命令に従って、第1の負荷オペレーティング・システムのカーネル・プログラムを実行し、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムを実行するために要求される全てのマッピング関係をカーネル・プログラムから読み出すように構成され、ここで第1の負荷オペレーティング・システムは、仮想メモリ・アドレスから物理メモリ・アドレスへの、第1の負荷オペレーティング・システムを実行するために要求される全てのマッピング関係をカーネル・プログラム内に予め設定する。
【0277】
任意選択で、減少される必要がある物理リソースがプロセッサ・コアであるならば、物理リソース・セット獲得モジュールは、さらに、具体的には、第1の送信モジュールが、リソース減少要求メッセージを管理オペレーティング・システムに送信した後に、
管理オペレーティング・システムによって送信されたリソース減少メッセージを受信するように構成され、ここでリソース減少メッセージは、解放される必要があるプロセッサ・コアの識別子を含み、
物理リソース・セット獲得モジュールは、さらに、具体的には、解放される必要があるプロセッサ・コアの識別子に従って、第1の負荷オペレーティング・システムによって解放される必要があるプロセッサ・コアを決定し、
プロセッサ・コアを解放するように構成され、ここで解放されたプロセッサ・コアは、減少される必要があるプロセッサ・コアの識別子に対応するプロセッサ・コアである。
【0278】
任意選択で、追加される必要がある物理リソースが物理メモリ・リソースであるならば、物理リソース・セット獲得モジュールは、さらに、具体的には、第2の送信モジュールが、リソース追加要求メッセージを管理オペレーティング・システムに送信した後に、
管理オペレーティング・システムによって送信されたリソース追加メッセージを受信するように構成され、ここでリソース追加メッセージは、追加される必要がある物理メモリ・アドレスの識別子を含み、
物理リソース・セット獲得モジュールは、さらに、具体的には、追加される必要がある物理メモリ・アドレスの識別子に従って、第1の負荷オペレーティング・システムについて管理オペレーティング・システムによって追加された物理メモリ・アドレスを決定するように構成される。
【0279】
任意選択で、減少される必要がある物理リソースが物理メモリ・リソースであるならば、物理リソース・セット獲得モジュールは、さらに、具体的には、第1の送信モジュールが、リソース減少要求メッセージを管理オペレーティング・システムに送信した後に、
管理オペレーティング・システムによって送信されたリソース減少メッセージを受信するように構成され、ここでリソース減少メッセージは、解放される必要がある物理メモリ・アドレスの識別子を含み、
物理リソース・セット獲得モジュールは、さらに、具体的には、解放される必要がある物理メモリ・アドレスの識別子に従って、第1の負荷オペレーティング・システムによって解放される必要がある物理メモリ・アドレスを決定し、
物理メモリ・アドレスを解放するように構成され、ここで解放された物理メモリ・アドレスは解放される必要がある物理メモリ・アドレスの識別子に対応する物理メモリ・アドレスである。
【0280】
任意選択で、追加される必要がある物理リソースが外部デバイス・リソースであるならば、物理リソース・セット獲得モジュールは、さらに、具体的には、第2の送信モジュールが、リソース追加要求メッセージを管理オペレーティング・システムに送信した後に、
管理オペレーティング・システムによって送信されたホット挿入メッセージを受信するように構成され、ここでホット挿入メッセージは、追加される必要がある外部デバイスの識別子、および、追加される外部デバイスに対応するデバイス記述情報テーブルを獲得するように第1の負荷オペレーティング・システムに命令するために使用され、
物理リソース・セット獲得モジュールは、さらに、具体的には、追加される必要がある外部デバイスの識別子、および、追加される外部デバイスに対応するデバイス記述情報テーブルに従って、追加される必要がある外部デバイスの識別子に対応する外部デバイスにおいてホット挿入操作を実行するように構成される。
【0281】
任意選択で、減少される必要がある物理リソースが物理メモリ・リソースであるならば、物理リソース・セット獲得モジュールは、さらに、具体的には、第1の送信モジュールが、リソース減少要求メッセージを管理オペレーティング・システムに送信した後に、
管理オペレーティング・システムによって送信されたホット除去メッセージを受信するように構成され、ここでホット除去メッセージは、減少される必要がある外部デバイスの識別子を含み、
物理リソース・セット獲得モジュールは、さらに、具体的には、減少される必要がある外部デバイスの識別子に従って、減少される必要がある外部デバイスの識別子に対応する外部デバイスについてホット除去操作を実行するように構成される。
【0282】
この実施例において提供される負荷オペレーティング・システムは、上記のリソース処理方法の実施例の技術的解決策を実行してもよく、類似した実現原理および技術的効果を有し、詳細はこの実施例においてここで繰り返し記載されない。
【0283】
図14および
図15における実施例に基づいて、負荷オペレーティング・システムは、動作するために要求される他のモジュール、例えば、
ホスト・マシン内の、負荷オペレーティング・システムと管理オペレーティング・システムまたは他の負荷オペレーティング・システムの間の高速な通信を行うように構成されたインスタンス間通信モジュール、
仮想端末であって、管理オペレーティング・システムによって提供される端末仮想化サービスを使用することによって、負荷オペレーティング・システムは、端末方式でユーザによって直接に操作されてもよい、仮想端末、および、
管理オペレーティング・システムによって、または他のアプリケーションによって配備されたアプリケーションを受信し、アプリケーションを動作させ、アプリケーションの実行を管理するように構成されたアプリケーション管理モジュール、をさらに含んでもよい。
【0284】
図16は、異種プラットフォームにおけるマルチ
カーネル・システムのアーキテクチャの概要図である。
図16に表わされているように、本発明による仮想化システムのこの実施例において、異種ノードにおいて、データ処理ユニット(Data Processing Unit、略してDPU)、ジーオン(Xeon)プロセッサ、および汎用グラフィック処理ユニット(General Purpose Graphic Processing Unit、略してGPGPU)のようなプロセッサが存在する。各々のプロセッサは複数のプロセッサ・コアを含み、異種プロセッサは、PCI-Eバスを使用することによって相互接続され、均一でないメモリ・アクセス(Non-uniform Memory Access、略してNUMA)方式で組み合わされる。異種プラットフォームにおいて、物理メモリ、ディスク・アレイ、およびネットワーク・アダプタ・アレイのようなリソースも存在し、これらはフロント・サイド・バス、入力/出力制御センター、およびPCIバスのようなデバイスを使用することによって接続される。
【0285】
この実施例において、管理オペレーティング・システムおよびいくつかの負荷オペレーティング・システムは、ジーオン・プロセッサに対応するプロセッサ・コアにおいて動作し、他のカスタマイズされた負荷オペレーティング・システムは、他のプロセッサに対応するプロセッサ・コアにおいて動作し、例えば、GPGPUは、高い並列度を有するコンピューティング・タスクを動作させるために適し、DPUは、データ処理サービスを動作させるために適している。従って、負荷オペレーティング・システムは、各々のプロセッサのサービス・タイプに従って、GPGPUおよびDPUのために別個にカスタマイズされ、例えば、GPGPUのためにカスタマイズされた負荷オペレーティング・システムは、基本的な行列操作のためのランタイム・ライブラリ・サポートのみを含み、コンピュータ統一デバイス・アーキテクチャ(Compute Unified Device Architecture、略してCUDA)のような言語を主にサポートし、DPUのためにカスタマイズされた負荷オペレーティング・システムは、データ処理のためのパッケージ・サポートのみを含み、分散システム・インフラストラクチャ(例えば、Hadoop)のようなアプリケーションを主にサポートし、他のコンピューティング・コンポーネントを除外する。
【0286】
管理オペレーティング・システムは、PCI-Eスイッチによって接続されたメモリ(例えば、DRAM)をさらに管理し、管理者によって指定された構成ファイルに従って、DPUにおける複数の負荷オペレーティング・システムをスタートアップさせ、アプリケーション管理プログラムを使用することによって負荷オペレーティング・システムにタスクを送信してもよい。任意選択で、データ処理アプリケーションについて、プロセスおよびスレッドの数量におけるアプリケーションの要求条件が高くないので、複数のコアがデータ・チャネル処理能力を最適化するとき、同時に発生するスレッドおよびプロセスのようなデータ構造についてのサポートが減少されてもよく、それにより空間または性能のオーバーヘッドを減少させ、性能を改善する。
【0287】
図17は、本発明によるホスト・マシンの実施例1の概要構造図である。
図17に表わされているように、この実施例において提供されるホスト・マシン170は、プロセッサ1701およびメモリ1702を含み、ここでメモリ1702は実行命令を記憶し、ホスト・マシン170が動作するとき、プロセッサ1701はメモリ1702と通信し、プロセッサ1701は、メモリ1702内の実行命令を実行して、ホスト・マシン170が上記のリソース処理方法の技術的解決策の操作を実行することを可能にする。
【0288】
この実施例におけるホスト・マシンは、本発明による上記の仮想マシンのシステム管理方法の実施例の技術的解決策を実行するように構成されてもよく、類似した実現原理および技術的効果を有し、詳細はここで繰り返し記載されない。
【0289】
本出願において提供されるいくつかの実施例において、開示されたシステムおよび方法は他の方式で実現されてもよいことを理解すべきである。例えば、開示されたシステムの実施例は例示に過ぎない。例えば、モジュールの区分は論理的な機能区分に過ぎず、実際の実現において他の区分でもよい。例えば、複数のモジュールまたはコンポーネントは、他のシステムに組み合わされ、または統合されてもよく、またはいくつかの特徴は、無視され、または行われなくてもよい。加えて、表示され、または論じられた相互の結合または直接の結合または通信接続は、いくつかのインタフェースを通して実現されてもよい。モジュール間の間接の結合または通信接続は、電子的、機械的、または他の形式で実現されてもよい。
【0290】
この技術分野の当業者は、方法の実施例のステップの全てまたはいくつかは、関連するハードウェアに命令するプログラムによって実現されてもよいことを理解できる。プログラムは、コンピュータ読み取り可能な記憶媒体に記憶されてもよい。プログラムが動作するとき、方法の実施例のステップが行われる。上記の記憶媒体は、ROM、RAM、磁気ディスク、または光ディスクのような、プログラム・コードを記憶できるあらゆる媒体を含む。
【0291】
最後に、上記の実施例は、本発明の技術的解決策を記載するために意図されるに過ぎず、本発明を限定するために意図されないことに留意すべきである。本発明は上記の実施例を参照して詳細に記載されているが、この技術分野の当業者は、彼らが、本発明の実施例の技術的解決策の範囲から逸脱することなく、依然として、上記の実施例において記載された技術的解決策に変更を行い、またはそのいくつかまたは全ての技術的特徴に等価な置換を行ってもよいことを理解すべきである。