JP2006018813A - 1台の仮想マシン内の複数の仮想プロセッサを初期化するためのシステムおよび方法 - Google Patents
1台の仮想マシン内の複数の仮想プロセッサを初期化するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2006018813A JP2006018813A JP2005158858A JP2005158858A JP2006018813A JP 2006018813 A JP2006018813 A JP 2006018813A JP 2005158858 A JP2005158858 A JP 2005158858A JP 2005158858 A JP2005158858 A JP 2005158858A JP 2006018813 A JP2006018813 A JP 2006018813A
- Authority
- JP
- Japan
- Prior art keywords
- execution thread
- virtual
- virtual processor
- processor
- virtual machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
Abstract
【解決手段】この方法は、このホストが複数のプロセッサのVMを作成して「スタータ仮想プロセッサ」をアクティブにし、これに次の仮想プロセッサにスタートアップ・コマンドを発行させ、仮想マシン・モニタ(VMM)がターゲット仮想プロセッサにハードウェア・リソースにアクセスするための最高優先順位を付与し、このVMMが「スタータ仮想プロセッサ」に強制的にリソースの制御を放棄させ、VMMがこれらのリソースの制御をこのターゲット仮想プロセッサに渡し、これがスタートアップ・ルーチンを実行し完了し、VMMがこのターゲット仮想プロセッサに強制的にリソースの制御を放棄させ、VMMが後続の仮想プロセッサをアクティブにするためにリソースの制御をこの「スタータ仮想プロセッサ」に返す、ことを含む。
【選択図】図5
Description
本発明についての多数の実施形態が、コンピュータ上で実行することができる。図1および以下の説明では、本発明を実施することができる適切なコンピューティング環境の一般的な簡潔な説明を提供することが意図されている。必要ではないが、本発明については、クライアントワーク・ステーションやサーバなどのコンピュータによって実行されるプログラム・モジュールなど、コンピュータ実行可能命令の一般的なコンテクストで説明することにする。一般的に、プログラム・モジュールは、特定のタスクを実施し、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでいる。さらに、本発明は、ハンドヘルド・デバイス、マルチ・プロセッサ・システム、マイクロ・プロセッサ・ベースのまたはプログラマブルな電電製品、ネットワークPC、ミニ・コンピュータ、メインフレーム・コンピュータなどを含めて、他のコンピュータ・システム構成を用いて実行することもできることが当業者には理解されよう。本発明は、分散コンピューティング環境中において実施することもでき、ここでは、タスクは、通信ネットワークを介してリンクされたリモート処理デバイスによって実施される。分散コンピューティング環境においては、プログラム・モジュールは、ローカル・メモリ・ストレージ・デバイス中にもリモート・メモリ・ストレージ・デバイス中にも配置することができる。
概念的な観点から、コンピュータ・システムは、一般的にハードウェアの基本レイヤ上で実行される1つまたは複数のソフトウェア・レイヤを含んでいる。この階層化することは、抽象化の理由から行われる。所与のソフトウェア・レイヤについてのインターフェースを定義することにより、このレイヤは、その上の他の諸レイヤとは異なるように実装することができる。うまく設計されたコンピュータ・システムにおいては、各レイヤは、その直下のレイヤについてしか知らない(またそれにしか依拠しない)。このことは、レイヤまたは「スタック」(複数の隣接レイヤ)が、前記レイヤまたはスタックの上位の諸レイヤに悪影響を与えずに置き換えることができることを可能にする。例えば、ソフトウェア・アプリケーション(上位レイヤ)は、一般的にそのオペレーティング・システム(下位レイヤ)という下位レベルに依存して、ファイルをある形態の恒久的ストレージに書き込み、この結果、これらのアプリケーションは、データをフロッピー(登録商標)ディスクに書き込む、ハード・ドライブに書き込むか、あるいはネットワーク・フォルダに書き込む、ことの間におけるその違いを理解する必要がない。この下位レイヤが、ファイルを書き込むための新しいオペレーティング・システムで置き換えられる場合にも、この上位レイヤ・ソフトウェア・アプリケーションのオペレーションは、影響を受けなくて済む。
図4は、図3Bのシステムの各部分を示し、そこでは複数の仮想プロセッサ(VP)をさらに含んでいる。当業者には知られており理解されているように、VPは、物理プロセッサに論理的に等価な仮想デバイスであり、この仮想マシンは、ゲスト・オペレーティング・システムに対してエミュレートする。図4のマルチ・プロセッサVMシステムにおいて、VM A108は、VP A1 124、VP A2 126ないしVP AN 128を含み、これらは、即ちこのVM A108は、それぞれ例えばアプリケーションA1 116、アプリケーションA2 118ないしアプリケーションAN 122を実行するためのゲストOS A112に対してエミュレートすることができる。さらに、各VPは、関連する仮想ローカルAPICを有しており、この仮想ローカルAPICは、よく知られているようにそれによって1つのプロセッサが別のプロセッサに割込みを行うことができるプロセスを処理し、1つのプロセッサが別のプロセッサを起動できるようにする。プロセッサがアクセスする際に、このローカルAPICデバイスは、割込みのマスキングを行い、割込みを可能にし、プロセッサ間の割込みを生成するなどのアクションを実施する。より詳細には、図4のマルチ・プロセッサVMシステムにおいて、VM A108は、VP A1 124に関連する仮想ローカルAPIC A1 130と、VP A2 126に関連する仮想ローカルAPIC A2 132と、VP AN 128に関連する仮想ローカルAPIC AN 134をさらに備える。同様に、VM B110は、複数のVPおよび仮想ローカルAPICデバイスを含むことができるが、図を簡単にするためにこれらは示していない。
本明細書中で説明した様々なシステム、方法、および技法は、ハードウェアまたはソフトウェア、あるいは適切な場合にはこれら両者の組合せを用いて実装することができる。したがって、本発明の方法および装置、またはある種の態様またはその一部分は、フロッピー(登録商標)ディスケット、CD−ROM、ハード・ドライブ、他の任意のマシン読取り可能ストレージ媒体など有形の媒体の形で実施されるプログラム・コード(すなわち、命令)の形態を取ることが可能であり、ここでは、このプログラム・コードが、コンピュータなどのマシンにロードされ、マシンによって実行される場合に、このマシンは、本発明を実行するための装置になる。プログラマブル・コンピュータ上におけるプログラム・コード実行の場合においては、このコンピュータは一般に、プロセッサ、(揮発性および不揮発性のメモリおよび/またはストレージ・エレメントを含めて)このプロセッサにより読取り可能なストレージ媒体、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを含むことになる。1つまたは複数のプログラムは、高レベルの手続き形言語またはオブジェクト指向プログラミング言語の形で実装されてコンピュータ・システムと情報をやりとりすることが好ましい。しかし、この1つ(または複数)のプログラムは、必要に応じてアセンブリ言語または機械語で実装することができる。いずれにしても、この言語は、コンパイラ型言語またはインタープリタ型言語とすることが可能であり、ハードウェア実装形態と組み合わせることができる。
21 処理装置
22 システム・メモリ
23 システム・バス
27 ハード・ドライブ
28 フロッピー(登録商標)ドライブ
29 着脱可能ストレージ
30 光ドライブ
31 光ディスク
32 ハードディスク・ドライブI/F
33 磁気ディスク・ドライブI/F
34 光ドライブI/F
36 アプリケーション・プログラム
36’ アプリケーション・プログラム
37 他のプログラム
38 プログラム・データ
40 キーボード
42 マウス
46 シリアルポートI/F
47 モニタ
48 ビデオ・アダプタ
49 リモート・コンピュータ
50 フロッピー(登録商標)ドライブ
53 ネットワークI/F
54 モデム
55 ホスト・アダプタ
56 SCSIバス
62 ストレージ・デバイス
90 コンピュータ・システム
92 ホスト・オペレーティング・システムおよびハードウェア・アーキテクチャ
94 エミュレーション・プログラム
96 ゲスト・ハードウェア・アーキテクチャ
98 ゲスト・オペレーティング・システム
100 ソフトウェア・アプリケーション
102 コンピュータ・ハードウェア
104 ホスト・オペレーティング・システム
104’ 仮想マシン・モニタ
104” ホスト・オペレーティング・システム
108 仮想マシンA
110 仮想マシンB
112 ゲストOS A
114 ゲストOS B
116 アプリケーションA1
118 アプリケーションA2
120 アプリケーションB1
122 アプリケーションAN
124
130 仮想ローカルAPIC A1
132 仮想ローカルAPIC A2
134 仮想ローカルAPIC AN
136 スレッドA1
138 スレッドA2
140 スレッドAN
Claims (32)
- 仮想マシン環境において仮想プロセッサを起動するための方法であって、前記仮想マシン環境は、第1の実行スレッドに対応する第1の仮想プロセッサ上で実行されるゲスト・オペレーティング・システムを備え、前記方法は、
第2の実行スレッドに対応する第2の仮想プロセッサにスタートアップ・コマンドを発行すること、
前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位を提供すること、および
前記第2の仮想プロセッサおよびその対応する第2の実行スレッドが、スタートアップを完了すること
を備えることを特徴とする方法。 - 前記第2の仮想プロセッサおよびその対応する第2の実行スレッドがスタートアップを完了した後に、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位以外の優先順位を提供することをさらに備えることを特徴とする請求項1に記載の方法。
- 前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに強制的に少なくとも1つのハードウェア・リソースの制御を放棄させ、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに、そのハードウェア・リソースに対する制御を提供することをさらに備えることを特徴とする請求項1に記載の方法。
- 前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに強制的に少なくとも1つのハードウェア・リソースの制御を放棄させ、前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに、そのハードウェア・リソースに対する制御を提供することをさらに備えることを特徴とする請求項1に記載の方法。
- 仮想マシン環境において仮想プロセッサを起動するための方法であって、前記仮想マシン環境は、仮想マシン・モニタによってエミュレートされる仮想マシン上で実行されるゲスト・オペレーティング・システムを備え、前記仮想マシンは、別々の実行スレッドとして実装される複数の仮想プロセッサを備え、前記ゲスト・オペレーティング・システムは、プロセッサを起動するコマンドを発行するためのサブシステム(例えば、BIOS)を備え、前記方法は、
前記ゲスト・オペレーティング・システムが、第1の実行スレッドに対応する第1の仮想プロセッサ上で実行され、前記第1の仮想プロセッサを介して第2の実行スレッドに対応する第2の仮想プロセッサにスタートアップ・コマンドを発行すること、
前記仮想マシン・モニタが、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位を提供し、それによって前記オペレーティング・システムに対応する前記第1の実行スレッドが実行を継続しないように防止し、したがって前記スタートアップ・コマンドに対応するタイムアウトを防止すること、
前記仮想マシン・モニタが、前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに強制的に1組のすべてのハードウェア・リソースの制御を放棄させ、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに、そのハードウェア・リソースに対する制御を提供すること、
前記第2の仮想プロセッサおよびその対応する第2の実行スレッドが、スタートアップを完了すること、
前記仮想マシン・モニタが、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位以外の優先順位を提供すること、および
前記仮想マシン・モニタが、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに強制的に前記1組のすべてのハードウェア・リソースの制御を放棄させ、前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに、そのハードウェア・リソースに対する制御を提供すること
を備えることを特徴とする方法。 - 前記仮想マシン・モニタは、ホスト・オペレーティング・システムのコンポーネント部分であることを特徴とする請求項5に記載の方法。
- 前記第1の実行スレッドおよび前記第2の実行スレッドは、共に第1の物理プロセッサ上で実行されることを特徴とする請求項5に記載の方法。
- 前記第1の実行スレッドは、第1の物理プロセッサ上で実行され、前記第2の実行スレッドは、第2の物理プロセッサ上で実行され、前記方法は、
前記仮想マシン・モニタのエレメントが前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位を提供するのと実質的に並行して、前記第1のスレッドの実行を一時停止すること、および
前記仮想マシン・モニタのエレメントが前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位以外の優先順位を提供するのと実質的に並行して、前記第2のスレッドの実行を継続すること
をさらに備えることを特徴とする請求項5に記載の方法。 - 仮想マシン環境において仮想プロセッサを起動するためのシステムであって、前記仮想マシン環境は、第1の実行スレッドに対応する第1の仮想プロセッサ上で実行されるゲスト・オペレーティング・システムを備え、前記システムは、
第2の実行スレッドに対応する第2の仮想プロセッサにスタートアップ・コマンドを発行すること、
前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位を提供すること、および
前記第2の仮想プロセッサおよびその対応する第2の実行スレッドが、スタートアップを完了すること
を実行するための少なくとも1つのサブ・システムを備えることを特徴とするシステム。 - 前記第2の仮想プロセッサおよびその対応する第2の実行スレッドがスタートアップを完了した後に、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位以外の優先順位を提供するための少なくとも1つのサブ・システムをさらに備えることを特徴とする請求項9に記載のシステム。
- 前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに強制的に少なくとも1つのハードウェア・リソースの制御を放棄させ、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに、そのハードウェア・リソースに対する制御を提供するための少なくとも1つのサブ・システムをさらに備えることを特徴とする請求項9に記載のシステム。
- 前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに強制的に少なくとも1つのハードウェア・リソースの制御を放棄させ、前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに、そのハードウェア・リソースに対する制御を提供するための少なくとも1つのサブ・システムをさらに備えることを特徴とする請求項9に記載のシステム。
- 仮想マシン環境において仮想プロセッサを起動するためのシステムであって、前記仮想マシン環境は、仮想マシン・モニタによってエミュレートされる仮想マシン上で実行されるゲスト・オペレーティング・システムを備え、前記仮想マシンは、別々の実行スレッドとして実装される複数の仮想プロセッサを備え、前記ゲスト・オペレーティング・システムは、プロセッサを起動するコマンドを発行するためのサブ・システム(例えば、BIOS)を備え、前記システムは、
前記ゲスト・オペレーティング・システムが、第1の実行スレッドに対応する第1の仮想プロセッサ上で実行され、前記第1の仮想プロセッサを介して第2の実行スレッドに対応する第2の仮想プロセッサにスタートアップ・コマンドを発行すること、
前記仮想マシン・モニタが、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位を提供し、それによって前記オペレーティング・システムに対応する前記第1の実行スレッドが実行を継続しないように防止し、したがって前記スタートアップ・コマンドに対応するタイムアウトを防止すること、
前記仮想マシン・モニタが、前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに強制的に1組のすべてのハードウェア・リソースの制御を放棄させ、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに、そのハードウェア・リソースに対する制御を提供すること、
前記第2の仮想プロセッサおよびその対応する第2の実行スレッドが、スタートアップを完了すること、
前記仮想マシン・モニタが、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位以外の優先順位を提供すること、および
前記仮想マシン・モニタが、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに強制的に前記1組のすべてのハードウェア・リソースの制御を放棄させ、前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに、そのハードウェア・リソースに対する制御を提供すること
を実行するための少なくとも1つのサブ・システムを備えることを特徴とするシステム。 - 前記仮想マシン・モニタを、ホスト・オペレーティング・システムのコンポーネント部分とする少なくとも1つのサブ・システムをさらに備えることを特徴とする請求項13に記載のシステム。
- 前記第1の実行スレッドおよび前記第2の実行スレッドが、共に第1の物理プロセッサ上で実行されるようにする少なくとも1つのサブ・システムをさらに備えることを特徴とする請求項13に記載のシステム。
- 前記第1の実行スレッドが、第1の物理プロセッサ上で実行され、前記第2の実行スレッドが、第2の物理プロセッサ上で実行されるようにする少なくとも1つのサブ・システムをさらに備え、当該少なくとも1つのサブ・システムは
前記仮想マシン・モニタのエレメントが前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位を提供するのと実質的に並行して、前記第1のスレッドの実行を一時停止すること、および
前記仮想マシン・モニタのエレメントが前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位以外の優先順位を提供するのと実質的に並行して、前記第2のスレッドの実行を継続すること
を実行することを特徴とする請求項13に記載のシステム。 - 仮想マシン環境において仮想プロセッサを起動するためのコンピュータ読取り可能命令を備えるコンピュータ読取り可能媒体であって、前記仮想マシン環境は、第1の実行スレッドに対応する第1の仮想プロセッサ上で実行されるゲスト・オペレーティング・システムを備え、前記コンピュータ読取り可能命令は、
第2の実行スレッドに対応する第2の仮想プロセッサにスタートアップ・コマンドを発行すること、
前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位を提供すること、および
前記第2の仮想プロセッサおよびその対応する第2の実行スレッドが、スタートアップを完了すること
を実行するため各命令を備えることを特徴とするコンピュータ読取り可能媒体。 - 前記第2の仮想プロセッサおよびその対応する第2の実行スレッドがスタートアップを完了した後に、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位以外の優先順位を提供するための命令をさらに備えることを特徴とする請求項17に記載のコンピュータ読取り可能媒体。
- 前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに強制的に少なくとも1つのハードウェア・リソースの制御を放棄させ、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに、そのハードウェア・リソースに対する制御を提供するための命令をさらに備えることを特徴とする請求項17に記載のコンピュータ読取り可能媒体。
- 前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに強制的に少なくとも1つのハードウェア・リソースの制御を放棄させ、前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに、そのハードウェア・リソースに対する制御を提供するための命令をさらに備えることを特徴とする請求項17に記載のコンピュータ読取り可能媒体。
- 仮想マシン環境において仮想プロセッサを起動するためのコンピュータ読取り可能命令を備えるコンピュータ読取り可能媒体であって、前記仮想マシン環境は、仮想マシン・モニタによってエミュレートされる仮想マシン上で実行されるゲスト・オペレーティング・システムを備え、前記仮想マシンは、別々の実行スレッドとして実装される複数の仮想プロセッサを備え、前記ゲスト・オペレーティング・システムは、プロセッサを起動するコマンドを発行するためのサブ・システム(例えば、BIOS)を備え、前記コンピュータ読取り可能命令は、
前記ゲスト・オペレーティング・システムが、第1の実行スレッドに対応する第1の仮想プロセッサ上で実行され、前記第1の仮想プロセッサを介して第2の実行スレッドに対応する第2の仮想プロセッサにスタートアップ・コマンドを発行すること、
前記仮想マシン・モニタが、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位を提供し、それによって前記オペレーティング・システムに対応する前記第1の実行スレッドが実行を継続することを防止し、したがって前記スタートアップ・コマンドに対応するタイムアウトを防止すること、
前記仮想マシン・モニタが、前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに強制的に1組のすべてのハードウェア・リソースの制御を放棄させ、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに、そのハードウェア・リソースに対する制御を提供すること、
前記第2の仮想プロセッサおよびその対応する第2の実行スレッドが、スタートアップを完了すること、
前記仮想マシン・モニタが、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位以外の優先順位を提供すること、および
前記仮想マシン・モニタが、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに強制的に前記1組のすべてのハードウェア・リソースの制御を放棄させ、前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに、そのハードウェア・リソースに対する制御を提供すること
を実行する各命令を備えることを特徴とするコンピュータ読取り可能媒体。 - 前記仮想マシン・モニタは、ホスト・オペレーティング・システムのコンポーネント部分である命令をさらに備えることを特徴とする請求項21に記載のコンピュータ読取り可能媒体。
- 前記第1の実行スレッドおよび前記第2の実行スレッドは、共に第1の物理プロセッサ上で実行される命令をさらに備えることを特徴とする請求項21に記載のコンピュータ読取り可能媒体。
- 前記第1の実行スレッドが、第1の物理プロセッサ上で実行され、前記第2の実行スレッドが、第2の物理プロセッサ上で実行されようにする命令をさらに備え、当該命令は、
前記仮想マシン・モニタのエレメントが前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位を提供するのと実質的に並行して、前記第1のスレッドの実行を一時停止すること、
前記仮想マシン・モニタのエレメントが前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位以外の優先順位を提供するのと実質的に並行して、前記第2のスレッドの実行を継続すること
を実行する各命令をさらに備えることを特徴とする請求項21に記載のコンピュータ読取り可能媒体。 - 仮想マシン環境において仮想プロセッサを起動するためのハードウェア制御デバイスであって、前記仮想マシン環境は、第1の実行スレッドに対応する第1の仮想プロセッサ上で実行されるゲスト・オペレーティング・システムを備え、前記ハードウェア制御デバイスは、
第2の実行スレッドに対応する第2の仮想プロセッサにスタートアップ・コマンドを発行する手段と、
前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位を提供する手段と、
前記第2の仮想プロセッサおよびその対応する第2の実行スレッドが、スタートアップを完了する手段と
を備えることを特徴とするハードウェア制御デバイス。 - 前記第2の仮想プロセッサおよびその対応する第2の実行スレッドがスタートアップを完了した後に、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位以外の優先順位を提供する手段をさらに備えることを特徴とする請求項25に記載のハードウェア制御デバイス。
- 前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに強制的に少なくとも1つのハードウェア・リソースの制御を放棄させ、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに、そのハードウェア・リソースに対する制御を提供する手段をさらに備えることを特徴とする請求項25に記載のハードウェア制御デバイス。
- 前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに強制的に少なくとも1つのハードウェア・リソースの制御を放棄させ、前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに、そのハードウェア・リソースに対する制御を提供する手段をさらに備えることを特徴とする請求項25に記載のハードウェア制御デバイス。
- 仮想マシン環境において仮想プロセッサを起動するためのハードウェア制御デバイスであって、前記仮想マシン環境は、仮想マシン・モニタによってエミュレートされる仮想マシン上で実行されるゲスト・オペレーティング・システムを備え、前記仮想マシンは、別々の実行スレッドとして実装される複数の仮想プロセッサを備え、前記ゲスト・オペレーティング・システムは、プロセッサを起動するコマンドを発行するためのサブシステム(例えば、BIOS)を備え、前記ハードウェア制御デバイスは、
前記ゲスト・オペレーティング・システムが、第1の実行スレッドに対応する第1の仮想プロセッサ上で実行され、前記第1の仮想プロセッサを介して第2の実行スレッドに対応する第2の仮想プロセッサにスタートアップ・コマンドを発行する手段と、
前記仮想マシン・モニタが、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位を提供し、それによって前記オペレーティング・システムに対応する前記第1の実行スレッドが実行を継続しないように防止し、したがって前記スタートアップ・コマンドに対応するタイムアウトを防止する手段と、
前記仮想マシン・モニタが、前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに強制的に1組のすべてのハードウェア・リソースの制御を放棄させ、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに、そのハードウェア・リソースに対する制御を提供する手段と、
前記第2の仮想プロセッサおよびその対応する第2の実行スレッドが、スタートアップを完了する手段と、
前記仮想マシン・モニタが、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位以外の優先順位を提供する手段と、
前記仮想マシン・モニタが、前記第2の仮想プロセッサおよびその対応する第2の実行スレッドに強制的に前記1組のすべてのハードウェア・リソースの制御を放棄させ、前記第1の仮想プロセッサおよびその対応する第1の実行スレッドに、そのハードウェア・リソースに対する制御を提供する手段と
を備えることを特徴とするハードウェア制御デバイス。 - 前記仮想マシン・モニタを、ホスト・オペレーティング・システムのコンポーネント部分とする手段をさらに備えることを特徴とする請求項29に記載のハードウェア制御デバイス。
- 前記第1の実行スレッドおよび前記第2の実行スレッドは、共に第1の物理プロセッサ上で実行される手段をさらに備えることを特徴とする請求項29に記載のハードウェア制御デバイス。
- 前記第1の実行スレッドが、第1の物理プロセッサ上で実行され、前記第2の実行スレッドが、第2の物理プロセッサ上で実行されようにする手段をさらに備え、当該手段は、
前記仮想マシン・モニタのエレメントが前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位を提供するのと実質的に並行して、前記第1のスレッドの実行を一時停止すること、および
前記仮想マシン・モニタのエレメントが前記第2の仮想プロセッサおよびその対応する第2の実行スレッドにハードウェア・リソースを利用するための最高優先順位以外の優先順位を提供するのと実質的に並行して、前記第2のスレッドの実行を継続すること
実行することを特徴とする請求項29に記載のハードウェア制御デバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/882,967 US8271976B2 (en) | 2004-06-30 | 2004-06-30 | Systems and methods for initializing multiple virtual processors within a single virtual machine |
US10/882,967 | 2004-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006018813A true JP2006018813A (ja) | 2006-01-19 |
JP4806212B2 JP4806212B2 (ja) | 2011-11-02 |
Family
ID=35134601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005158858A Expired - Fee Related JP4806212B2 (ja) | 2004-06-30 | 2005-05-31 | 1台の仮想マシン内の複数の仮想プロセッサを初期化するためのシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8271976B2 (ja) |
EP (2) | EP3125113B1 (ja) |
JP (1) | JP4806212B2 (ja) |
KR (1) | KR20060047772A (ja) |
CN (1) | CN100527085C (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017513128A (ja) * | 2014-03-27 | 2017-05-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | マルチスレッド・ゲスト仮想マシン(vm)をディスパッチするためのシステム、方法およびコンピュータ・プログラム製品 |
US10430207B2 (en) | 2016-03-25 | 2019-10-01 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Method and electronic device for directly starting application on second virtual machine in operating environment of first virtual machine |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7007197B2 (en) * | 2002-05-31 | 2006-02-28 | Microsoft Corporation | Virtual logging system and method |
WO2006014554A2 (en) * | 2004-07-07 | 2006-02-09 | University Of Maryland | Method and system for monitoring system memory integrity |
US20060212840A1 (en) * | 2005-03-16 | 2006-09-21 | Danny Kumamoto | Method and system for efficient use of secondary threads in a multiple execution path processor |
US8732824B2 (en) * | 2006-01-23 | 2014-05-20 | Microsoft Corporation | Method and system for monitoring integrity of running computer system |
CN100464302C (zh) * | 2006-04-20 | 2009-02-25 | 联想(北京)有限公司 | 虚拟机***及其显卡访问方法 |
US20080127181A1 (en) * | 2006-06-30 | 2008-05-29 | Microsoft Corporation | Use of fixed-function device as general-purpose platform through virtualization |
US8756607B2 (en) * | 2006-08-14 | 2014-06-17 | Lsi Corporation | Method and system for creating and utilizing virtual hardware resources |
US7996835B2 (en) * | 2006-10-10 | 2011-08-09 | International Business Machines Corporation | System, method and program for managing communication with multiple configurations for virtual machine |
US8584109B2 (en) | 2006-10-27 | 2013-11-12 | Microsoft Corporation | Virtualization for diversified tamper resistance |
US8621459B2 (en) * | 2006-12-22 | 2013-12-31 | Intel Corporation | Method and apparatus for multithreaded guest operating system execution through a multithreaded host virtual machine monitor |
CN101241445B (zh) * | 2007-02-08 | 2011-07-27 | 联想(北京)有限公司 | 虚拟机***及其访问显卡的方法 |
US8219788B1 (en) * | 2007-07-23 | 2012-07-10 | Oracle America, Inc. | Virtual core management |
US8468533B2 (en) * | 2008-04-28 | 2013-06-18 | Panasonic Corporation | Virtual machine control device, method, and program wherein a switching task used to switch to the highest priority virtual machines is the highest priority task in the current virtual machine and the virtual machine that is the switching target |
US8650570B2 (en) * | 2008-06-02 | 2014-02-11 | Microsoft Corporation | Method of assigning instructions in a process to a plurality of scheduler instances based on the instruction, in which each scheduler instance is allocated a set of negoitaited processor resources |
CN101403983B (zh) * | 2008-11-25 | 2010-10-13 | 北京航空航天大学 | 基于虚拟机的多核处理器的资源监控方法及*** |
US8453149B2 (en) * | 2010-01-21 | 2013-05-28 | International Business Machines Corporation | Efficient multi-core processing of events |
KR20110094764A (ko) * | 2010-02-17 | 2011-08-24 | 삼성전자주식회사 | 트랜잭션 기반 입출력 인터페이스를 제공하는 가상화 장치 및 방법 |
CN101807056B (zh) * | 2010-03-16 | 2012-05-23 | 新疆威奥科技股份有限公司 | 无线数控焊接工作站的控制方法及其控制装置 |
US8527761B2 (en) | 2010-05-28 | 2013-09-03 | Dell Products, Lp | System and method for fuse enablement of a secure client hosted virtualization in an information handling system |
US8751781B2 (en) | 2010-05-28 | 2014-06-10 | Dell Products, Lp | System and method for supporting secure subsystems in a client hosted virtualization system |
US8990584B2 (en) * | 2010-05-28 | 2015-03-24 | Dell Products, Lp | System and method for supporting task oriented devices in a client hosted virtualization system |
US8458490B2 (en) | 2010-05-28 | 2013-06-04 | Dell Products, Lp | System and method for supporting full volume encryption devices in a client hosted virtualization system |
US9733963B2 (en) | 2010-09-17 | 2017-08-15 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Optimizing virtual graphics processing unit utilization |
AU2012211053A1 (en) * | 2011-01-27 | 2013-08-22 | L-3 Communications Corporation | Internet isolation for avoiding internet security threats |
US9026630B2 (en) | 2011-06-14 | 2015-05-05 | Vmware, Inc. | Managing resources in a distributed system using dynamic clusters |
US8701107B2 (en) | 2011-06-14 | 2014-04-15 | Vmware, Inc. | Decentralized management of virtualized hosts |
US8856784B2 (en) | 2011-06-14 | 2014-10-07 | Vmware, Inc. | Decentralized management of virtualized hosts |
WO2013032495A1 (en) * | 2011-08-30 | 2013-03-07 | Hewlett-Packard Development Company , L.P. | Communication with a virtual trusted runtime bios |
CN103294494B (zh) * | 2012-02-29 | 2018-07-03 | 中兴通讯股份有限公司 | 一种虚拟***自动化部署的方法和*** |
KR101387986B1 (ko) * | 2012-05-24 | 2014-04-22 | 성균관대학교산학협력단 | 가상화 장치 |
US9122780B2 (en) * | 2012-06-20 | 2015-09-01 | Intel Corporation | Monitoring resource usage by a virtual machine |
US9578664B1 (en) | 2013-02-07 | 2017-02-21 | Sprint Communications Company L.P. | Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system |
US9984083B1 (en) | 2013-02-25 | 2018-05-29 | EMC IP Holding Company LLC | Pluggable storage system for parallel query engines across non-native file systems |
US9563648B2 (en) | 2013-02-25 | 2017-02-07 | EMC IP Holding Company LLC | Data analytics platform over parallel databases and distributed file systems |
US10437591B2 (en) | 2013-02-26 | 2019-10-08 | Qualcomm Incorporated | Executing an operating system on processors having different instruction set architectures |
US9606818B2 (en) * | 2013-03-14 | 2017-03-28 | Qualcomm Incorporated | Systems and methods of executing multiple hypervisors using multiple sets of processors |
US10114756B2 (en) | 2013-03-14 | 2018-10-30 | Qualcomm Incorporated | Externally programmable memory management unit |
US9396012B2 (en) * | 2013-03-14 | 2016-07-19 | Qualcomm Incorporated | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
CN103631228A (zh) * | 2013-11-27 | 2014-03-12 | 上海慧控信息技术有限公司 | 控制***虚拟化方法 |
US9772867B2 (en) | 2014-03-27 | 2017-09-26 | International Business Machines Corporation | Control area for managing multiple threads in a computer |
US9213569B2 (en) | 2014-03-27 | 2015-12-15 | International Business Machines Corporation | Exiting multiple threads in a computer |
US9223574B2 (en) | 2014-03-27 | 2015-12-29 | International Business Machines Corporation | Start virtual execution instruction for dispatching multiple threads in a computer |
US9280375B1 (en) | 2014-04-30 | 2016-03-08 | Google Inc. | Dynamically adjustable virtual machine |
US9389897B1 (en) | 2014-12-18 | 2016-07-12 | International Business Machines Corporation | Exiting multiple threads of a simulation environment in a computer |
US9565168B1 (en) * | 2015-05-05 | 2017-02-07 | Sprint Communications Company L.P. | System and method of a trusted computing operation mode |
US9686240B1 (en) | 2015-07-07 | 2017-06-20 | Sprint Communications Company L.P. | IPv6 to IPv4 data packet migration in a trusted security zone |
US9749294B1 (en) | 2015-09-08 | 2017-08-29 | Sprint Communications Company L.P. | System and method of establishing trusted operability between networks in a network functions virtualization environment |
US9998284B2 (en) | 2015-09-24 | 2018-06-12 | Intel Corporation | Methods and apparatus to provide isolated execution environments |
US10542115B1 (en) | 2015-10-01 | 2020-01-21 | Sprint Communications Company L.P. | Securing communications in a network function virtualization (NFV) core network |
US9811686B1 (en) | 2015-10-09 | 2017-11-07 | Sprint Communications Company L.P. | Support systems interactions with virtual network functions in a trusted security zone |
US9781016B1 (en) | 2015-11-02 | 2017-10-03 | Sprint Communications Company L.P. | Dynamic addition of network function services |
US10250498B1 (en) | 2016-10-03 | 2019-04-02 | Sprint Communications Company L.P. | Session aggregator brokering of data stream communication |
CN106776065B (zh) * | 2016-11-29 | 2020-09-08 | 北京元心科技有限公司 | 多***使用Mtp功能的方法及装置 |
CN108363918B (zh) * | 2017-04-28 | 2022-02-18 | 清华大学 | 处理器操作***的引导启动方法、装置及处理器*** |
CN109408193B (zh) * | 2017-08-15 | 2020-11-17 | 龙芯中科技术有限公司 | 虚拟机实现方法、装置及计算机设备 |
US10348488B1 (en) | 2017-08-25 | 2019-07-09 | Sprint Communications Company L.P. | Tiered distributed ledger technology (DLT) in a network function virtualization (NFV) core network |
US10733005B1 (en) * | 2017-10-10 | 2020-08-04 | Parallels International Gmbh | Providing access to mobile applications by heterogeneous devices |
US10733121B2 (en) * | 2018-05-10 | 2020-08-04 | Qualcomm Incorporated | Latency optimized I3C virtual GPIO with configurable operating mode and device skip |
JP6877388B2 (ja) | 2018-07-09 | 2021-05-26 | 株式会社東芝 | 情報処理装置、移動体、情報処理方法、およびプログラム |
CN110025957B (zh) * | 2019-03-04 | 2023-04-21 | 深圳威尔视觉传媒有限公司 | 一种云游戏服务器端架构、客户端和*** |
US11379295B1 (en) * | 2019-05-15 | 2022-07-05 | Amazon Technologies, Inc. | Recovery protocols for system malfunctions in virtual computing environments |
US11847205B1 (en) | 2020-10-26 | 2023-12-19 | T-Mobile Innovations Llc | Trusted 5G network function virtualization of virtual network function elements embedded on a system-on-chip |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04213733A (ja) * | 1990-12-12 | 1992-08-04 | Nec Corp | 仮想プロセッサ方式 |
JPH06103092A (ja) * | 1992-09-18 | 1994-04-15 | Hitachi Ltd | 仮想計算機システム |
JPH06242975A (ja) * | 1993-02-17 | 1994-09-02 | Hitachi Ltd | 多重情報処理システムの仮想計算機ディスパッチ方式 |
JPH07271738A (ja) * | 1994-03-31 | 1995-10-20 | Nec Corp | ソフトウエア・アーキテクチャを用いた高度並列コンピュータ・システムの制御方式 |
JP2000132530A (ja) * | 1997-11-04 | 2000-05-12 | Digital Equip Corp <Dec> | マルチプロセッサコンピュ―タシステム及びその動作方法 |
JP2000242512A (ja) * | 1999-02-19 | 2000-09-08 | Hitachi Ltd | 複数のオペレーティングシステムを実行する計算機 |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4779188A (en) | 1983-12-14 | 1988-10-18 | International Business Machines Corporation | Selective guest system purge control |
JPH0731609B2 (ja) | 1985-09-18 | 1995-04-10 | 日本電気株式会社 | Vmモード変更装置 |
JPH0814795B2 (ja) * | 1986-01-14 | 1996-02-14 | 株式会社日立製作所 | マルチプロセッサ仮想計算機システム |
US4875186A (en) | 1986-02-28 | 1989-10-17 | Prime Computer, Inc. | Peripheral emulation apparatus |
GB2203572B (en) | 1987-03-24 | 1991-11-27 | Insignia Solutions Limited | Improvements in data processing means |
US4843541A (en) | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
US5063499A (en) | 1989-01-09 | 1991-11-05 | Connectix, Inc. | Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing |
US5278973A (en) | 1989-03-27 | 1994-01-11 | Unisys Corporation | Dual operating system computer |
US5448264A (en) | 1991-03-15 | 1995-09-05 | Hewlett-Packard Company | Method and apparatus for separate window clipping and display mode planes in a graphics frame buffer |
US5301277A (en) | 1991-04-10 | 1994-04-05 | Seiko Epson Corporation | Method and apparatus for communicating peripheral data to/from minor operating systems running as subprocesses on a main operating system |
JPH04348434A (ja) | 1991-05-27 | 1992-12-03 | Hitachi Ltd | 仮想計算機システム |
JPH05189574A (ja) | 1991-07-23 | 1993-07-30 | Internatl Business Mach Corp <Ibm> | レンダリング構成要素における複数コマンド支援を行うための方法およびその装置 |
JP2878499B2 (ja) | 1991-10-15 | 1999-04-05 | 株式会社日立製作所 | マルチウィンドウ表示方法およびウィンドウシステム |
JP2682770B2 (ja) * | 1992-05-15 | 1997-11-26 | 富士通株式会社 | 仮想計算機システムのcpu制御方式 |
US5666521A (en) | 1992-12-07 | 1997-09-09 | Intel Corporation | Method and apparatus for performing bit block transfers in a computer system |
US5452456A (en) | 1992-12-18 | 1995-09-19 | Apple Computer, Inc. | Apparatus for executing a plurality of program segments having different object code types in a single program or processor environment |
US6199176B1 (en) | 1993-03-11 | 2001-03-06 | International Business Machines Corporation | Method and apparatus for storage resource reassignment utilizing an indicator to enhance the likelihood of successful reconfiguration |
JPH0784562A (ja) | 1993-09-16 | 1995-03-31 | Nec Corp | イメージ格納装置 |
US5515525A (en) | 1993-09-28 | 1996-05-07 | Bull Hn Information Systems Inc. | Emulating the memory functions of a first system on a second system |
US5460644A (en) * | 1993-12-14 | 1995-10-24 | The O'brien Corporation | Stain-blocking and mildewcide resistant coating compositions |
US5541862A (en) | 1994-04-28 | 1996-07-30 | Wandel & Goltermann Ate Systems Ltd. | Emulator and digital signal analyzer |
US5640562A (en) | 1995-02-27 | 1997-06-17 | Sun Microsystems, Inc. | Layering hardware support code on top of an existing operating system |
US5752275A (en) | 1995-03-31 | 1998-05-12 | Intel Corporation | Translation look-aside buffer including a single page size translation unit |
US5757386A (en) | 1995-08-11 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for virtualizing off-screen memory of a graphics engine |
US5742797A (en) | 1995-08-11 | 1998-04-21 | International Business Machines Corporation | Dynamic off-screen display memory manager |
US5790825A (en) | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
US5831607A (en) | 1996-01-25 | 1998-11-03 | International Business Machines Corporation | Method for adapting multiple screens of information for access and use on a single graphical panel in a computer system |
US6026476A (en) | 1996-03-19 | 2000-02-15 | Intel Corporation | Fast fully associative translation lookaside buffer |
US5815686A (en) | 1996-09-12 | 1998-09-29 | Silicon Graphics, Inc. | Method and apparatus for address space translation using a TLB |
US5860147A (en) | 1996-09-16 | 1999-01-12 | Intel Corporation | Method and apparatus for replacement of entries in a translation look-aside buffer |
US5940872A (en) | 1996-11-01 | 1999-08-17 | Intel Corporation | Software and hardware-managed translation lookaside buffer |
US5928322A (en) * | 1996-11-20 | 1999-07-27 | Silicon Graphics, Inc. | Low-latency real-time dispatching in general purpose multiprocessor systems |
US6269391B1 (en) | 1997-02-24 | 2001-07-31 | Novell, Inc. | Multi-processor scheduling kernel |
US6298370B1 (en) | 1997-04-04 | 2001-10-02 | Texas Instruments Incorporated | Computer operating process allocating tasks between first and second processors at run time based upon current processor load |
US6075938A (en) | 1997-06-10 | 2000-06-13 | The Board Of Trustees Of The Leland Stanford Junior University | Virtual machine monitors for scalable multiprocessors |
US6142682A (en) | 1997-06-13 | 2000-11-07 | Telefonaktiebolaget Lm Ericsson | Simulation of computer processor |
US6014170A (en) | 1997-06-20 | 2000-01-11 | Nikon Corporation | Information processing apparatus and method |
US6058466A (en) * | 1997-06-24 | 2000-05-02 | Sun Microsystems, Inc. | System for allocation of execution resources amongst multiple executing processes |
US6681238B1 (en) | 1998-03-24 | 2004-01-20 | International Business Machines Corporation | Method and system for providing a hardware machine function in a protected virtual machine |
US6067618A (en) | 1998-03-26 | 2000-05-23 | Innova Patent Trust | Multiple operating system and disparate user mass storage resource separation for a computer system |
US6795966B1 (en) * | 1998-05-15 | 2004-09-21 | Vmware, Inc. | Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction |
US6496847B1 (en) | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US6668287B1 (en) | 1999-12-15 | 2003-12-23 | Transmeta Corporation | Software direct memory access |
US7506265B1 (en) | 2000-07-17 | 2009-03-17 | Microsoft Corporation | System and method for displaying images of virtual machine environments |
US6651132B1 (en) | 2000-07-17 | 2003-11-18 | Microsoft Corporation | System and method for emulating the operation of a translation look-aside buffer |
US7069205B1 (en) | 2000-07-17 | 2006-06-27 | Microsoft Corporation | System and method for emulating the operation of a video graphics adapter |
US7085705B2 (en) | 2000-12-21 | 2006-08-01 | Microsoft Corporation | System and method for the logical substitution of processor control in an emulated computing environment |
US6766474B2 (en) | 2000-12-21 | 2004-07-20 | Intel Corporation | Multi-staged bios-based memory testing |
US6980946B2 (en) | 2001-03-15 | 2005-12-27 | Microsoft Corporation | Method for hybrid processing of software instructions of an emulated computer system |
US7428485B2 (en) * | 2001-08-24 | 2008-09-23 | International Business Machines Corporation | System for yielding to a processor |
US7158972B2 (en) | 2001-12-11 | 2007-01-02 | Sun Microsystems, Inc. | Methods and apparatus for managing multiple user systems |
US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
US7310724B2 (en) * | 2003-06-30 | 2007-12-18 | Intel Corporation | Parallel execution of enhanced EFI based BIOS drivers on a multi-processor or hyper-threading enabled platform |
US20050060704A1 (en) * | 2003-09-17 | 2005-03-17 | International Business Machines Corporation | Managing processing within computing environments including initiation of virtual machines |
-
2004
- 2004-06-30 US US10/882,967 patent/US8271976B2/en active Active
-
2005
- 2005-05-11 KR KR1020050039320A patent/KR20060047772A/ko not_active Application Discontinuation
- 2005-05-30 CN CNB2005100760763A patent/CN100527085C/zh not_active Expired - Fee Related
- 2005-05-31 EP EP16181968.5A patent/EP3125113B1/en active Active
- 2005-05-31 JP JP2005158858A patent/JP4806212B2/ja not_active Expired - Fee Related
- 2005-05-31 EP EP05104658.9A patent/EP1622014B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04213733A (ja) * | 1990-12-12 | 1992-08-04 | Nec Corp | 仮想プロセッサ方式 |
JPH06103092A (ja) * | 1992-09-18 | 1994-04-15 | Hitachi Ltd | 仮想計算機システム |
JPH06242975A (ja) * | 1993-02-17 | 1994-09-02 | Hitachi Ltd | 多重情報処理システムの仮想計算機ディスパッチ方式 |
JPH07271738A (ja) * | 1994-03-31 | 1995-10-20 | Nec Corp | ソフトウエア・アーキテクチャを用いた高度並列コンピュータ・システムの制御方式 |
JP2000132530A (ja) * | 1997-11-04 | 2000-05-12 | Digital Equip Corp <Dec> | マルチプロセッサコンピュ―タシステム及びその動作方法 |
JP2000242512A (ja) * | 1999-02-19 | 2000-09-08 | Hitachi Ltd | 複数のオペレーティングシステムを実行する計算機 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017513128A (ja) * | 2014-03-27 | 2017-05-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | マルチスレッド・ゲスト仮想マシン(vm)をディスパッチするためのシステム、方法およびコンピュータ・プログラム製品 |
US10430207B2 (en) | 2016-03-25 | 2019-10-01 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Method and electronic device for directly starting application on second virtual machine in operating environment of first virtual machine |
Also Published As
Publication number | Publication date |
---|---|
JP4806212B2 (ja) | 2011-11-02 |
KR20060047772A (ko) | 2006-05-18 |
EP3125113B1 (en) | 2019-02-20 |
EP1622014B1 (en) | 2016-08-24 |
EP1622014A3 (en) | 2008-01-02 |
EP3125113A1 (en) | 2017-02-01 |
CN100527085C (zh) | 2009-08-12 |
US20060005188A1 (en) | 2006-01-05 |
CN1716205A (zh) | 2006-01-04 |
US8271976B2 (en) | 2012-09-18 |
EP1622014A2 (en) | 2006-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4806212B2 (ja) | 1台の仮想マシン内の複数の仮想プロセッサを初期化するためのシステムおよび方法 | |
JP5005191B2 (ja) | 仮想マシン環境においてオペレーティングシステムを実施するためのシステムおよび方法 | |
JP5599804B2 (ja) | 仮想ストレージの割り当て方法 | |
US7555596B2 (en) | Systems and methods for attaching a virtual machine virtual hard disk to a host machine | |
US9361147B2 (en) | Guest customization | |
US8166477B1 (en) | System and method for restoration of an execution environment from hibernation into a virtual or physical machine | |
JP4156611B2 (ja) | 64ビットx86プロセッサ上でレガシ32ビットx86仮想マシンを実行するためのシステムおよび方法 | |
EP4050477B1 (en) | Virtual machine migration techniques | |
US7657888B2 (en) | Method for forking or migrating a virtual machine | |
US9880867B2 (en) | Method and subsystem for data exchange between a guest operating system and a virtualization layer | |
US8612633B2 (en) | Virtual machine fast emulation assist | |
Von Hagen | Professional xen virtualization | |
JP2006018814A (ja) | 仮想マシン環境におけるエミュレートされたデバイスの開発のためのシステムおよび方法 | |
US20120054740A1 (en) | Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments | |
US20060005189A1 (en) | Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity | |
US20110320556A1 (en) | Techniques For Migrating A Virtual Machine Using Shared Storage | |
JP2013516021A (ja) | プロセッサコアのハイパーバイザ離隔 | |
JP2011100431A (ja) | 仮想マシン制御装置及び仮想マシン制御方法 | |
US20090100424A1 (en) | Interrupt avoidance in virtualized environments | |
US20120272235A1 (en) | Consolidation of idle virtual machines | |
Deka et al. | Application of virtualization technology in IaaS cloud deployment model | |
US9959842B2 (en) | On-screen display at thin client | |
US10567239B2 (en) | Techniques of providing data to screen saver of thin client | |
US10564918B2 (en) | Techniques of remotely providing user input to thin client | |
Alliance | Virtualization: State of the art |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080508 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110331 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110408 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110705 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110805 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110812 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4806212 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140819 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |