JP2004526229A - 仮想マシン・モニタとゲスト・オペレーティング・システムの間のアドレス空間の競合を解決するための方法 - Google Patents
仮想マシン・モニタとゲスト・オペレーティング・システムの間のアドレス空間の競合を解決するための方法 Download PDFInfo
- Publication number
- JP2004526229A JP2004526229A JP2002556364A JP2002556364A JP2004526229A JP 2004526229 A JP2004526229 A JP 2004526229A JP 2002556364 A JP2002556364 A JP 2002556364A JP 2002556364 A JP2002556364 A JP 2002556364A JP 2004526229 A JP2004526229 A JP 2004526229A
- Authority
- JP
- Japan
- Prior art keywords
- vmm
- address space
- operating system
- guest operating
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000015654 memory Effects 0.000 claims description 23
- 238000013507 mapping Methods 0.000 claims 1
- 230000001960 triggered effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009249 intrinsic sympathomimetic activity Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
発明の分野
本発明は、一般に仮想マシンに関し、より詳細には、仮想マシン・モニタとゲスト・オペレーティング・システムとの間のアドレス空間の競合を解決することに関する。
【0002】
発明の背景
従来の仮想マシン・モニタ(VMM)は、一般に、コンピュータ上で動作し、他のソフトウェアに1つまたは複数の仮想マシンのアブストラクションを提供する。それぞれの仮想マシンは、それ自体の「ゲスト・オペレーティング・システム」(すなわち、VMMによってホストされるオペレーティング・システム)を実行する自己完結型プラットフォームとして機能できる。ゲスト・オペレーティング・システムは、仮想マシンではなく、あたかも専用コンピュータとして動作するようになっている。つまり、ゲスト・オペレーティング・システムは、さまざまなコンピュータ・オペレーションを制御するようになっており、動作中、コンピュータの物理メモリおよびメモリマップされたI/Oデバイスへの無制限のアクセス権を有している。しかし、仮想マシン環境においては、VMMは、仮想マシンを、また仮想マシン相互間を保護するためにコンピュータのリソースに対して最大の制御権を持つべきである。このことを達成するために、VMMは一般に、ゲスト・オペレーティング・システムによって行われるコンピュータ・リソースへのすべてのアクセスを傍受し、仲裁する。
【0003】
既存のプロセッサ(たとえば、IA−32マイクロプロセッサ)を用いた場合、VMMは、VMMコードおよび/またはデータ構造の一部分がゲスト・オペレーティング・システムと同じ仮想アドレス空間内に置かれていなければ、ハードウェア・リソースへのゲスト・オペレーティング・システムのアクセスを傍受できないことがある。しかし、ゲスト・オペレーティング・システムは、VMMコードおよび/またはデータ構造がゲスト・オペレーティング・システムのアドレス空間内に常駐していることを予期していず、このアドレス空間内のVMMに占有されている領域にアクセスすることを試みる場合があり、そのため、ゲスト・オペレーティング・システムとVMMの間でアドレス空間の競合が起きる。この競合は、VMMまたはゲスト・オペレーティング・システムによって実施されたオペレーションの異常終了を引き起こすことがある。
【0004】
したがって、VMMとゲスト・オペレーティング・システムの間のアドレス空間の競合を検出し解決するメカニズムが必要である。
【0005】
添付図面内の図においては、本発明は例示として示したものであり、本発明を限定するものではない。ここで、同様の参照番号は同様の要素を示す。
【0006】
実施形態の説明
アドレス空間の競合を解決するための方法および装置について記述する。以下の記述においては、構成要素間の距離、モールディングのタイプなどの数々の詳細事項について記載する。しかし、本発明がこれらの特定の詳細事項がなくても実施できることは、当業者には自明であろう。他の例では、本発明が曖昧になることを避けるために、周知の構造およびデバイスが詳細事項ではなくブロック図形式で示してある。
【0007】
以下の記述では、説明のために、本発明の完全な理解を提供するための数々の特定の詳細事項について記載する。しかし、本発明がこれらの特定の詳細事項がなくても実践できることは、当業者には自明であろう。
【0008】
以下の詳細な記述のいくつかの部分は、コンピュータ・メモリ内のデータ・ビットのオペレーションのアルゴリズムおよびシンボル表示で提示してある。これらのアルゴリズムによる記述および表示は、データ処理技術分野の当業者が、当技術分野の他の者に自身の仕事の内容を最も効果的に伝えるために使用する手段である。アルゴリズムとは、ここでおよび一般に、所望の結果に導くための筋の通ったシーケンスのステップであると考えられる。ステップは、物理量の物理操作を伴うステップである。必ずしも必要とされるものではないが、通常、これらの量は、格納され、移転され、合成され、比較され、それ以外の操作がなされることが可能な電気または磁気信号の形をとる。主に共通に使用するためであるが、時にはこれらの信号をビット、値、要素、記号、文字、項、数などと呼ぶことが好都合であることが証明されている。
【0009】
しかし、これらのおよび同様の用語のすべてが適切な物理量に関連付けられており、単にこれらの量に適用される好都合なレッテルであることに留意されたい。以下の説明から明らかなように別段の具体的な記載がない限り、本発明全体を通じて、「処理」または「コンピューティング」または「計算」または「判断」または「表示」などの用語を使用した説明は、コンピュータ・システムのレジスタおよびメモリ内に物理(電子)量として表されたデータを操作し、コンピュータ・システム・メモリまたはレジスタあるいは他のこのような情報記憶装置、伝送デバイスまたは表示デバイス内に物理量として同様に表わされる他のデータに変換するコンピュータ・システムまたは同様の電子コンピューティング・デバイスのアクションおよびプロセスを指すことがあることを理解されたい。
【0010】
また、本発明は記載されたオペレーションを実施するための装置に関する。この装置は、必要な目的のために特別に構築でき、またはコンピュータ内に格納されたコンピュータ・プログラムによって選択的に起動されるかまたは再構成される汎用コンピュータを備えることができる。このようなコンピュータ・プログラムは、フロッピ・ディスク、光学ディスク、CD−ROM、磁気光学ディスク、読取専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、EPROM、EEPROM、磁気または光学カードを含む任意のタイプのディスク、またはそれぞれがコンピュータ・システム・バスに結合された、電子命令を格納するのに適切な任意のタイプの媒体などのコンピュータ可読記憶媒体内に格納できるが、それらに限定されるものではない。命令は、1つまたは複数の処理デバイス(たとえば、プロセッサ、中央処理ユニットなど)を使用して実行可能である。
【0011】
本明細書に提示されたアルゴリズムおよび表示は、どのような特定のコンピュータまたは他の装置にも本質的に関係するものではない。さまざまな汎用マシンが、本明細書の教示によるプログラムとともに使用することができ、または必要な方法ステップを実施するためにより専用の装置を構築することが好都合であることもある。これらのさまざまなマシンのための必要な構造は、以下の記述に示してある。さらに、本発明は、特定のプログラミング言語を参照して記述していない。さまざまなプログラミング言語を使用して本明細書に記述した本発明の教示を実施できることを理解されたい。
【0012】
実施形態についての以下の詳細な記述では、本発明を実践できる具体的な実施形態を例示した添付図面を参照する。図面では、いくつかの図を通して、同様の番号は実質的に同様の構成要素を記述する。これらの実施形態は、当業者が本発明を実践できるように十分詳細に記述してある。他の実施形態も利用でき、構造上、論理的、電気的な変更も、本発明の範囲から逸脱することなく行うことができる。その上、本発明のさまざまな実施形態は、それぞれ異なっているものの、必ずしも互いに相容れないものではないことを理解されたい。たとえば、一実施形態において記述した特定の特徴、構造、または特性を、他の実施形態内に含むことができる。したがって、以下の詳細な記述は限定的なものと解釈すべきではなく、本発明の範囲は、頭記の特許請求の範囲およびこの特許請求の範囲の権利を有する均等物の全範囲によってのみ定義されるものである。
【0013】
本発明の方法および装置は、ゲスト・オペレーティング・システムと仮想マシン・モニタ(VMM)の間のアドレス空間の競合を解決するためのメカニズムを提供する。図1は、本発明により動作させることができる仮想マシン環境100の一実施形態を示す図である。この実施形態では、ベア・プラットフォーム・ハードウェア116には、コンピューティング・プラットフォームが備えられ、これは、たとえば、標準オペレーティング・システム(OS)またはVMM112などの仮想マシン・モニタ(VMM)を実行することが可能である。VMMは、一般にソフトウェア内に実装されるが、エミュレーションなどのベア・マシン・インターフェースをより高レベルのソフトウェアにエクスポートできる。このようなより高レベルのソフトウェアは、標準またはリアルタイムOSを備えることができるが、本発明はこの点にその範囲が限定されるものではなく、あるいは、たとえば、VMMを別のVMM内でまたはそれとともに実行できる。VMMおよびそれらの代表的な特徴および機能は、当業者には周知であり、たとえば、ソフトウェア、ファームウェアまたはさまざまな技術の組合せの中に実装できる。
【0014】
上述したように、VMMは、他のソフトウェア(すなわち、「ゲスト」ソフトウェア)に1つまたは複数の仮想マシン(VM)のアブストラクションを提供する。図1は、2つのVM、102および114を示す図である。それぞれのVMが、ゲストOS104または106などのゲストOSおよびさまざまなゲスト・ソフトウェア・アプリケーション108〜110を備える。ゲストOS104および106のそれぞれは、ゲストOS104または106が動作しているハードウェア・プラットフォーム内の物理リソース(たとえば、メモリやメモリマップされたI/Oデバイス)へのアクセスを制御し、他の機能を実施するようになっている。しかし、仮想マシン環境においては、VMM112は、VM102および114を、およびそれらの間を保護するために、物理リソースに対して最大の制御を有することができなければならない。VMM112は、コンピュータの物理リソースへのゲストOS104、106のすべてのアクセスを傍受することにより、この目標を達成する。たとえば、ゲストの特権を奪う技術を使用して、VMM112が上記のアクセスを傍受できるようにすることができる。ゲストの特権を奪うことにより、すべてのゲスト・ソフトウェアが、特定のハードウェア・リソースへのアクセスが認められないハードウェア特権レベルで動作するようになる。その結果、ゲストOS104または106が、それらのハードウェア・リソースのいずれかにアクセスを試みる場合はいつでも、ゲストOSはVMM112へ「トラップする」。すなわちVMM112は、このオペレーションがこのようなハードウェア・リソースにアクセスすることを伴う場合には、ゲスト・オペレーティング・システムによって開始されたオペレーションに対する制御権を受け取る。当技術分野で周知の任意の他の技術を使用して、同様のオペレーションに対する制御をゲストOS104または106からVMM112へ移転できることに留意されたい。
【0015】
ゲストの特権を奪うまたは、VMM112がコンピュータの物理リソースへのゲストOS104および106のアクセスを傍受できるようにする他の技術を使用する場合、VMMコードおよび/またはデータ構造の一部分が、ゲストOS104および106のそれぞれとして同じ仮想アドレス空間内に常駐することがアーキテクチャ上必要であることがある。しかし、ゲストOS104および106はVMMの存在を認識していないので、それらは、ゲストOS104または106に関連付けられた仮想アドレス空間内にVMMコードおよび/またはデータ構造によって占有されている領域にアクセスすることを試みることがある。このような試みの結果、ゲストOSのコードおよびデータ構造と仮想アドレス空間内のVMMコードおよびデータ構造の間に衝突が生じることがあり、それにより、ゲストOS104または106あるいはVMM112によって実施されるオペレーションの異常終了が生じる。本発明は、このようなアドレス空間の競合を解決するためのメカニズムを提供する。
【0016】
図2は、本発明の一実施形態に従って、VMMとゲストOSの間のアドレス空間の競合を解決するためのシステム200を示すブロック図である。システム200には、ゲストOS(たとえば、ゲストOS104または106)、VMM(たとえば、VMM112)などを実行することが可能なコンピューティング・プラットフォームを含むベア・プラットフォーム・ハードウェア214が備えられる。2つの別個のアドレス空間204および202が、ゲスト・ソフトウェアおよびVMMのために割り当てられている。VMアドレス空間204は、ゲストOSおよび他のゲスト・ソフトウェアのコードおよびデータ構造を保持するために割り当てられ、VMMアドレス空間202は、VMMコードおよびデータ構造のために割り当てられる。
【0017】
上述したように、VMMコードおよび/またはデータ構造のある構成要素が、VMMがハードウェア・リソースへのゲストOSのアクセスを傍受できるようにするためにゲストOSと同じアドレス空間内に常駐することがアーキテクチャ上必要であることがある。たとえば、IA−32命令セット・アーキテクチャ(ISA)については、ゲストの特権を奪うことを使用して、ゲストOSがハードウェア・リソースへ確実にアクセスできるようにVMMを制御する場合、ハンドリング・ルーチンをトラップするためのポインタを含む割込みデスクリプタ・テーブル(IDT)が、ゲストOSと同じアドレス空間内に常駐することがアーキテクチャ上必要である。ゲストの特権を奪うことをサポートする本発明の一実施形態を、図5および6と合わせて以下により詳細に記述する。他のISAについては、VMMコードおよび/またはデータ構造のさまざまな他の部分が、ハードウェア・リソースへのゲストOSによってなされたアクセスをVMMが制御できるようにするためにゲストOSと同じアドレス空間内に常駐することがアーキテクチャ上必要であることがある。
【0018】
一実施形態では、VMMコードおよび構造は2つの部分に分割される。VMMの第1の部分は、ゲストOSのアドレス空間内、すなわちVMアドレス空間204内に常駐することが必要な1組のコードおよび/またはデータ構造を有する。VMMの第2の部分は、VMMコードおよびデータ構造の残りの部分を有する。一実施形態では、ソフトウェア・プログラム(仮想マシン・カーネル210と呼ぶ)が、ゲストOSと同じアドレス空間内に配置することが必要な最小の組のVMMコードおよび/またはデータ構造を収集する。VMMコードおよびデータ構造の残りの部分は、別個のプログラムとしてコンパイルされ、VMMアドレス空間202内に置かれる。次いで、仮想マシン・カーネル(VMK)210は、VMアドレス空間204とVMMアドレス空間202の両方内にそれ自体をマップする。
【0019】
その後、ゲストOSがVMアドレス空間204内のVMMコードおよび/またはデータ構造によって占有されている領域にアクセスすることを試みた場合、VMK210は、ゲストOSのこの試みを検出する。一実施形態では、もしこのイベントにより、ゲストOSとVMMの間でアドレス空間の競合が起きる可能性がある場合には、VMK210は、ゲストOSによって開始されるイベントに対する制御権を受け取る。ゲストの特権を奪うこと、あるいは当技術分野で周知の任意の他のハードウェアまたはソフトウェア・メカニズムを、このようなイベントに対する制御権をゲストOSからVMアドレス空間204に常駐するVMMコードおよび/またはデータ構造へ移転するために使用することができる。
【0020】
次いでVMK210は、このイベントを評価して、その原因を判断する。そのイベントが、VMMコードおよび/またはデータ構造によって占有されている領域にアクセスしようとするゲストOSの試みによるものであることが検出されると、VMK210は、VMK210によって以前に使用されていた領域にゲストOSがアクセスするように、VMアドレス空間204内の異なる領域へそれ自体を再マップする。VMアドレス空間204内にVMK210を再配置するための方法の一実施形態を、図4と合わせて以下により詳細に記述する。
【0021】
図3は、本発明の一実施形態に従って、VMMとゲストOSの間のアドレス空間の競合を解決するための方法300の一実施形態を示す流れ図である。方法300は、VMMを第1の部分および第2の部分に分割することから開始する(処理ブロック304)。上述したように、第1の部分は、ゲストOSとしてアーキテクチャ上同じアドレス空間内に常駐することが必要な1組のVMMコードおよび/またはデータ構造を有する。VMMの第2の部分は、VMMコードおよびデータ構造の残りの部分を有する。(以下により詳細に記述する)一実施形態では、VMMの第1の部分は、1組のトラップ・ハンドラおよび割込みデスクリプタ・テーブル(IDT)を含む。代替実施形態では、第1の部分は、ゲストOSと同じアドレス空間内に常駐しなければならないVMMのさまざまな他のデータ構造およびコードを有する。
【0022】
次に、第1のアドレス空間(すなわち、VMアドレス空間204)は、ゲストOSおよび他のゲスト・ソフトウェアのコードおよびデータ構造を保持するために作成され(処理ブロック306)、第2のアドレス空間(すなわち、VMMアドレス空間202)は、VMMコードおよびデータ構造のために作成される(処理ブロック308)。一実施形態では、これらのアドレス空間は、ブート・プロセス中に作成される。
【0023】
さらに、VMMの第1の部分はVMアドレス空間とVMMアドレス空間の両方にマップされ(処理ブロック310)、VMMの第2の部分はVMMアドレス空間内にロードされる(処理ブロック312)。
【0024】
処理ブロック314で、VMMの第1の部分によって占有されている領域にアクセスしようとするゲストOSの試みが検出される。一実施形態では、そのイベントによりゲスト・オペレーティング・システムとVMMの間でアドレス空間の競合が起きる可能性がある場合には、VMMの第1の部分へゲストOSによって開始されたイベントに対する制御権を移転することにより、このような試みが検出される。アドレス空間の競合の可能性を検出する一実施形態を、図5および6と合わせて以下により詳細に記述する。
【0025】
その後、処理ブロック316で、VMMの第1の部分が、VMMの第1の部分によって以前に占有されていた領域へゲストOSがアクセスするように、VMアドレス空間内の別の領域に再配置される。後にVMMの第1の部分によって占有されている新しい領域にアクセスしようとする試みがあった場合、その結果、再びVMアドレス空間内の再配置が生じる。VMMの第1の部分を含む、VMKを再配置するための方法の一実施形態が図4に示されている。
【0026】
図4を参照すると、ゲストOSとVMMの間のアドレス空間の競合が検出された(処理ブロック404)後、未使用の領域を探してVMアドレス空間がサーチされる(処理ブロック406)。判断記号408で、VMアドレス空間内に未使用の領域が存在するかどうかの判断がなされる。存在すると判断されると、VMMコードおよびデータ構造の第1の部分を有するVMKが、この未使用の領域内に再マップされ、制御権がゲストOSに移転し戻され、VMKによって以前に使用されていた領域にアクセスできるようになる。
【0027】
あるいは、VMアドレス空間内に未使用の領域が存在しない場合、すなわち、ゲストOSが全VMアドレス空間を使用してしまっている場合は、ランダム領域が、VMアドレス空間内で選択され(処理ブロック412)、選択された領域に置かれているメモリの内容がVMMアドレス空間内のバッファにコピーされ(処理ブロック414)、VMKは、VMアドレス空間内の選択された領域内に再マップされる(処理ブロック416)。この選択された領域(すなわち、新しいVMK領域)への後続のメモリ・アクセスが、新しいVMK領域の元の内容を有するVMMアドレス空間内のバッファからエミュレートされたメモリ・アクセスを通じてサービスされる。一実施形態では、頻繁に使用されない領域が見つかるまで、VMアドレス空間内のランダム領域に周期的にVMKを再配置することにより、このようなエミュレートされたメモリ参照の頻度を減少できる。
【0028】
図5は、本発明の一実施形態に従って、ゲストの特権を奪うことをサポートするVMKの動作を示す図である。上述したように、ゲストの特権を奪うことにより、ゲストOSがより低い特権レベルで動作し、その結果、ゲストOSは、それがプロセッサ・システム状態で動作する特権命令を発行することを試みる場合はいつでも、VMMに「トラップ」する。一実施形態では、ゲストの特権を奪うことをサポートするVMMは、ポインタをインストールして、割込みデスクリプタ・テーブル(IDT)514内のハンドリング・ルーチン(すなわち、トラップ・ハンドラ552)をトラップする。ISA(たとえば、IA−32ISA)の中には、IDT514が現在アクティブの仮想アドレス空間(すなわち、VMアドレス空間504)内に常駐することをを必要とするものがある。一実施形態では、IDT514内のエントリはタスク・ゲートであり、アドレス空間スイッチを提供する。つまり、トラップが生成された場合は、トラップ・ハンドリング・ルーチンへのポインタを求めてIDT514がサーチされる。このポインタがタスク・ゲートであれば、それにより、生成されたトラップのためのトラップ・ハンドリング・ルーチンを有するVMMアドレス空間への直接スイッチが可能となる。したがって、タスク・ゲートに対応するトラップ・ハンドラは、VMアドレス空間内に常駐する必要はないが、タスク・ゲート自体は、VMアドレス空間内に常駐しなければならない。別の実施形態では、IDT514内のエントリがトラップ・ゲートまたは割込みゲートであり、これはアドレス空間スイッチを提供しない。その結果、このようなIDTエントリに関連付けられたトラップ・ハンドラがVMアドレス空間内に常駐しなければならない。さらに、VMMは、VMアドレス空間内に他のデータ構造(たとえば、グローバル・デスクリプタ・テーブル)のシャドウ・バージョンを入れることができる。
【0029】
一実施形態では、VMK510は、VMアドレス空間内に置かれていなければならない最小の組のトラップ・ハンドラおよび/またはデータ構造(たとえば、IDT514)をまとめて収集し、それらをVMアドレス空間504とVMMアドレス空間502の両方の中にマップし、最特権レベル(たとえば、IA−32マイクロプロセッサについてはリング=0を有する「スーパバイザ」特権レベル)に、VMK510を保持するページのアクセス権を設定する。上述したように、ゲストOSは、特権を奪われたモード(たとえば、IA−32マイクロプロセッサについてはリング=3を有する「ユーザ」モード)内で動作する。その結果、一実施形態では、ゲストOSは、それが最特権アクセス権で保護されているVMK510を保持するページを含む特権マシン・リソースにアクセスすることを試みる場合はいつでも、仮想化トラップを生成する。
【0030】
一実施形態では、仮想化トラップが生成された場合は、トラップ・ハンドラへの対応するポインタのためにIDT514がサーチされる。一実施形態では、トラップを、VMMに常駐するトラップ・ハンドラによって扱う必要があることがある。この実施形態では、VMKは、2つのアドレス空間スイッチ、すなわち、トラップをVMMアドレス空間502内のトラップ・ハンドラに配信するための1つのスイッチと、VMMに常駐するトラップ・ハンドラによってトラップがサービスされた後に、VMアドレス空間504に戻すための第2のスイッチとを実施する。
【0031】
あるいは、トラップをVMKに常駐するハンドラ内で扱うことができる。たとえば、トラップが、プロセッサのレジスタ内のフラグをリセットするためのゲストOSの命令により起きることがある。このようなトラップは、VMMアドレス空間502内のVMMに制御権を移転せずに、全面的にトラップ・ハンドラ552内で扱うことができ、このように実施することにより、より良い性能が得られる。
【0032】
1つのタイプの仮想化トラップは、ゲストOSが、VMK510によって現在使用されているVMアドレス空間504の領域にアクセスすることを試みた場合に生成される競合障害である。VMK510は、図4と合わせて上記により詳細に記述したように、VMアドレス空間504内の新しい領域内にそれ自体を再マップすることにより、これらの競合障害を扱う。
【0033】
図6は、本発明の一実施形態に従って、ゲストOSによって生成された仮想化トラップを扱うための方法600を示す流れ図である。方法600は、VMKによって占有されている領域へのアクセス権を、ゲストOSに関連付けられた特権レベルより上の特権レベルに設定することから開始する(処理ブロック604)。たとえば、すべてのVMKページをスーパバイザのみの特権(リング=0)でマップでき、ゲストOSを特権を奪われたユーザ・モード(リング=3)内で動作するよう設定できる。
【0034】
処理ブロック606で、ゲストOSによって生成されたトラップが受信される。トラップは、特権ハードウェア・リソースにアクセスしようとするゲストOSの試みによって起きる。判断記号608で、トラップをVMKによって内部的に(たとえば、VMKに常駐するトラップ・ハンドラ内で)扱うことができるかどうかの判断がなされる。トラップが複雑すぎてVMKによって扱うことができない場合は、それは、VMMアドレス空間(たとえば、VMMに常駐するトラップ・ハンドラ)に配信され(処理ブロック610)、次いで、トラップがVMMによってサービスされた後、VMアドレス空間に戻って再開される(処理ブロック612)。その後、トラップを起こしたイベントに対する制御権が、ゲストOSに戻る(処理ブロック620)。
【0035】
あるいは、トラップがVMKによって内部的に扱うことができる場合は、トラップが、VMKコードおよびデータ構造とゲストOSのコードおよびデータ構造の間のアドレス空間の競合によって引き起こされたものかどうかの判断がなされる(判断記号614)。トラップが実際にアドレス空間の競合によって引き起こされた場合は、VMKコードおよびデータ構造は、VMアドレス空間内の新しい領域に再配置される(処理ブロック618)。あるいは、トラップは、対応するトラップ・ハンドラによって扱われる(処理ブロック616)。その後、トラップを起こしたイベントに対する制御権が、ゲストOSに戻る(処理ブロック620)。
【0036】
図7は、処理システムの一実施形態を示すブロック図である。処理システム700には、プロセッサ720とメモリ730とが備えられる。プロセッサ720は、マイクロプロセッサ、ディジタル信号プロセッサ、マイクロコントローラなどのソフトウェアを実行することができるあらゆるタイプのプロセッサでよい。処理システム700は、パーソナル・コンピュータ(PC)、メインフレーム、ハンドヘルド・デバイス、ポータブル・コンピュータ、セットトップ・ボックス、またはソフトウェアを含む他のどのようなシステムでもよい。
【0037】
メモリ730は、ハード・ディスク、フロッピ・ディスク、ランダム・アクセス・メモリ(RAM)、読取専用メモリ(ROM)、フラッシュ・メモリ、またはプロセッサ720によって読取可能な他のどのようなタイプのマシン媒体でもよい。メモリ730は、方法300、400、600などの本発明のさまざまな方法実施形態を実行するための命令を格納できる(図3、4、6)。
【0038】
上記の記述は例示目的であり、限定的なものではないことを理解されたい。上記の記述を読み、理解されたならば、当業者には他の多くの実施形態が自明となろう。したがって、本発明の範囲は、頭記の特許請求の範囲およびこの特許請求の範囲の権利を有する均等物の全範囲を参照して判断すべきである。
【図面の簡単な説明】
【図1】
仮想マシン環境の一実施形態を示す図である。
【図2】
本発明の一実施形態に従って、仮想マシン・モニタとゲスト・オペレーティング・システムの間のアドレス空間の競合を解決するためのシステムを示すブロック図である。
【図3】
本発明の一実施形態に従って、仮想マシン・モニタとゲスト・オペレーティング・システムの間のアドレス空間の競合を解決するための方法を示す流れ図である。
【図4】
本発明の一実施形態に従って、仮想マシン・アドレス空間内の仮想マシン・カーネルを再配置するための方法を示す流れ図である。
【図5】
本発明の一実施形態に従って、ゲスト特権を奪うことをサポートする仮想マシン・カーネルのオペレーションを示す図である。
【図6】
本発明の一実施形態に従って、ゲスト・オペレーティング・システムによって生成された仮想化トラップを扱うための方法を示す流れ図である。
【図7】
処理システムの一実施形態を示すブロック図である。
Claims (30)
- ゲスト・オペレーティング・システムが、第1のアドレス空間内で仮想マシン・モニタ(VMM)の第1の部分によって占有されている領域にアクセスしようと試みたことを検出すること、および、
VMMの第1の部分によって以前に占有されていた領域にゲスト・オペレーティング・システムがアクセスできるようにするために、第1のアドレス空間内でVMMの第1の部分を再配置することを含む方法。 - VMMの第1の部分が、第1のアドレス空間内に常駐することがアーキテクチャ上必要な1組のVMMコードおよびデータ構造を有する請求項1に記載の方法。
- VMMの第1の部分が、1組のトラップ・ハンドラおよび割込みデスクリプタ・テーブル(IDT)を有する請求項1に記載の方法。
- VMMを第1の部分および第2の部分に分割すること、
ゲスト・オペレーティング・システムに関連付けられた第1のアドレス空間を作成すること、
VMMに関連付けられた第2のアドレス空間を作成すること、
VMMに関連付けられた第2のアドレス空間内にVMMの第2の部分を配置すること、および、
VMMの第1の部分を第1のアドレス空間および第2のアドレス空間にマップすることをさらに含む請求項1に記載の方法。 - イベントによりゲスト・オペレーティング・システムとVMMの間でアドレス空間の競合が起きる可能性があるとき、ゲスト・オペレーティング・システムによって開始されたイベントに対する制御権を受け取ることをさらに含む請求項1に記載の方法。
- 制御権を受け取ることが、
VMMの第1の部分によって占有されているセクションのアクセス権を、ゲスト・オペレーティング・システムに関連付けられた特権レベルより上の特権レベルに設定すること、および、
ゲスト・オペレーティング・システムに関連付けられた特権レベルより高い特権レベルを有するハードウェア・リソースにアクセスしようとするゲスト・オペレーティング・システムの試みによって引き起こされたトラップを受け取ることをさらに含む請求項5に記載の方法。 - トラップをVMMの第1の部分によって扱うことができると判断すること、
トラップに関連付けられたコードを実行すること、および
イベントに対する制御権をゲスト・オペレーティング・システムに返すことをさらに含む請求項6に記載の方法。 - トラップをVMMの第2の部分によって扱うべきであると判断すること、
トラップをVMMの第2の部分に配信すること、
トラップに関連付けられたコードがVMMの第2の部分によって実行された後、イベントに対する制御権をゲスト・オペレーティング・システムに渡すことをさらに含む請求項6に記載の方法。 - VMMの第1の部分を再配置することが、
第1のアドレス空間内の未使用の領域を見つけること、および、
VMMの第1の部分を未使用の領域に再マップすることをさらに含む請求項1に記載の方法。 - VMMの第1の部分を再配置することが、
第1のアドレス空間内に未使用の領域が存在しないと判断すること、
第1のアドレス空間内のランダム領域を選択すること、
ランダム領域に配置されたメモリの内容を第2のアドレス空間にコピーすること、および
VMMの第1の部分をランダム領域に再マップすることをさらに含む請求項1に記載の方法。 - ゲスト・オペレーティング・システムによって開始されたイベントに対する制御権を受け取ることを含み、イベントが、ランダム領域に以前に置かれていたメモリの内容にアクセスしようとするゲスト・オペレーティング・システムの試みに対応し、
さらに、第2のアドレス空間内のメモリのコピーされた内容にアクセスすることをさらに含む請求項10に記載の方法。 - 頻繁にアクセスされない領域を見つけるまで、VMMの第1の部分を第1のアドレス空間内のランダム領域に周期的に再配置することをさらに含む請求項11に記載の方法。
- ゲスト・オペレーティング・システムに関連付けられた第1のアドレス空間と、
仮想マシン・モニタ(VMM)に関連付けられた第2のアドレス空間と、
ゲスト・オペレーティング・システムが第1のアドレス空間内のVMMの第1の部分によって占有されている領域にアクセスしようと試みたことを検出し、ゲスト・オペレーティング・システムがVMMの第1の部分によって以前に占有されていた領域にアクセスできるようにするために、第1のアドレス空間内のVMMの第1の部分を再配置するための仮想マシン・カーネルと
を有する装置。 - VMMの第1の部分が、第1のアドレス空間内に常駐することがアーキテクチャ上必要な1組のVMMコードおよびデータ構造を有する請求項13に記載の装置。
- VMMの第1の部分が、1組のトラップ・ハンドラおよび割込みデスクリプタ・テーブル(IDT)を有する請求項13に記載の装置。
- 仮想マシン・カーネルが、VMMを第1の部分および第2の部分に分割し、VMMに関連付けられた第2のアドレス空間内にVMMの第2の部分を置き、VMMの第1の部分を第1のアドレス空間および第2のアドレス空間内にマップする請求項13に記載の装置。
- イベントによりゲスト・オペレーティング・システムとVMMの間でアドレス空間の競合が起きる可能性がある場合に、仮想マシン・カーネルが、ゲスト・オペレーティング・システムによって開始されたイベントに対する制御権を受け取る請求項13に記載の装置。
- 仮想マシン・カーネルが、VMMの第1の部分によって占有されているセクションのアクセス権を、ゲスト・オペレーティング・システムに関連付けられた特権レベルより上の特権レベルに設定することにより、およびゲスト・オペレーティング・システムに関連付けられた特権レベルより高い特権レベルを有するハードウェア・リソースにアクセスしようとするゲスト・オペレーティング・システムの試みによって引き起こされたトラップを受け取ることにより制御権を受け取る請求項13に記載の装置。
- 仮想マシン・カーネルが、トラップをVMMの第1の部分によって扱うことができると判断し、トラップに関連付けられたコードを実行し、イベントに対する制御権をゲスト・オペレーティング・システムに返す請求項18に記載の装置。
- 仮想マシン・カーネルが、トラップをVMMの第2の部分によって扱うべきであると判断し、トラップをVMMの第2の部分に配信し、トラップに関連付けられたコードがVMMの第2の部分によって実行された後、イベントに対する制御権をゲスト・オペレーティング・システムに渡す請求項18に記載の装置。
- 仮想マシン・カーネルが、第1のアドレス空間内の未使用の領域を見つけ、VMMの第1の部分を未使用の領域に再マップすることにより、VMMの第1の部分を再配置する請求項13に記載の装置。
- 仮想マシン・カーネルが、第1のアドレス空間内に未使用の領域が存在しないと判断し、第1のアドレス空間内のランダム領域を選択し、ランダム領域に配置されたメモリの内容を第2のアドレス空間にコピーし、VMMの第1の部分をランダム領域に再マップすることにより、VMMの第1の部分を再配置する請求項13に記載の装置。
- 仮想マシン・カーネルがゲスト・オペレーティング・システムによって開始されたイベントに対する制御権を受信し、イベントがランダム領域に以前に置かれていたメモリの内容にアクセスしようとするゲスト・オペレーティング・システムの試みに対応し、さらに、前記仮想マシン・カーネルが第2のアドレス空間内のメモリのコピーされた内容にアクセスする請求項13に記載の装置。
- 仮想マシン・カーネルが、頻繁にアクセスされない領域を見つけるまで、VMMの第1の部分を第1のアドレス空間内のランダム領域に周期的に再配置する請求項13に記載の装置。
- ゲスト・オペレーティング・システムに関連付けられた第1のアドレス空間および仮想マシン・モニタ(VMM)に関連付けられた第2のアドレス空間を有するメモリと、
メモリに結合され、ゲスト・オペレーティング・システムがVMMの第1の部分によって以前に占有されていた領域にアクセスできるように、第1のアドレス空間内のVMMの第1の部分によって占有されている領域にアクセスし、第1のアドレス空間内のVMMの第1の部分を再配置することをゲスト・オペレーティング・システムが試みたことを検出するプロセッサと
を備えたシステム。 - VMMの第1の部分が、第1のアドレス空間内に常駐することがアーキテクチャ上必要な1組のVMMコードおよびデータ構造を有する請求項25に記載のシステム。
- VMMの第1の部分が、1組のトラップ・ハンドラおよび割込みデスクリプタ・テーブル(IDT)を有する請求項25に記載のシステム。
- プロセッサで実行される場合に、前記プロセッサにオペレーションを実施させる命令を与えるコンピュータ可読媒体であって、前記プロセッサが、
ゲスト・オペレーティング・システムが、第1のアドレス空間内の仮想マシン・モニタ(VMM)の第1の部分によって占有されている領域にアクセスしようと試みたことを検出すること、および、
ゲスト・オペレーティング・システムが、VMMの第1の部分によって以前に占有されていた領域にアクセスできるようにするために、第1のアドレス空間内のVMMの第1の部分を再配置することを含むコンピュータ可読媒体。 - プロセッサにオペレーションを実施させる命令をさらに有するコンピュータ可読媒体であって、前記プロセッサが、
第1のアドレス空間内の未使用の領域を見つけること、および、
VMMの第1の部分を未使用の領域に再マップすること含む請求項28に記載のコンピュータ可読媒体。 - プロセッサにオペレーションを実施させる命令をさらに有するコンピュータ可読媒体であって、前記プロセッサが、
第1のアドレス空間内に未使用の領域が存在しないと判断すること、
第1のアドレス空間内のランダム領域を選択すること、
ランダム領域に配置されたメモリの内容を第2のアドレス空間にコピーすること、および、
VMMの第1の部分をランダム領域に再マップすることを含む請求項28に記載のコンピュータ可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/752,587 US7035963B2 (en) | 2000-12-27 | 2000-12-27 | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
PCT/US2001/050415 WO2002056172A2 (en) | 2000-12-27 | 2001-12-20 | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004526229A true JP2004526229A (ja) | 2004-08-26 |
JP4021769B2 JP4021769B2 (ja) | 2007-12-12 |
Family
ID=25026926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002556364A Expired - Fee Related JP4021769B2 (ja) | 2000-12-27 | 2001-12-20 | 仮想マシン・モニタとゲスト・オペレーティング・システムの間のアドレス空間の競合を解決するための方法 |
Country Status (10)
Country | Link |
---|---|
US (2) | US7035963B2 (ja) |
EP (1) | EP1405181A2 (ja) |
JP (1) | JP4021769B2 (ja) |
KR (1) | KR100624668B1 (ja) |
CN (2) | CN1575453B (ja) |
AU (1) | AU2002249862A1 (ja) |
BR (1) | BR0116630A (ja) |
RU (1) | RU2259582C2 (ja) |
TW (1) | TWI228221B (ja) |
WO (1) | WO2002056172A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008529176A (ja) * | 2005-01-28 | 2008-07-31 | インテル・コーポレーション | 仮想マシン環境のアドレス変換をサポートするための方法と装置 |
Families Citing this family (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6745346B2 (en) * | 2000-12-08 | 2004-06-01 | Intel Corporation | Method for efficiently identifying errant processes in a computer system by the operating system (OS) for error containment and error recovery |
US7461148B1 (en) * | 2001-02-16 | 2008-12-02 | Swsoft Holdings, Ltd. | Virtual private server with isolation of system components |
US7260820B1 (en) * | 2001-04-26 | 2007-08-21 | Vm Ware, Inc. | Undefeatable transformation for virtual machine I/O operations |
US7103529B2 (en) * | 2001-09-27 | 2006-09-05 | Intel Corporation | Method for providing system integrity and legacy environment emulation |
US7058786B1 (en) * | 2002-01-17 | 2006-06-06 | Hewlett-Packard Development Company | Operating system data communication method and system |
US7124327B2 (en) * | 2002-06-29 | 2006-10-17 | Intel Corporation | Control over faults occurring during the operation of guest software in the virtual-machine architecture |
US6996748B2 (en) * | 2002-06-29 | 2006-02-07 | Intel Corporation | Handling faults associated with operation of guest software in the virtual-machine architecture |
US7149510B2 (en) | 2002-09-23 | 2006-12-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Security access manager in middleware |
US7278030B1 (en) * | 2003-03-03 | 2007-10-02 | Vmware, Inc. | Virtualization system for computers having multiple protection mechanisms |
US7111145B1 (en) * | 2003-03-25 | 2006-09-19 | Vmware, Inc. | TLB miss fault handler and method for accessing multiple page tables |
US7409487B1 (en) * | 2003-06-30 | 2008-08-05 | Vmware, Inc. | Virtualization system for computers that use address space indentifiers |
US20050044408A1 (en) * | 2003-08-18 | 2005-02-24 | Bajikar Sundeep M. | Low pin count docking architecture for a trusted platform |
US7370324B2 (en) * | 2003-09-30 | 2008-05-06 | Intel Corporation | Switching between a service virtual machine and a guest virtual machine in a virtual machine monitor environment |
US7376949B2 (en) * | 2003-10-01 | 2008-05-20 | Hewlett-Packard Development Company, L.P. | Resource allocation and protection in a multi-virtual environment |
US7984108B2 (en) * | 2003-10-08 | 2011-07-19 | Unisys Corporation | Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system |
US20050132122A1 (en) * | 2003-12-16 | 2005-06-16 | Rozas Carlos V. | Method, apparatus and system for monitoring system integrity in a trusted computing environment |
US7877747B2 (en) | 2004-02-20 | 2011-01-25 | Hewlett-Packard Development Company, L.P. | Flexible operating system operable as either native or as virtualized |
US7725643B1 (en) * | 2004-05-04 | 2010-05-25 | Oracle America, Inc. | Methods and systems for detecting and avoiding an address dependency between tasks |
US7802250B2 (en) * | 2004-06-28 | 2010-09-21 | Intel Corporation | Support for transitioning to a virtual machine monitor based upon the privilege level of guest software |
US7607011B1 (en) * | 2004-07-16 | 2009-10-20 | Rockwell Collins, Inc. | System and method for multi-level security on a network |
US7685391B1 (en) * | 2004-10-12 | 2010-03-23 | Sun Microsystems, Inc. | Kernel/user stack relocation during system uptime |
EP1669864B1 (en) * | 2004-12-03 | 2010-06-02 | STMicroelectronics Srl | A process for managing virtual machines in a physical processing machine, corresponding processor system and computer program product therefor |
US7685635B2 (en) * | 2005-03-11 | 2010-03-23 | Microsoft Corporation | Systems and methods for multi-level intercept processing in a virtual machine environment |
US20070006178A1 (en) * | 2005-05-12 | 2007-01-04 | Microsoft Corporation | Function-level just-in-time translation engine with multiple pass optimization |
US7496495B2 (en) * | 2005-05-12 | 2009-02-24 | Microsoft Corporation | Virtual operating system device communication relying on memory access violations |
US20060277546A1 (en) * | 2005-06-02 | 2006-12-07 | Rothman Michael A | Detecting virtualization |
US7370137B2 (en) * | 2005-06-06 | 2008-05-06 | Intel Corporation | Inter-domain data mover for a memory-to-memory copy engine |
JP2007004661A (ja) * | 2005-06-27 | 2007-01-11 | Hitachi Ltd | 仮想計算機の制御方法及びプログラム |
US8856473B2 (en) * | 2005-07-01 | 2014-10-07 | Red Hat, Inc. | Computer system protection based on virtualization |
US8327353B2 (en) * | 2005-08-30 | 2012-12-04 | Microsoft Corporation | Hierarchical virtualization with a multi-level virtualization mechanism |
RU2294010C1 (ru) * | 2005-09-05 | 2007-02-20 | Павел Михайлович Шестаков | Способ обработки цифровых данных |
US8612970B2 (en) * | 2005-11-30 | 2013-12-17 | Red Hat, Inc. | Purpose domain for low overhead virtual machines |
US8104034B2 (en) * | 2005-11-30 | 2012-01-24 | Red Hat, Inc. | Purpose domain for in-kernel virtual machine for low overhead startup and low resource usage |
US8429629B2 (en) | 2005-11-30 | 2013-04-23 | Red Hat, Inc. | In-kernel virtual machine for low overhead startup and low resource usage |
US7548999B2 (en) * | 2006-01-17 | 2009-06-16 | Advanced Micro Devices, Inc. | Chained hybrid input/output memory management unit |
US7536541B2 (en) | 2006-03-07 | 2009-05-19 | Novell Inc. | Parallelizing multiple boot images with virtual machines |
US9213542B2 (en) | 2006-03-30 | 2015-12-15 | Microsoft Technology Licensing, Llc | Creating templates of offline resources |
US7774579B1 (en) * | 2006-04-14 | 2010-08-10 | Tilera Corporation | Protection in a parallel processing environment using access information associated with each switch to prevent data from being forwarded outside a plurality of tiles |
US7577820B1 (en) | 2006-04-14 | 2009-08-18 | Tilera Corporation | Managing data in a parallel processing environment |
US8321377B2 (en) * | 2006-04-17 | 2012-11-27 | Microsoft Corporation | Creating host-level application-consistent backups of virtual machines |
US8176485B2 (en) * | 2006-05-15 | 2012-05-08 | Microsoft Corporation | Launching hypervisor under running operating system |
US20070271560A1 (en) * | 2006-05-18 | 2007-11-22 | Microsoft Corporation | Deploying virtual machine to host based on workload characterizations |
US7587663B2 (en) * | 2006-05-22 | 2009-09-08 | Intel Corporation | Fault detection using redundant virtual machines |
US8024727B2 (en) * | 2006-06-15 | 2011-09-20 | Microsoft Corporation | Enhancing or replacing host operating system functionality by leveraging guest operating system functionality |
US20070294707A1 (en) * | 2006-06-15 | 2007-12-20 | Microsoft Corporation | Enhancing or replacing host operating system functionality by leveraging guest operating system functionality |
DE102006029756A1 (de) | 2006-06-27 | 2008-01-03 | Deutsche Telekom Ag | Verfahren zum Delegieren von Privilegien an eine niedriger-priviligierte Instanz durch eine höher-priviligierte Instanz |
JP2008033392A (ja) * | 2006-07-26 | 2008-02-14 | Nec Corp | 仮想計算機システム及びその動作方法 |
US7478228B2 (en) * | 2006-08-31 | 2009-01-13 | Qualcomm Incorporated | Apparatus for generating return address predictions for implicit and explicit subroutine calls |
US7490191B2 (en) * | 2006-09-22 | 2009-02-10 | Intel Corporation | Sharing information between guests in a virtual machine environment |
US20080104586A1 (en) * | 2006-10-27 | 2008-05-01 | Microsoft Corporation | Allowing Virtual Machine to Discover Virtual Status Thereof |
US7689817B2 (en) * | 2006-11-16 | 2010-03-30 | Intel Corporation | Methods and apparatus for defeating malware |
US9189265B2 (en) | 2006-12-21 | 2015-11-17 | Vmware, Inc. | Storage architecture for virtual machines |
US9098347B2 (en) | 2006-12-21 | 2015-08-04 | Vmware | Implementation of virtual machine operations using storage system functionality |
US9354927B2 (en) | 2006-12-21 | 2016-05-31 | Vmware, Inc. | Securing virtual machine data |
US7765374B2 (en) * | 2007-01-25 | 2010-07-27 | Microsoft Corporation | Protecting operating-system resources |
US8380987B2 (en) * | 2007-01-25 | 2013-02-19 | Microsoft Corporation | Protection agents and privilege modes |
KR101396831B1 (ko) | 2007-03-30 | 2014-05-21 | 삼성전자주식회사 | 메모리 접근 제어 방법 |
US7984483B2 (en) * | 2007-04-25 | 2011-07-19 | Acxess, Inc. | System and method for working in a virtualized computing environment through secure access |
US8561060B2 (en) * | 2007-04-26 | 2013-10-15 | Advanced Micro Devices, Inc. | Processor and method configured to determine an exit mechanism using an intercept configuration for a virtual machine |
US20090007100A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Suspending a Running Operating System to Enable Security Scanning |
CN101334751B (zh) * | 2007-06-29 | 2010-04-14 | 联想(北京)有限公司 | 虚拟机监视器识别客户操作系统中进程的方法及装置 |
US8763115B2 (en) * | 2007-08-08 | 2014-06-24 | Vmware, Inc. | Impeding progress of malicious guest software |
CA2699565C (en) * | 2007-09-20 | 2014-07-15 | C&S Operations, Inc. | Computer system with multiple terminals |
CN101425020A (zh) * | 2007-10-31 | 2009-05-06 | 国际商业机器公司 | 对mmu仿真进行加速的方法、装置和全系统仿真器 |
KR100881386B1 (ko) | 2008-01-24 | 2009-02-02 | 주식회사 파수닷컴 | 프로세스 분리 실행을 통한 drm 클라이언트 충돌 방지 방법 |
CN101727331B (zh) * | 2008-10-24 | 2013-03-20 | 国际商业机器公司 | 升级活动虚拟机的客户操作系统的方法和设备 |
US9785462B2 (en) | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
US8806101B2 (en) * | 2008-12-30 | 2014-08-12 | Intel Corporation | Metaphysical address space for holding lossy metadata in hardware |
US8627014B2 (en) | 2008-12-30 | 2014-01-07 | Intel Corporation | Memory model for hardware attributes within a transactional memory system |
US8627017B2 (en) * | 2008-12-30 | 2014-01-07 | Intel Corporation | Read and write monitoring attributes in transactional memory (TM) systems |
US9535767B2 (en) | 2009-03-26 | 2017-01-03 | Microsoft Technology Licensing, Llc | Instantiating a virtual machine with a virtual non-uniform memory architecture |
US9529636B2 (en) * | 2009-03-26 | 2016-12-27 | Microsoft Technology Licensing, Llc | System and method for adjusting guest memory allocation based on memory pressure in virtual NUMA nodes of a virtual machine |
US8429648B2 (en) * | 2009-05-28 | 2013-04-23 | Red Hat, Inc. | Method and apparatus to service a software generated trap received by a virtual machine monitor |
US8813069B2 (en) * | 2009-05-29 | 2014-08-19 | Red Hat, Inc. | Migration of functionalities across systems |
US20110197256A1 (en) * | 2009-12-18 | 2011-08-11 | Assured Information Security, Inc. | Methods for securing a processing system and devices thereof |
KR20110094764A (ko) * | 2010-02-17 | 2011-08-24 | 삼성전자주식회사 | 트랜잭션 기반 입출력 인터페이스를 제공하는 가상화 장치 및 방법 |
US20110219373A1 (en) * | 2010-03-02 | 2011-09-08 | Electronics And Telecommunications Research Institute | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform |
US9529729B2 (en) * | 2010-11-16 | 2016-12-27 | International Business Machines Corporation | Location of memory management translations in an emulated processor |
US9129123B2 (en) | 2011-06-13 | 2015-09-08 | Lynx Software Technologies, Inc. | Systems and methods of secure domain isolation involving separation kernel features |
US9804870B2 (en) | 2011-10-28 | 2017-10-31 | Intel Corporation | Instruction-set support for invocation of VMM-configured services without VMM intervention |
KR20130050156A (ko) * | 2011-11-07 | 2013-05-15 | 한국전자통신연구원 | 가상 주소 공간 전환 장치 |
CN103975303B (zh) * | 2011-12-07 | 2017-08-08 | 英特尔公司 | 用于预链接软件以改善虚拟系统中的存储器去重的技术 |
RU2472215C1 (ru) | 2011-12-28 | 2013-01-10 | Закрытое акционерное общество "Лаборатория Касперского" | Способ выявления неизвестных программ с использованием эмуляции процесса загрузки |
US8745745B2 (en) | 2012-06-26 | 2014-06-03 | Lynuxworks, Inc. | Systems and methods involving features of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, rootkit detection/prevention, and/or other features |
US10310973B2 (en) * | 2012-10-25 | 2019-06-04 | Nvidia Corporation | Efficient memory virtualization in multi-threaded processing units |
CN103699388B (zh) * | 2013-12-30 | 2015-07-08 | 北京控制工程研究所 | 基于绝对地址汇聚的数据访问冲突检测方法 |
US9740857B2 (en) | 2014-01-16 | 2017-08-22 | Fireeye, Inc. | Threat-aware microvisor |
US9436395B2 (en) * | 2014-03-14 | 2016-09-06 | Advanced Micro Devices, Inc. | Mechanisms to save user/kernel copy for cross device communications |
US9203855B1 (en) | 2014-05-15 | 2015-12-01 | Lynx Software Technologies, Inc. | Systems and methods involving aspects of hardware virtualization such as hypervisor, detection and interception of code or instruction execution including API calls, and/or other features |
WO2016004263A1 (en) | 2014-07-01 | 2016-01-07 | Lynx Software Technologies, Inc. | Systems and methods involving aspects of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, anti-fingerprinting, and/or other features |
CA2969422A1 (en) | 2014-05-15 | 2015-11-19 | Lynx Software Technologies Inc. | Systems and methods involving features of hardware virtualization, hypervisor, apis of interest, and/or other features |
WO2015176029A1 (en) | 2014-05-15 | 2015-11-19 | Lynx Software Technologies, Inc. | Systems and methods involving features of hardware virtualization such as hypervisor, pages of interest, and/or other features |
US11782745B2 (en) | 2014-07-01 | 2023-10-10 | Lynx Software Technologies, Inc. | Systems and methods involving aspects of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, anti-fingerprinting and/or other features |
US9934376B1 (en) | 2014-12-29 | 2018-04-03 | Fireeye, Inc. | Malware detection appliance architecture |
US10474813B1 (en) | 2015-03-31 | 2019-11-12 | Fireeye, Inc. | Code injection technique for remediation at an endpoint of a network |
US9912681B1 (en) | 2015-03-31 | 2018-03-06 | Fireeye, Inc. | Injection of content processing delay in an endpoint |
US10454950B1 (en) | 2015-06-30 | 2019-10-22 | Fireeye, Inc. | Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks |
US10447728B1 (en) | 2015-12-10 | 2019-10-15 | Fireeye, Inc. | Technique for protecting guest processes using a layered virtualization architecture |
US10846117B1 (en) | 2015-12-10 | 2020-11-24 | Fireeye, Inc. | Technique for establishing secure communication between host and guest processes of a virtualization architecture |
US10108446B1 (en) | 2015-12-11 | 2018-10-23 | Fireeye, Inc. | Late load technique for deploying a virtualization layer underneath a running operating system |
RU2626550C1 (ru) * | 2016-08-09 | 2017-07-28 | Акционерное Общество "Научно-Исследовательский Институт Микроэлектронной Аппаратуры "Прогресс" | Программно-аппаратная платформа и способ ее реализации для беспроводных средств связи |
US10191861B1 (en) | 2016-09-06 | 2019-01-29 | Fireeye, Inc. | Technique for implementing memory views using a layered virtualization architecture |
US10909053B2 (en) * | 2019-05-27 | 2021-02-02 | Advanced Micro Devices, Inc. | Providing copies of input-output memory management unit registers to guest operating systems |
US10853263B1 (en) * | 2019-07-23 | 2020-12-01 | Ati Technologies Ulc | Unified kernel virtual address space for heterogeneous computing |
CN111124664B (zh) | 2019-11-22 | 2023-12-08 | 华为技术有限公司 | 第一操作系统访问第二操作系统资源的方法和装置 |
KR20220157145A (ko) | 2021-05-20 | 2022-11-29 | 삼성전자주식회사 | 가상화 시스템 및 가상화 시스템의 메모리 충돌 방지 방법 |
US20230033583A1 (en) * | 2021-07-30 | 2023-02-02 | Advanced Micro Devices, Inc. | Primary input-output queue serving host and guest operating systems concurrently |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6273346A (ja) * | 1985-09-27 | 1987-04-04 | Hitachi Ltd | アドレス変換装置 |
JPS63156248A (ja) * | 1986-12-19 | 1988-06-29 | Nec Corp | 仮想計算機方式 |
JPH0388042A (ja) * | 1989-08-31 | 1991-04-12 | Nec Corp | 仮想計算機環境におけるプログラム起動方式 |
JPH04348434A (ja) * | 1991-05-27 | 1992-12-03 | Hitachi Ltd | 仮想計算機システム |
JPH0635725A (ja) * | 1992-06-15 | 1994-02-10 | Internatl Business Mach Corp <Ibm> | 入出力資源を共用するための方法及びシステム |
JP2000076087A (ja) * | 1998-08-28 | 2000-03-14 | Hitachi Ltd | マルチオペレーティングシステム制御方法 |
WO2002050664A2 (en) * | 2000-12-21 | 2002-06-27 | Connectix Corporation | Logical substitution of processor control in an emulated computing environment |
Family Cites Families (253)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3699532A (en) | 1970-04-21 | 1972-10-17 | Singer Co | Multiprogramming control for a data handling system |
US3996449A (en) | 1975-08-25 | 1976-12-07 | International Business Machines Corporation | Operating system authenticator |
US4162536A (en) | 1976-01-02 | 1979-07-24 | Gould Inc., Modicon Div. | Digital input/output system and method |
US4037214A (en) | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key register controlled accessing system |
US4247905A (en) | 1977-08-26 | 1981-01-27 | Sharp Kabushiki Kaisha | Memory clear system |
US4278837A (en) | 1977-10-31 | 1981-07-14 | Best Robert M | Crypto microprocessor for executing enciphered programs |
US4276594A (en) | 1978-01-27 | 1981-06-30 | Gould Inc. Modicon Division | Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same |
US4207609A (en) | 1978-05-08 | 1980-06-10 | International Business Machines Corporation | Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system |
JPS5823570B2 (ja) | 1978-11-30 | 1983-05-16 | 国産電機株式会社 | 液面検出装置 |
JPS5576447A (en) | 1978-12-01 | 1980-06-09 | Fujitsu Ltd | Address control system for software simulation |
US4307447A (en) | 1979-06-19 | 1981-12-22 | Gould Inc. | Programmable controller |
US4307214A (en) | 1979-12-12 | 1981-12-22 | Phillips Petroleum Company | SC2 activation of supported chromium oxide catalysts |
US4319323A (en) | 1980-04-04 | 1982-03-09 | Digital Equipment Corporation | Communications device for data processing system |
US4419724A (en) | 1980-04-14 | 1983-12-06 | Sperry Corporation | Main bus interface package |
US4366537A (en) | 1980-05-23 | 1982-12-28 | International Business Machines Corp. | Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys |
US4403283A (en) | 1980-07-28 | 1983-09-06 | Ncr Corporation | Extended memory system and method |
DE3034581A1 (de) | 1980-09-13 | 1982-04-22 | Robert Bosch Gmbh, 7000 Stuttgart | Auslesesicherung bei einchip-mikroprozessoren |
JPS58140862A (ja) | 1982-02-16 | 1983-08-20 | Toshiba Corp | 相互排他方式 |
US4521852A (en) | 1982-06-30 | 1985-06-04 | Texas Instruments Incorporated | Data processing device formed on a single semiconductor substrate having secure memory |
JPS59111561A (ja) | 1982-12-17 | 1984-06-27 | Hitachi Ltd | 複合プロセツサ・システムのアクセス制御方式 |
US4759064A (en) | 1985-10-07 | 1988-07-19 | Chaum David L | Blind unanticipated signature systems |
US4975836A (en) | 1984-12-19 | 1990-12-04 | Hitachi, Ltd. | Virtual computer system |
JPS61206057A (ja) | 1985-03-11 | 1986-09-12 | Hitachi Ltd | アドレス変換装置 |
FR2592510B1 (fr) | 1985-12-31 | 1988-02-12 | Bull Cp8 | Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire |
SU1327113A2 (ru) * | 1986-02-25 | 1987-07-30 | Военная академия им.Ф.Э.Дзержинского | Устройство дл управлени виртуальной пам тью |
FR2601476B1 (fr) | 1986-07-11 | 1988-10-21 | Bull Cp8 | Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire |
FR2601525B1 (fr) | 1986-07-11 | 1988-10-21 | Bull Cp8 | Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique |
FR2601535B1 (fr) | 1986-07-11 | 1988-10-21 | Bull Cp8 | Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission |
US5038281A (en) * | 1986-09-19 | 1991-08-06 | International Business Machines Corporation | Acceleration of system interrupts between operating systems in guest-host relationship |
FR2618002B1 (fr) | 1987-07-10 | 1991-07-05 | Schlumberger Ind Sa | Procede et systeme d'authentification de cartes a memoire electronique |
US5007082A (en) | 1988-08-03 | 1991-04-09 | Kelly Services, Inc. | Computer software encryption apparatus |
US5079737A (en) | 1988-10-25 | 1992-01-07 | United Technologies Corporation | Memory management unit for the MIL-STD 1750 bus |
US5434999A (en) | 1988-11-09 | 1995-07-18 | Bull Cp8 | Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal |
FR2640798B1 (fr) | 1988-12-20 | 1993-01-08 | Bull Cp8 | Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable |
JPH02171934A (ja) | 1988-12-26 | 1990-07-03 | Hitachi Ltd | 仮想計算機システム |
JPH02208740A (ja) | 1989-02-09 | 1990-08-20 | Fujitsu Ltd | 仮想計算機制御方式 |
US5781753A (en) | 1989-02-24 | 1998-07-14 | Advanced Micro Devices, Inc. | Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions |
US5442645A (en) | 1989-06-06 | 1995-08-15 | Bull Cp8 | Method for checking the integrity of a program or data, and apparatus for implementing this method |
JP2590267B2 (ja) | 1989-06-30 | 1997-03-12 | 株式会社日立製作所 | 仮想計算機における表示制御方式 |
US5022077A (en) | 1989-08-25 | 1991-06-04 | International Business Machines Corp. | Apparatus and method for preventing unauthorized access to BIOS in a personal computer system |
JP2825550B2 (ja) | 1989-09-21 | 1998-11-18 | 株式会社日立製作所 | 多重仮想空間アドレス制御方法および計算機システム |
CA2010591C (en) | 1989-10-20 | 1999-01-26 | Phillip M. Adams | Kernels, description tables and device drivers |
CA2027799A1 (en) | 1989-11-03 | 1991-05-04 | David A. Miller | Method and apparatus for independently resetting processors and cache controllers in multiple processor systems |
US5075842A (en) | 1989-12-22 | 1991-12-24 | Intel Corporation | Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism |
EP0473913A3 (en) | 1990-09-04 | 1992-12-16 | International Business Machines Corporation | Method and apparatus for providing a service pool of virtual machines for a plurality of vm users |
US5108590A (en) | 1990-09-12 | 1992-04-28 | Disanto Dennis | Water dispenser |
US5230069A (en) | 1990-10-02 | 1993-07-20 | International Business Machines Corporation | Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system |
US5317705A (en) | 1990-10-24 | 1994-05-31 | International Business Machines Corporation | Apparatus and method for TLB purge reduction in a multi-level machine system |
US5287363A (en) | 1991-07-01 | 1994-02-15 | Disk Technician Corporation | System for locating and anticipating data storage media failures |
US5437033A (en) | 1990-11-16 | 1995-07-25 | Hitachi, Ltd. | System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode |
US5255379A (en) | 1990-12-28 | 1993-10-19 | Sun Microsystems, Inc. | Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor |
US5453003A (en) | 1991-01-09 | 1995-09-26 | Pfefferle; William C. | Catalytic method |
JP3093293B2 (ja) * | 1991-02-08 | 2000-10-03 | 日本電気株式会社 | 情報処理装置の割り込み方式 |
US5551033A (en) | 1991-05-17 | 1996-08-27 | Zenith Data Systems Corporation | Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program |
US5319760A (en) | 1991-06-28 | 1994-06-07 | Digital Equipment Corporation | Translation buffer for virtual machines with address space match |
US5522075A (en) | 1991-06-28 | 1996-05-28 | Digital Equipment Corporation | Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces |
US5455909A (en) | 1991-07-05 | 1995-10-03 | Chips And Technologies Inc. | Microprocessor with operation capture facility |
JPH06236284A (ja) | 1991-10-21 | 1994-08-23 | Intel Corp | コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム |
WO1993009494A1 (en) * | 1991-10-28 | 1993-05-13 | Digital Equipment Corporation | Fault-tolerant computer processing using a shadow virtual processor |
US5627987A (en) | 1991-11-29 | 1997-05-06 | Kabushiki Kaisha Toshiba | Memory management and protection system for virtual memory in computer system |
US5574936A (en) | 1992-01-02 | 1996-11-12 | Amdahl Corporation | Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system |
US5486529A (en) | 1992-04-16 | 1996-01-23 | Zeneca Limited | Certain pyridyl ketones for treating diseases involving leukocyte elastase |
US5421006A (en) | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
US5610981A (en) | 1992-06-04 | 1997-03-11 | Integrated Technologies Of America, Inc. | Preboot protection for a data security system with anti-intrusion capability |
US5237616A (en) | 1992-09-21 | 1993-08-17 | International Business Machines Corporation | Secure computer system having privileged and unprivileged memories |
US5293424A (en) | 1992-10-14 | 1994-03-08 | Bull Hn Information Systems Inc. | Secure memory card |
US5796835A (en) | 1992-10-27 | 1998-08-18 | Bull Cp8 | Method and system for writing information in a data carrier making it possible to later certify the originality of this information |
US5371867A (en) * | 1992-11-10 | 1994-12-06 | International Business Machines Corporation | Method of using small addresses to access any guest zone in a large memory |
JP2765411B2 (ja) | 1992-11-30 | 1998-06-18 | 株式会社日立製作所 | 仮想計算機方式 |
EP0600112A1 (de) | 1992-11-30 | 1994-06-08 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff |
US5668971A (en) | 1992-12-01 | 1997-09-16 | Compaq Computer Corporation | Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer |
EP0602867A1 (en) | 1992-12-17 | 1994-06-22 | NCR International, Inc. | An apparatus for securing a system platform |
JPH06187178A (ja) | 1992-12-18 | 1994-07-08 | Hitachi Ltd | 仮想計算機システムの入出力割込み制御方法 |
US5483656A (en) | 1993-01-14 | 1996-01-09 | Apple Computer, Inc. | System for managing power consumption of devices coupled to a common bus |
US5469557A (en) | 1993-03-05 | 1995-11-21 | Microchip Technology Incorporated | Code protection in microcontroller with EEPROM fuses |
FR2703800B1 (fr) | 1993-04-06 | 1995-05-24 | Bull Cp8 | Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre. |
FR2704341B1 (fr) | 1993-04-22 | 1995-06-02 | Bull Cp8 | Dispositif de protection des clés d'une carte à puce. |
JPH06348867A (ja) | 1993-06-04 | 1994-12-22 | Hitachi Ltd | マイクロコンピュータ |
FR2706210B1 (fr) | 1993-06-08 | 1995-07-21 | Bull Cp8 | Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants. |
US5555385A (en) | 1993-10-27 | 1996-09-10 | International Business Machines Corporation | Allocation of address spaces within virtual machine compute system |
US5825880A (en) | 1994-01-13 | 1998-10-20 | Sudia; Frank W. | Multi-step digital signature method and system |
US5459869A (en) | 1994-02-17 | 1995-10-17 | Spilo; Michael L. | Method for providing protected mode services for device drivers and other resident software |
US5604805A (en) | 1994-02-28 | 1997-02-18 | Brands; Stefanus A. | Privacy-protected transfer of electronic information |
FR2717286B1 (fr) | 1994-03-09 | 1996-04-05 | Bull Cp8 | Procédé et dispositif pour authentifier un support de données destiné à permettre une transaction ou l'accès à un service ou à un lieu, et support correspondant. |
US5421066A (en) * | 1994-05-16 | 1995-06-06 | Bonomo; Melvin E. | Self-locking tensioning bar |
US5684881A (en) | 1994-05-23 | 1997-11-04 | Matsushita Electric Industrial Co., Ltd. | Sound field and sound image control apparatus and method |
US5473692A (en) | 1994-09-07 | 1995-12-05 | Intel Corporation | Roving software license for a hardware agent |
US5539828A (en) | 1994-05-31 | 1996-07-23 | Intel Corporation | Apparatus and method for providing secured communications |
US5533123A (en) | 1994-06-28 | 1996-07-02 | National Semiconductor Corporation | Programmable distributed personal security |
US5978481A (en) | 1994-08-16 | 1999-11-02 | Intel Corporation | Modem compatible method and apparatus for encrypting data that is transparent to software applications |
JPH0883211A (ja) | 1994-09-12 | 1996-03-26 | Mitsubishi Electric Corp | データ処理装置 |
EP0706275B1 (en) | 1994-09-15 | 2006-01-25 | International Business Machines Corporation | System and method for secure storage and distribution of data using digital signatures |
US6058478A (en) | 1994-09-30 | 2000-05-02 | Intel Corporation | Apparatus and method for a vetted field upgrade |
FR2725537B1 (fr) | 1994-10-11 | 1996-11-22 | Bull Cp8 | Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe |
US5903752A (en) | 1994-10-13 | 1999-05-11 | Intel Corporation | Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system |
US5606617A (en) | 1994-10-14 | 1997-02-25 | Brands; Stefanus A. | Secret-key certificates |
US5564040A (en) | 1994-11-08 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for providing a server function in a logically partitioned hardware machine |
US6269392B1 (en) | 1994-11-15 | 2001-07-31 | Christian Cotichini | Method and apparatus to monitor and locate an electronic device using a secured intelligent agent |
US5560013A (en) | 1994-12-06 | 1996-09-24 | International Business Machines Corporation | Method of using a target processor to execute programs of a source architecture that uses multiple address spaces |
US5555414A (en) | 1994-12-14 | 1996-09-10 | International Business Machines Corporation | Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals |
US5615263A (en) | 1995-01-06 | 1997-03-25 | Vlsi Technology, Inc. | Dual purpose security architecture with protected internal operating system |
US5764969A (en) | 1995-02-10 | 1998-06-09 | International Business Machines Corporation | Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization |
FR2731536B1 (fr) | 1995-03-10 | 1997-04-18 | Schlumberger Ind Sa | Procede d'inscription securisee d'informations dans un support portable |
US5717903A (en) | 1995-05-15 | 1998-02-10 | Compaq Computer Corporation | Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device |
JP3451595B2 (ja) | 1995-06-07 | 2003-09-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ |
US5684948A (en) | 1995-09-01 | 1997-11-04 | National Semiconductor Corporation | Memory management circuit which provides simulated privilege levels |
US5633929A (en) | 1995-09-15 | 1997-05-27 | Rsa Data Security, Inc | Cryptographic key escrow system having reduced vulnerability to harvesting attacks |
US6093213A (en) | 1995-10-06 | 2000-07-25 | Advanced Micro Devices, Inc. | Flexible implementation of a system management mode (SMM) in a processor |
US5737760A (en) | 1995-10-06 | 1998-04-07 | Motorola Inc. | Microcontroller with security logic circuit which prevents reading of internal memory by external program |
US5606817B1 (en) * | 1995-10-18 | 1999-06-29 | Remington Arms Co Inc | Muzzle-loading firearm |
JP3693721B2 (ja) | 1995-11-10 | 2005-09-07 | Necエレクトロニクス株式会社 | フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法 |
IL116708A (en) | 1996-01-08 | 2000-12-06 | Smart Link Ltd | Real-time task manager for a personal computer |
AU1690597A (en) | 1996-01-11 | 1997-08-01 | Mitre Corporation, The | System for controlling access and distribution of digital property |
US5657445A (en) | 1996-01-26 | 1997-08-12 | Dell Usa, L.P. | Apparatus and method for limiting access to mass storage devices in a computer system |
IL117085A (en) | 1996-02-08 | 2005-07-25 | Milsys Ltd | Secure computer system |
US5835594A (en) | 1996-02-09 | 1998-11-10 | Intel Corporation | Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage |
US5978892A (en) | 1996-05-03 | 1999-11-02 | Digital Equipment Corporation | Virtual memory allocation in a virtual address space having an inaccessible gap |
US5809546A (en) | 1996-05-23 | 1998-09-15 | International Business Machines Corporation | Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers |
US6178509B1 (en) | 1996-06-13 | 2001-01-23 | Intel Corporation | Tamper resistant methods and apparatus |
US6175925B1 (en) | 1996-06-13 | 2001-01-16 | Intel Corporation | Tamper resistant player for scrambled contents |
US6205550B1 (en) | 1996-06-13 | 2001-03-20 | Intel Corporation | Tamper resistant methods and apparatus |
US5729760A (en) | 1996-06-21 | 1998-03-17 | Intel Corporation | System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode |
US5757604A (en) | 1996-06-27 | 1998-05-26 | Raychem Corporation | Surge arrester having grooved and ridged terminals |
US5944821A (en) | 1996-07-11 | 1999-08-31 | Compaq Computer Corporation | Secure software registration and integrity assessment in a computer system |
US6199152B1 (en) | 1996-08-22 | 2001-03-06 | Transmeta Corporation | Translated memory protection apparatus for an advanced microprocessor |
US5740178A (en) | 1996-08-29 | 1998-04-14 | Lucent Technologies Inc. | Software for controlling a reliable backup memory |
WO1998012620A1 (fr) | 1996-09-20 | 1998-03-26 | Mitsubishi Denki Kabushiki Kaisha | Micro-ordinateur possedant une fonction de commande de remise a zero |
US6055637A (en) | 1996-09-27 | 2000-04-25 | Electronic Data Systems Corporation | System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential |
US5844986A (en) | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
US5937063A (en) | 1996-09-30 | 1999-08-10 | Intel Corporation | Secure boot |
US5935242A (en) | 1996-10-28 | 1999-08-10 | Sun Microsystems, Inc. | Method and apparatus for initializing a device |
JPH10134008A (ja) | 1996-11-05 | 1998-05-22 | Mitsubishi Electric Corp | 半導体装置およびコンピュータシステム |
US5852717A (en) | 1996-11-20 | 1998-12-22 | Shiva Corporation | Performance optimizations for computer networks utilizing HTTP |
DE19649292A1 (de) | 1996-11-28 | 1998-06-04 | Deutsche Telekom Ag | Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems |
US5901225A (en) | 1996-12-05 | 1999-05-04 | Advanced Micro Devices, Inc. | System and method for performing software patches in embedded systems |
US5757919A (en) | 1996-12-12 | 1998-05-26 | Intel Corporation | Cryptographically protected paging subsystem |
US5818939A (en) | 1996-12-18 | 1998-10-06 | Intel Corporation | Optimized security functionality in an electronic system |
US6412035B1 (en) | 1997-02-03 | 2002-06-25 | Real Time, Inc. | Apparatus and method for decreasing the response times of interrupt service routines |
US6148401A (en) | 1997-02-05 | 2000-11-14 | At&T Corp. | System and method for providing assurance to a host that a piece of software possesses a particular property |
US5953502A (en) | 1997-02-13 | 1999-09-14 | Helbig, Sr.; Walter A | Method and apparatus for enhancing computer system security |
JP4000654B2 (ja) | 1997-02-27 | 2007-10-31 | セイコーエプソン株式会社 | 半導体装置及び電子機器 |
EP0970411B1 (en) | 1997-03-27 | 2002-05-15 | BRITISH TELECOMMUNICATIONS public limited company | Copy protection of data |
US6272637B1 (en) | 1997-04-14 | 2001-08-07 | Dallas Semiconductor Corporation | Systems and methods for protecting access to encrypted information |
US6557104B2 (en) | 1997-05-02 | 2003-04-29 | Phoenix Technologies Ltd. | Method and apparatus for secure processing of cryptographic keys |
US6044478A (en) | 1997-05-30 | 2000-03-28 | National Semiconductor Corporation | Cache with finely granular locked-down regions |
US6075938A (en) | 1997-06-10 | 2000-06-13 | The Board Of Trustees Of The Leland Stanford Junior University | Virtual machine monitors for scalable multiprocessors |
US5987557A (en) | 1997-06-19 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU) |
US6175924B1 (en) | 1997-06-20 | 2001-01-16 | International Business Machines Corp. | Method and apparatus for protecting application data in secure storage areas |
US6035374A (en) | 1997-06-25 | 2000-03-07 | Sun Microsystems, Inc. | Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency |
US6584565B1 (en) | 1997-07-15 | 2003-06-24 | Hewlett-Packard Development Company, L.P. | Method and apparatus for long term verification of digital signatures |
US6014745A (en) | 1997-07-17 | 2000-01-11 | Silicon Systems Design Ltd. | Protection for customer programs (EPROM) |
US5978475A (en) | 1997-07-18 | 1999-11-02 | Counterpane Internet Security, Inc. | Event auditing system |
US6212635B1 (en) | 1997-07-18 | 2001-04-03 | David C. Reardon | Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place |
US6188995B1 (en) | 1997-07-28 | 2001-02-13 | Apple Computer, Inc. | Method and apparatus for enforcing software licenses |
US5919257A (en) | 1997-08-08 | 1999-07-06 | Novell, Inc. | Networked workstation intrusion detection system |
DE19735948C1 (de) | 1997-08-19 | 1998-10-01 | Siemens Nixdorf Inf Syst | Verfahren zur Verbesserung der Steuerungsmöglichkeit in Datenverarbeitungsanlagen mit Adreßübersetzung |
US6282657B1 (en) | 1997-09-16 | 2001-08-28 | Safenet, Inc. | Kernel mode protection |
US5935247A (en) | 1997-09-18 | 1999-08-10 | Geneticware Co., Ltd. | Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same |
US6148379A (en) | 1997-09-19 | 2000-11-14 | Silicon Graphics, Inc. | System, method and computer program product for page sharing between fault-isolated cells in a distributed shared memory system |
US6182089B1 (en) | 1997-09-23 | 2001-01-30 | Silicon Graphics, Inc. | Method, system and computer program product for dynamically allocating large memory pages of different sizes |
US6357004B1 (en) | 1997-09-30 | 2002-03-12 | Intel Corporation | System and method for ensuring integrity throughout post-processing |
US6061794A (en) | 1997-09-30 | 2000-05-09 | Compaq Computer Corp. | System and method for performing secure device communications in a peer-to-peer bus architecture |
US5978834A (en) | 1997-09-30 | 1999-11-02 | The United States Of America As Represented By The Secretary Of The Navy | Platform independent computer interface software responsive to scripted commands |
US5970147A (en) | 1997-09-30 | 1999-10-19 | Intel Corporation | System and method for configuring and registering a cryptographic device |
US5987604A (en) | 1997-10-07 | 1999-11-16 | Phoenix Technologies, Ltd. | Method and apparatus for providing execution of system management mode services in virtual mode |
US6085296A (en) | 1997-11-12 | 2000-07-04 | Digital Equipment Corporation | Sharing memory pages and page tables among computer processes |
US6219787B1 (en) | 1997-12-22 | 2001-04-17 | Texas Instruments Incorporated | Method and apparatus for extending security model to native code |
US6378072B1 (en) | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
US6308270B1 (en) | 1998-02-13 | 2001-10-23 | Schlumberger Technologies, Inc. | Validating and certifying execution of a software program with a smart card |
US6108644A (en) | 1998-02-19 | 2000-08-22 | At&T Corp. | System and method for electronic transactions |
US6131166A (en) | 1998-03-13 | 2000-10-10 | Sun Microsystems, Inc. | System and method for cross-platform application level power management |
US6192455B1 (en) | 1998-03-30 | 2001-02-20 | Intel Corporation | Apparatus and method for preventing access to SMRAM space through AGP addressing |
US6374286B1 (en) | 1998-04-06 | 2002-04-16 | Rockwell Collins, Inc. | Real time processor capable of concurrently running multiple independent JAVA machines |
ATE246751T1 (de) * | 1998-04-22 | 2003-08-15 | Peter Geiger | Verlegeverbund aus pflastersteinen aus betonwerkstoff |
US6173417B1 (en) | 1998-04-30 | 2001-01-09 | Intel Corporation | Initializing and restarting operating systems |
US6339826B2 (en) | 1998-05-05 | 2002-01-15 | International Business Machines Corp. | Client-server system for maintaining a user desktop consistent with server application user access permissions |
US6397242B1 (en) | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
FR2778998B1 (fr) | 1998-05-20 | 2000-06-30 | Schlumberger Ind Sa | Procede d'authentification d'un code personnel d'un utilisateur d'une carte a circuit integre |
EP0961193B1 (en) | 1998-05-29 | 2010-09-01 | Texas Instruments Incorporated | Secure computing device |
US6421702B1 (en) | 1998-06-09 | 2002-07-16 | Advanced Micro Devices, Inc. | Interrupt driven isochronous task scheduler system |
WO1999065579A1 (en) | 1998-06-17 | 1999-12-23 | Aristocrat Technologies Australia Pty. Ltd. | Software verification and authentication |
US6339815B1 (en) | 1998-08-14 | 2002-01-15 | Silicon Storage Technology, Inc. | Microcontroller system having allocation circuitry to selectively allocate and/or hide portions of a program memory address space |
US6505279B1 (en) | 1998-08-14 | 2003-01-07 | Silicon Storage Technology, Inc. | Microcontroller system having security circuitry to selectively lock portions of a program memory address space |
US6363485B1 (en) | 1998-09-09 | 2002-03-26 | Entrust Technologies Limited | Multi-factor biometric authenticating device and method |
US6463535B1 (en) | 1998-10-05 | 2002-10-08 | Intel Corporation | System and method for verifying the integrity and authorization of software before execution in a local platform |
US6230248B1 (en) | 1998-10-12 | 2001-05-08 | Institute For The Development Of Emerging Architectures, L.L.C. | Method and apparatus for pre-validating regions in a virtual addressing scheme |
US6330670B1 (en) | 1998-10-26 | 2001-12-11 | Microsoft Corporation | Digital rights management operating system |
US7194092B1 (en) | 1998-10-26 | 2007-03-20 | Microsoft Corporation | Key-based secure storage |
US6327652B1 (en) | 1998-10-26 | 2001-12-04 | Microsoft Corporation | Loading and identifying a digital rights management operating system |
US6609199B1 (en) | 1998-10-26 | 2003-08-19 | Microsoft Corporation | Method and apparatus for authenticating an open system application to a portable IC device |
US6445797B1 (en) | 1998-12-16 | 2002-09-03 | Secure Choice Llc | Method and system for performing secure electronic digital streaming |
US6463537B1 (en) | 1999-01-04 | 2002-10-08 | Codex Technologies, Inc. | Modified computer motherboard security and identification system |
US6282650B1 (en) | 1999-01-25 | 2001-08-28 | Intel Corporation | Secure public digital watermark |
US6560627B1 (en) | 1999-01-28 | 2003-05-06 | Cisco Technology, Inc. | Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore |
US7111290B1 (en) | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
US6188257B1 (en) | 1999-02-01 | 2001-02-13 | Vlsi Technology, Inc. | Power-on-reset logic with secure power down capability |
EP1030237A1 (en) | 1999-02-15 | 2000-08-23 | Hewlett-Packard Company | Trusted hardware device in a computer |
US6272533B1 (en) | 1999-02-16 | 2001-08-07 | Hendrik A. Browne | Secure computer system and method of providing secure access to a computer system including a stand alone switch operable to inhibit data corruption on a storage device |
US7225333B2 (en) | 1999-03-27 | 2007-05-29 | Microsoft Corporation | Secure processor architecture for use with a digital rights management (DRM) system on a computing device |
US6615278B1 (en) | 1999-03-29 | 2003-09-02 | International Business Machines Corporation | Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an OS/2 operating system environment |
US6684326B1 (en) | 1999-03-31 | 2004-01-27 | International Business Machines Corporation | Method and system for authenticated boot operations in a computer system of a networked computing environment |
US6651171B1 (en) | 1999-04-06 | 2003-11-18 | Microsoft Corporation | Secure execution of program code |
HK1052568A1 (zh) | 1999-04-12 | 2003-09-19 | Digital Media On Demand, Inc. (Dmod, Inc.) | 保安電子商業系統 |
US6389537B1 (en) * | 1999-04-23 | 2002-05-14 | Intel Corporation | Platform and method for assuring integrity of trusted agent communications |
US6275933B1 (en) | 1999-04-30 | 2001-08-14 | 3Com Corporation | Security system for a computerized apparatus |
EP1055989A1 (en) | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | System for digitally signing a document |
EP1056014A1 (en) | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | System for providing a trustworthy user interface |
US6321314B1 (en) | 1999-06-09 | 2001-11-20 | Ati International S.R.L. | Method and apparatus for restricting memory access |
US6633981B1 (en) | 1999-06-18 | 2003-10-14 | Intel Corporation | Electronic system and method for controlling access through user authentication |
US6158546A (en) | 1999-06-25 | 2000-12-12 | Tenneco Automotive Inc. | Straight through muffler with conically-ended output passage |
US6301646B1 (en) | 1999-07-30 | 2001-10-09 | Curl Corporation | Pointer verification system and method |
US6529909B1 (en) | 1999-08-31 | 2003-03-04 | Accenture Llp | Method for translating an object attribute converter in an information services patterns environment |
JP2001148344A (ja) | 1999-09-09 | 2001-05-29 | Nikon Corp | 露光装置、エネルギ源の出力制御方法、該方法を用いるレーザ装置、及びデバイス製造方法 |
EP1085396A1 (en) | 1999-09-17 | 2001-03-21 | Hewlett-Packard Company | Operation of trusted state in computing platform |
US6535988B1 (en) | 1999-09-29 | 2003-03-18 | Intel Corporation | System for detecting over-clocking uses a reference signal thereafter preventing over-clocking by reducing clock rate |
US6374317B1 (en) | 1999-10-07 | 2002-04-16 | Intel Corporation | Method and apparatus for initializing a computer interface |
GB9923802D0 (en) | 1999-10-08 | 1999-12-08 | Hewlett Packard Co | User authentication |
GB9923804D0 (en) | 1999-10-08 | 1999-12-08 | Hewlett Packard Co | Electronic commerce system |
US6292874B1 (en) | 1999-10-19 | 2001-09-18 | Advanced Technology Materials, Inc. | Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges |
WO2001063994A2 (en) | 2000-02-23 | 2001-08-30 | Iridian Technologies, Inc. | Tamper proof case for electronic devices having memories with sensitive information |
WO2001063567A2 (en) | 2000-02-25 | 2001-08-30 | Identix Incorporated | Secure transaction system |
WO2001065366A1 (en) | 2000-03-02 | 2001-09-07 | Alarity Corporation | System and method for process protection |
JP3710671B2 (ja) | 2000-03-14 | 2005-10-26 | シャープ株式会社 | 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 |
CA2341931C (en) | 2000-03-24 | 2006-05-30 | Contentguard Holdings, Inc. | System and method for protection of digital works |
US6795905B1 (en) | 2000-03-31 | 2004-09-21 | Intel Corporation | Controlling accesses to isolated memory using a memory controller for isolated execution |
US6633963B1 (en) | 2000-03-31 | 2003-10-14 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US6990579B1 (en) | 2000-03-31 | 2006-01-24 | Intel Corporation | Platform and method for remote attestation of a platform |
US6507904B1 (en) | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
US6678825B1 (en) | 2000-03-31 | 2004-01-13 | Intel Corporation | Controlling access to multiple isolated memories in an isolated execution environment |
US6789126B1 (en) * | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Addressing message gates in a distributed computing environment |
US6976162B1 (en) | 2000-06-28 | 2005-12-13 | Intel Corporation | Platform and method for establishing provable identities while maintaining privacy |
GB0020416D0 (en) | 2000-08-18 | 2000-10-04 | Hewlett Packard Co | Trusted system |
US20020062452A1 (en) | 2000-08-18 | 2002-05-23 | Warwick Ford | Countering credentials copying |
US6938164B1 (en) | 2000-11-22 | 2005-08-30 | Microsoft Corporation | Method and system for allowing code to be securely initialized in a computer |
US6948065B2 (en) | 2000-12-27 | 2005-09-20 | Intel Corporation | Platform and method for securely transmitting an authorization secret |
US7225441B2 (en) * | 2000-12-27 | 2007-05-29 | Intel Corporation | Mechanism for providing power management through virtualization |
US7631160B2 (en) | 2001-04-04 | 2009-12-08 | Advanced Micro Devices, Inc. | Method and apparatus for securing portions of memory |
WO2002086684A2 (en) | 2001-04-24 | 2002-10-31 | Hewlett-Packard Company | An information security system |
US6976136B2 (en) | 2001-05-07 | 2005-12-13 | National Semiconductor Corporation | Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller |
US7676430B2 (en) | 2001-05-09 | 2010-03-09 | Lenovo (Singapore) Ptd. Ltd. | System and method for installing a remote credit card authorization on a system with a TCPA complaint chipset |
US6789156B1 (en) * | 2001-05-22 | 2004-09-07 | Vmware, Inc. | Content-based, transparent sharing of memory units |
EP1271277A3 (en) | 2001-06-26 | 2003-02-05 | Redstrike B.V. | Security system and software to prevent unauthorized use of a computing device |
US6762838B2 (en) | 2001-07-02 | 2004-07-13 | Tevet Process Control Technologies Ltd. | Method and apparatus for production line screening |
US20030018892A1 (en) | 2001-07-19 | 2003-01-23 | Jose Tello | Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer |
US7191464B2 (en) | 2001-10-16 | 2007-03-13 | Lenovo Pte. Ltd. | Method and system for tracking a secure boot in a trusted computing environment |
US7103771B2 (en) | 2001-12-17 | 2006-09-05 | Intel Corporation | Connecting a virtual token to a physical token |
US20030126454A1 (en) | 2001-12-28 | 2003-07-03 | Glew Andrew F. | Authenticated code method and apparatus |
US7308576B2 (en) | 2001-12-31 | 2007-12-11 | Intel Corporation | Authenticated code module |
US20030126453A1 (en) | 2001-12-31 | 2003-07-03 | Glew Andrew F. | Processor supporting execution of an authenticated code instruction |
US7107460B2 (en) | 2002-02-15 | 2006-09-12 | International Business Machines Corporation | Method and system for securing enablement access to a data security device |
US7343493B2 (en) | 2002-03-28 | 2008-03-11 | Lenovo (Singapore) Pte. Ltd. | Encrypted file system using TCPA |
US6725289B1 (en) * | 2002-04-17 | 2004-04-20 | Vmware, Inc. | Transparent address remapping for high-speed I/O |
US7318141B2 (en) | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
-
2000
- 2000-12-27 US US09/752,587 patent/US7035963B2/en not_active Expired - Fee Related
-
2001
- 2001-12-20 CN CN018228372A patent/CN1575453B/zh not_active Expired - Fee Related
- 2001-12-20 CN CN2010101495395A patent/CN101826030B/zh not_active Expired - Fee Related
- 2001-12-20 KR KR1020037008770A patent/KR100624668B1/ko not_active Expired - Fee Related
- 2001-12-20 WO PCT/US2001/050415 patent/WO2002056172A2/en active Application Filing
- 2001-12-20 RU RU2003123112/09A patent/RU2259582C2/ru not_active IP Right Cessation
- 2001-12-20 AU AU2002249862A patent/AU2002249862A1/en not_active Abandoned
- 2001-12-20 BR BR0116630-1A patent/BR0116630A/pt not_active Application Discontinuation
- 2001-12-20 JP JP2002556364A patent/JP4021769B2/ja not_active Expired - Fee Related
- 2001-12-20 EP EP01998106A patent/EP1405181A2/en not_active Withdrawn
- 2001-12-24 TW TW090132036A patent/TWI228221B/zh not_active IP Right Cessation
-
2003
- 2003-09-30 US US10/676,737 patent/US7020738B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6273346A (ja) * | 1985-09-27 | 1987-04-04 | Hitachi Ltd | アドレス変換装置 |
JPS63156248A (ja) * | 1986-12-19 | 1988-06-29 | Nec Corp | 仮想計算機方式 |
JPH0388042A (ja) * | 1989-08-31 | 1991-04-12 | Nec Corp | 仮想計算機環境におけるプログラム起動方式 |
JPH04348434A (ja) * | 1991-05-27 | 1992-12-03 | Hitachi Ltd | 仮想計算機システム |
JPH0635725A (ja) * | 1992-06-15 | 1994-02-10 | Internatl Business Mach Corp <Ibm> | 入出力資源を共用するための方法及びシステム |
JP2000076087A (ja) * | 1998-08-28 | 2000-03-14 | Hitachi Ltd | マルチオペレーティングシステム制御方法 |
WO2002050664A2 (en) * | 2000-12-21 | 2002-06-27 | Connectix Corporation | Logical substitution of processor control in an emulated computing environment |
JP2004531788A (ja) * | 2000-12-21 | 2004-10-14 | コネクティクス コーポレイション | エミュレートされるコンピューティング環境におけるプロセッサ制御の論理的置換のためのシステムおよび方法 |
Non-Patent Citations (2)
Title |
---|
K. LAWTON: "Running multiple operating systems concurrently on an IA32 PC using virtualization techniques", [ONLINE], JPN4007017677, 29 November 1999 (1999-11-29), ISSN: 0000889934 * |
梅野英典,外4名: "仮想計算機システムの高性能化方式", 情報処理, vol. 第31巻,第12号, CSNG199800245006, 15 December 1990 (1990-12-15), pages 1665 - 1680, ISSN: 0000808358 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008529176A (ja) * | 2005-01-28 | 2008-07-31 | インテル・コーポレーション | 仮想マシン環境のアドレス変換をサポートするための方法と装置 |
Also Published As
Publication number | Publication date |
---|---|
US7035963B2 (en) | 2006-04-25 |
US20030120856A1 (en) | 2003-06-26 |
EP1405181A2 (en) | 2004-04-07 |
AU2002249862A1 (en) | 2002-07-24 |
WO2002056172A2 (en) | 2002-07-18 |
US7020738B2 (en) | 2006-03-28 |
RU2259582C2 (ru) | 2005-08-27 |
TWI228221B (en) | 2005-02-21 |
CN101826030A (zh) | 2010-09-08 |
KR100624668B1 (ko) | 2006-09-18 |
CN1575453B (zh) | 2011-01-12 |
RU2003123112A (ru) | 2005-02-27 |
KR20030097798A (ko) | 2003-12-31 |
CN1575453A (zh) | 2005-02-02 |
JP4021769B2 (ja) | 2007-12-12 |
BR0116630A (pt) | 2004-09-28 |
US20040064813A1 (en) | 2004-04-01 |
WO2002056172A3 (en) | 2004-01-08 |
CN101826030B (zh) | 2012-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4021769B2 (ja) | 仮想マシン・モニタとゲスト・オペレーティング・システムの間のアドレス空間の競合を解決するための方法 | |
US7818808B1 (en) | Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor | |
US7127548B2 (en) | Control register access virtualization performance improvement in the virtual-machine architecture | |
US7886293B2 (en) | Optimizing system behavior in a virtual machine environment | |
US7552426B2 (en) | Systems and methods for using synthetic instructions in a virtual machine | |
US8380907B2 (en) | Method, system and computer program product for providing filtering of GUEST2 quiesce requests | |
US8015388B1 (en) | Bypassing guest page table walk for shadow page table entries not present in guest page table | |
US8479195B2 (en) | Dynamic selection and application of multiple virtualization techniques | |
US8479295B2 (en) | Method and apparatus for transparently instrumenting an application program | |
US20050076186A1 (en) | Systems and methods for improving the x86 architecture for processor virtualization, and software systems and methods for utilizing the improvements | |
CA2915646C (en) | Page fault injection in virtual machines to cause mapping of swapped-out memory pages into (vm) virtualized memory | |
US20080244155A1 (en) | Methods and apparatus to protect dynamic memory regions allocated to programming agents | |
US10860393B2 (en) | Tracking driver load and unload on windows OS | |
CN106897121B (zh) | 一种基于虚拟化技术的无代理客户机进程防护方法 | |
EP2955634A1 (en) | Paravirtualization-based interface for memory management in virtual machines | |
US10489185B2 (en) | Hypervisor-assisted approach for locating operating system data structures based on attribute matching | |
US20180267818A1 (en) | Hypervisor-assisted approach for locating operating system data structures based on notification data | |
US11550609B2 (en) | Unified hypercall interface across processors in virtualized computing systems | |
CN102063594B (zh) | 一种Windows平台下检测虚拟机监视器存在的方法 | |
US10698783B2 (en) | Virtualization detection in a computing system | |
Bungale et al. | Supervisor-Mode Virtualization for x86 in VDebug | |
Poess | Feasibility Study of Building a User-mode Native Windows NT VMM | |
HK1216679B (zh) | 虛擬機中的頁面錯誤注入 | |
HK1076517A (en) | Systems and methods for using synthetic instructions in a virtual machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070329 |
|
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: 20070828 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070927 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101005 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111005 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121005 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131005 Year of fee payment: 6 |
|
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 |