JP5562988B2 - 命令群トラッピングによってosコンテキスト切替を最適化するシステム及び方法 - Google Patents
命令群トラッピングによってosコンテキスト切替を最適化するシステム及び方法 Download PDFInfo
- Publication number
- JP5562988B2 JP5562988B2 JP2012015079A JP2012015079A JP5562988B2 JP 5562988 B2 JP5562988 B2 JP 5562988B2 JP 2012015079 A JP2012015079 A JP 2012015079A JP 2012015079 A JP2012015079 A JP 2012015079A JP 5562988 B2 JP5562988 B2 JP 5562988B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- register set
- event
- vmcs
- processor
- 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.)
- Expired - Fee Related
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
-
- 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/461—Saving or restoring of program or task context
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Claims (25)
- 仮想化技術を実現するプラットホームアーキテクチャを有する計算プラットホームシステムであって:
複数のレジスタセットを有するプロセッサ;
前記プロセッサ上で動作する複数の仮想機械(VM)であり、各VMがゲストオペレーティングシステムにて動作し、各VMに少なくとも1つの仮想機械制御構造(VMCS)が付随し、該VMCSが、選択されたレジスタセットにアクセスするプロセッサ命令に関するトラップ事象を指し示す複数のフィールドを有する、複数の仮想機械;
動作中のVMから該VMにおける所定のトラップ事象の発生に応答してイグジットするための各VMのトラップ機構であり、該VMにおいて該所定のトラップ事象が発生したことを指し示すように該VMのVMCS内の第1のフィールドを設定するトラップ機構;及び
前記複数の仮想機械間でコンテキスト切替をスケジューリングし且つ前記複数の仮想機械間でコンテキストを切替える仮想機械モニタ(VMM)であり:
当該VMMは、前記複数のレジスタセットのうちの何れが前記複数のVMのうちの少なくとも1つ及び前記プロセッサ上で実行されている処理によって使用されるかを認識し;
当該VMMは、前記複数のVM間でのコンテキスト切替時に前記複数のレジスタセットのうちの何れが保存され復元されるべきかを、少なくとも部分的に前記VMのVMCS内の前記第1のフィールドに基づいて決定し;且つ
コンテキスト切替において、当該VMMは、前記複数のVMのうちの少なくとも1つによってアクセスされるレジスタセットのコンテキストを保存するが、前記複数のVMのうちの何れの1つによっても使用されないレジスタセットのコンテキストを保存しない;
VMM;
を有するシステム。 - 前記トラップ機構は、トラップを生じさせる複数の事象を特定するためのVMCSデータ構造を有する、請求項1に記載のシステム。
- 前記第1のフィールドは、VMCSデータ構造内の1ビットを有し、前記複数の仮想機械の各々は少なくとも1つの対応するVMCSを有する、請求項1に記載のシステム。
- 前記VMCS内の前記第1のフィールドは、所定の事象に応答してリセットされる、請求項1に記載のシステム。
- 選択されたレジスタセットにアクセスするプロセッサ命令に関する前記所定のトラップ事象の前記トラップは、選択された事象が以前に仮想機械内で発生したことに応答して、該選択された事象に対して該仮想機械内で無効にされる、請求項1に記載のシステム。
- 無効にされた事象トラップは該仮想機械が再開されるときに該仮想機械に対して再び有効にされる、請求項5に記載のシステム。
- コンテキスト切替において、前記VMMは、前記複数のVMのうちの2つ以上によってアクセスされるレジスタセットのコンテキストを保存し、前記複数のVMのうちの1つ以下によって使用されるレジスタセットのコンテキストを保存しない、請求項1に記載のシステム。
- 前記複数の仮想機械の1つにて起動されているオペレーティングシステム(OS)は、選択されたレジスタセットが該OSの下で起動されている処理によってもはやアクセスされていないとき、そのことを前記VMMに通知する、請求項1に記載のシステム。
- コンピュータによって実行される方法であって:
仮想化技術を実現する計算プラットホーム内の第1の仮想機械が該プラットホーム上のプロセッサ内の複数のレジスタセットのうちの選択されたレジスタセットを使用するとき、そのことを前記プロセッサによって特定する特定段階であり、前記第1の仮想機械に少なくとも1つの仮想機械制御構造(VMCS)が付随し、前記VMCSは、前記選択されたレジスタセットにアクセスするプロセッサ命令に関する複数のトラップ事象を指し示す複数のフィールドを有し、当該特定段階は更に、前記該選択されたレジスタセットの使用を指し示す該第1の仮想機械における事象をトラップする段階と、該選択されたレジスタセットが該第1の仮想機械によって使用されることを指し示すように前記VMCSの前記複数のフィールドのうちの第1のフィールドを設定する段階とを有する特定段階;
前記プロセッサ上で動作する仮想機械モニタ(VMM)によって、対応する選択されたレジスタセットに対して前記第1のフィールドが設定されているかを決定する決定段階;
前記選択されたレジスタセットが前記第1の仮想機械によって使用されていると特定されたとき、前記第1の仮想機械から第2の仮想機械にプロセッサコンテキストを切り替えることに先立って、前記仮想機械モニタ(VMM)を用いて、前記第1の仮想機械に対して前記選択されたレジスタセットのコンテキストのみを保存する保存段階;及び
前記選択されたレジスタセットが前記第1の仮想機械によって使用されていると前記VMMによって特定されたとき、前記第2の仮想機械から前記第1の仮想機械にプロセッサコンテキストを切り替えることに先立って、前記第1の仮想機械に対して前記選択されたレジスタセットのコンテキストを復元する段階;
を有する方法。 - 前記特定段階は更に:
所定の命令の実行に応答して、該所定の命令が仮想機械制御構造(VMCS)内で前記選択されたレジスタセットに対応するものとして規定されているかを決定する段階;
を有する、請求項9に記載の方法。 - 前記事象をトラップする段階は更に:
前記第1の仮想機械における前記事象がトラップされるべきかを、前記事象に対応する前記VMCS内のビットデータに基づいて特定する段階;及び
前記事象がトラップされるべきであることを前記VMCSが指し示すとき、前記第1の仮想機械における前記事象をトラップし、前記事象がトラップされるべきでないことを前記VMCSが指し示すとき、前記事象をトラップしない段階;
を有する、請求項9に記載の方法。 - 前記選択されたレジスタセットが、前記第1の仮想機械によって使用されているとして以前に特定されているとき、前記事象をトラップしない段階;
を更に有する請求項9に記載の方法。 - 前記第1の仮想機械以外の仮想機械が前記選択されたレジスタセットを使用するかを決定する段階;及び
前記選択されたレジスタセットが前記第1の仮想機械以外の仮想機械によって使用されない場合、前記選択されたレジスタセットのコンテキストを保存しない段階;
を更に有する請求項9に記載の方法。 - 前記第1の仮想機械が前記選択されたレジスタセットをもはや使用しないことを前記VMMに通知する段階;
を更に有する請求項9に記載の方法。 - 実行される時に機械に:
仮想化技術を実現する計算プラットホーム内の第1の仮想機械が該プラットホーム上のプロセッサ内の複数のレジスタセットのうちの選択されたレジスタセットを使用するとき、そのことを特定する特定段階であり、前記第1の仮想機械に少なくとも1つの仮想機械制御構造(VMCS)が付随し、前記VMCSは、前記選択されたレジスタセットにアクセスするプロセッサ命令に関する複数のトラップ事象を指し示す複数のフィールドを有し、当該特定段階は更に、前記第1の仮想機械における事象をトラップする段階を有し、該事象は、前記VMCSの前記複数のフィールドのうちの第1のフィールドを設定し、それにより、前記選択されたレジスタセットが前記第1の仮想機械によって使用されることを指し示す、特定段階;
前記プロセッサ上で動作する仮想機械モニタ(VMM)によって、対応する選択されたレジスタセットに対して前記第1のフィールドが設定されているかを決定する決定段階;
前記選択されたレジスタセットが前記第1の仮想機械によって使用されていると特定されたとき、前記第1の仮想機械から第2の仮想機械にプロセッサコンテキストを切り替えることに先立って、前記仮想機械モニタ(VMM)を用いて、前記第1の仮想機械に対して前記選択されたレジスタセットのコンテキストを保存する保存段階;
複数の仮想機械(VM)のうちの少なくとも1つ及び前記プロセッサ上で実行されている処理の何れにも使用されないレジスタセットのコンテキストを保存しない段階;及び
前記選択されたレジスタセットが前記第1の仮想機械によって使用されていると前記VMMによって特定されたとき、前記第2の仮想機械から前記第1の仮想機械にプロセッサコンテキストを切り替えることに先立って、前記第1の仮想機械に対して前記選択されたレジスタセットのコンテキストを復元する段階;
を行わせる命令を有する機械読み取り可能な記録媒体。 - 前記特定段階は更に:
所定の命令の実行に応答して、該所定の命令が前記VMCS内で前記選択されたレジスタセットに対応するものとして規定されているかを決定する段階;
を有する、請求項15に記載の記録媒体。 - 前記事象をトラップする段階は更に:
前記第1の仮想機械における前記事象がトラップされるべきかを、前記事象に対応する前記VMCS内のビットデータに基づいて特定する段階;及び
前記事象がトラップされるべきであることを前記VMCSが指し示すとき、前記第1の仮想機械における前記事象をトラップし、前記事象がトラップされるべきでないことを前記VMCSが指し示すとき、前記事象をトラップしない段階;
を有する、前記請求項15に記載の記録媒体。 - 前記選択されたレジスタセットが、前記第1の仮想機械によって使用されているとして以前に特定されているとき、前記事象をトラップしない段階;
を行わせる命令を更に有する請求項15に記載の記録媒体。 - 前記第1の仮想機械以外の仮想機械が前記選択されたレジスタセットを使用するかを決定する段階;及び
前記選択されたレジスタセットが前記第1の仮想機械以外の仮想機械によって使用されない場合、前記選択されたレジスタセットのコンテキストを保存しない段階;
を行わせる命令を更に有する請求項15に記載の記録媒体。 - 前記第1の仮想機械が前記選択されたレジスタセットをもはや使用しないことを前記VMMに通知する段階;
を行わせる命令を更に有する請求項15に記載の記録媒体。 - コンピュータによって実行される方法であって:
複数のレジスタセットを有するプロセッサ上で動作する第1の仮想機械での、前記複数のレジスタセットのうちの選択されたレジスタセットに対応する命令の実行に応答して、前記命令が前記第1の仮想機械から仮想機械モニタへのトラップを生じさせる段階であり、前記第1の仮想機械に少なくとも1つの仮想機械制御構造(VMCS)が付随し、前記VMCSは、前記選択されたレジスタセットにアクセスするプロセッサ命令に関する複数のトラップ事象を指し示す複数のフィールドを有し、前記複数のフィールドの各々が前記複数のレジスタセットのうちのそれぞれの1つに対応する、段階;
前記プロセッサによって、前記第1の仮想機械が前記選択されたレジスタセットを使用することを指し示すように、前記VMCSの前記複数のフィールドのうちの第1のフィールドを設定する段階;
前記プロセッサによって、前記第1のフィールドを設定する段階後、前記選択されたレジスタセットに対する前記第1の仮想機械のトラップを無効にする段階;及び
前記第1の仮想機械と第2の仮想機械との間でのプロセッサコンテキスト切替の要求に応答して、前記プロセッサ上で動作する仮想機械モニタ(VMM)によって、前記選択されたレジスタセットが保存あるいは復元される必要があるかを、少なくとも部分的に前記第1のフィールドに基づいて決定し、且つ前記第1の仮想機械によってアクセスされるレジスタセットのコンテキストのみを保存する段階;
を有する方法。 - 前記第1及び第2の仮想機械間でのプロセッサコンテキスト切替要求に応答して、前記対応する第1のフィールドが設定されているとき、前記選択されたレジスタセットのコンテキストを保存する段階;
を更に有する請求項21に記載の方法。 - コンピュータによって実行される方法であって:
仮想化技術を実現する計算プラットホーム内のプロセッサによって、前記プラットフォーム上で動作する第1の仮想機械が前記プロセッサ内の複数のレジスタセットのうちの選択された1つを使用するとき、そのことを特定する段階であり、
前記第1の仮想機械に少なくとも1つの仮想機械制御構造(VMCS)が付随し、前記VMCSは、前記選択されたレジスタセットにアクセスするプロセッサ命令に関する複数のトラップ事象を指し示す複数のフィールドを有し、
当該特定する段階は更に、所定の命令の実行に応答して、該所定の命令が前記VMCS内で前記選択されたレジスタセットに対応するものとして規定されているかを決定する段階と、前記第1の仮想機械における事象をトラップする段階を有し、該事象は、前記選択されたレジスタセットが前記第1の仮想機械によって使用されることを指し示すように前記VMCSの前記複数のフィールドのうちの第1のフィールドを設定し、前記トラップする段階は更に、前記第1の仮想機械における該事象がトラップされるべきかを、該事象に対応する前記VMCS内のビットに基づいて特定することを有する、特定する段階;
前記プロセッサによって、前記事象がトラップされるべきであることを前記VMCSが指し示すとき、前記第1の仮想機械における前記事象をトラップし、前記事象がトラップされるべきでないことを前記VMCSが指し示すとき、前記事象をトラップしない段階;及び
前記選択されたレジスタセットが前記第1の仮想機械によって使用されていると特定されたとき、前記第1の仮想機械から第2の仮想機械にプロセッサコンテキストを切り替えることに先立って、仮想機械モニタ(VMM)を用いて、前記第1の仮想機械に対して前記選択されたレジスタセットのコンテキストのみを保存する段階;
を有する方法。 - 前記第2の仮想機械が前記選択されたレジスタセットを使用するかを決定する段階;及び
前記選択されたレジスタセットが前記第2の仮想機械によって使用されないとき、前記第1の仮想機械に対して前記選択されたレジスタセットの前記コンテキストを保存しない段階;
を更に有する請求項23に記載の方法。 - 前記第1の仮想機械が前記選択されたレジスタセットをもはや使用しないことを前記VMMに通知する段階;
を更に有する請求項23に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/174,254 US7904903B2 (en) | 2005-06-30 | 2005-06-30 | Selective register save and restore upon context switch using trap |
US11/174,254 | 2005-07-01 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008519684A Division JP2008545205A (ja) | 2005-06-30 | 2006-06-29 | 命令群トラッピングによってosコンテキスト切替を最適化するシステム及び方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012079357A JP2012079357A (ja) | 2012-04-19 |
JP2012079357A5 JP2012079357A5 (ja) | 2013-04-18 |
JP5562988B2 true JP5562988B2 (ja) | 2014-07-30 |
Family
ID=37075628
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008519684A Pending JP2008545205A (ja) | 2005-06-30 | 2006-06-29 | 命令群トラッピングによってosコンテキスト切替を最適化するシステム及び方法 |
JP2012015079A Expired - Fee Related JP5562988B2 (ja) | 2005-06-30 | 2012-01-27 | 命令群トラッピングによってosコンテキスト切替を最適化するシステム及び方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008519684A Pending JP2008545205A (ja) | 2005-06-30 | 2006-06-29 | 命令群トラッピングによってosコンテキスト切替を最適化するシステム及び方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7904903B2 (ja) |
EP (1) | EP1899810B1 (ja) |
JP (2) | JP2008545205A (ja) |
KR (1) | KR100974108B1 (ja) |
CN (1) | CN101213518B (ja) |
WO (1) | WO2007005819A1 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7904903B2 (en) | 2005-06-30 | 2011-03-08 | Intel Corporation | Selective register save and restore upon context switch using trap |
US20080052776A1 (en) * | 2006-08-25 | 2008-02-28 | Nomadrive, Inc. | Method and apparatus of an unintrusive plug and play application virtualization platform |
US8296775B2 (en) * | 2007-01-31 | 2012-10-23 | Microsoft Corporation | Efficient context switching of virtual processors by managing physical register states in a virtualized environment |
US7941657B2 (en) * | 2007-03-30 | 2011-05-10 | Lenovo (Singapore) Pte. Ltd | Multi-mode mobile computer with hypervisor affording diskless and local disk operating environments |
JP4864817B2 (ja) * | 2007-06-22 | 2012-02-01 | 株式会社日立製作所 | 仮想化プログラム及び仮想計算機システム |
US8261284B2 (en) * | 2007-09-13 | 2012-09-04 | Microsoft Corporation | Fast context switching using virtual cpus |
JP4530182B2 (ja) * | 2008-02-27 | 2010-08-25 | 日本電気株式会社 | プロセッサ、メモリ装置、処理装置及び命令の処理方法 |
US8397216B2 (en) * | 2008-02-29 | 2013-03-12 | International Business Machines Corporation | Compiler for a declarative event-driven programming model |
US8365149B2 (en) * | 2008-02-29 | 2013-01-29 | International Business Machines Corporation | Debugger for a declarative event-driven programming model |
US8627299B2 (en) * | 2008-02-29 | 2014-01-07 | International Business Machines Corporation | Virtual machine and programming language for event processing |
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 |
US9417914B2 (en) * | 2008-06-02 | 2016-08-16 | Microsoft Technology Licensing, Llc | Regaining control of a processing resource that executes an external execution context |
JP5405799B2 (ja) * | 2008-10-30 | 2014-02-05 | 株式会社日立製作所 | 仮想計算機の制御方法、仮想化プログラム及び仮想計算機システム |
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 |
KR101651202B1 (ko) * | 2009-12-21 | 2016-08-26 | 삼성전자주식회사 | 가상화 장치 및 가상화 장치의 동작 방법 |
US8612633B2 (en) * | 2010-03-31 | 2013-12-17 | Microsoft Corporation | Virtual machine fast emulation assist |
JP5758914B2 (ja) * | 2010-12-21 | 2015-08-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 仮想計算機システム及び仮想計算機システム制御方法 |
JP5369356B2 (ja) * | 2011-11-09 | 2013-12-18 | 株式会社日立製作所 | 仮想化プログラム |
KR101433644B1 (ko) * | 2011-11-09 | 2014-08-27 | 상명대학교서울산학협력단 | Arm 기반 운영체제의 가상화를 위한 정책 제공 시스템 및 방법 |
US9164789B2 (en) * | 2012-02-29 | 2015-10-20 | Red Hat Israel, Ltd. | Multiple queue management and adaptive CPU matching in a virtual computing system |
CN104321749B (zh) * | 2012-03-29 | 2019-01-29 | 英特尔公司 | 用于管理虚拟化环境中的中断的体系结构和方法 |
US9052971B2 (en) | 2012-07-12 | 2015-06-09 | International Business Machines Corporation | Scalable event-driven system |
WO2014081608A1 (en) * | 2012-11-20 | 2014-05-30 | Unisys Corporation | Optimized execution of virtualized software using securely partitioned virtualization system with dedicated resources |
US10572665B2 (en) | 2012-12-28 | 2020-02-25 | Fireeye, Inc. | System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events |
CN104937550B (zh) * | 2013-01-15 | 2019-03-26 | 英派尔科技开发有限公司 | 以函数为目标的虚拟机切换 |
JP5608797B2 (ja) * | 2013-07-31 | 2014-10-15 | 株式会社日立製作所 | 仮想化プログラム、仮想計算機システム及び計算機システム制御方法 |
KR102033009B1 (ko) * | 2013-09-13 | 2019-10-16 | 한국전자통신연구원 | 가상 물리 시스템 및 그의 가상 머신 모니터링 방법 |
JP5584811B2 (ja) * | 2013-10-30 | 2014-09-03 | 株式会社日立製作所 | 仮想計算機の制御方法、仮想化プログラム及び仮想計算機システム |
US11249777B2 (en) * | 2014-07-10 | 2022-02-15 | Red Hat Israel, Ltd. | Virtual machine context management |
US9946566B2 (en) * | 2015-09-28 | 2018-04-17 | Intel Corporation | Method and apparatus for light-weight virtualization contexts |
KR101690949B1 (ko) | 2016-03-11 | 2016-12-29 | 국방과학연구소 | 가상화 환경에서의 가상머신 게스트 os 자원 정보 수집 장치 및 방법 |
US20180299269A1 (en) * | 2016-07-27 | 2018-10-18 | Lumedyne Technologies Incorporated | Multi-axis, single-drive inertial device |
US10248595B2 (en) * | 2017-08-10 | 2019-04-02 | Infineon Technologies Ag | Virtual machine monitor interrupt support for computer processing unit (CPU) |
US10394595B2 (en) * | 2017-08-23 | 2019-08-27 | Intel Corporation | Method to manage guest address space trusted by virtual machine monitor |
US10592164B2 (en) | 2017-11-14 | 2020-03-17 | International Business Machines Corporation | Portions of configuration state registers in-memory |
US10496437B2 (en) * | 2017-11-14 | 2019-12-03 | International Business Machines Corporation | Context switch by changing memory pointers |
US20230088998A1 (en) * | 2021-09-17 | 2023-03-23 | Samsung Electronics Co., Ltd. | System on chip, controller and vehicle |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4787031A (en) * | 1985-01-04 | 1988-11-22 | Digital Equipment Corporation | Computer with virtual machine mode and multiple protection rings |
JPS61183742A (ja) * | 1985-02-08 | 1986-08-16 | Hitachi Ltd | フロ−テイング演算プロセツサのプログラム実行制御装置 |
JPH0754470B2 (ja) | 1986-03-24 | 1995-06-07 | 株式会社日立製作所 | 仮想計算機システムの制御方法 |
JPH0373027A (ja) | 1989-08-14 | 1991-03-28 | Fujitsu Ltd | ベクトルレジスタ退避復元方式 |
JPH03292527A (ja) * | 1990-04-11 | 1991-12-24 | Fujitsu Ltd | 演算装置 |
JP2902746B2 (ja) * | 1990-07-27 | 1999-06-07 | 富士通株式会社 | 仮想計算機制御方式 |
JPH056281A (ja) | 1990-10-04 | 1993-01-14 | Nec Corp | 情報処理装置 |
JPH06242973A (ja) * | 1993-02-16 | 1994-09-02 | Fujitsu Ltd | 仮想計算機システムにおけるvmへのvpマシンチェックの通知方法 |
US5481719A (en) * | 1994-09-09 | 1996-01-02 | International Business Machines Corporation | Exception handling method and apparatus for a microkernel data processing system |
US7275246B1 (en) * | 1999-01-28 | 2007-09-25 | Ati International Srl | Executing programs for a first computer architecture on a computer of a second architecture |
US6961941B1 (en) * | 2001-06-08 | 2005-11-01 | Vmware, Inc. | Computer configuration for resource management in systems including a virtual machine |
US7191440B2 (en) * | 2001-08-15 | 2007-03-13 | Intel Corporation | Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor |
US7127548B2 (en) * | 2002-04-16 | 2006-10-24 | Intel Corporation | Control register access virtualization performance improvement in the virtual-machine architecture |
US7484208B1 (en) * | 2002-12-12 | 2009-01-27 | Michael Nelson | Virtual machine migration |
US7793286B2 (en) * | 2002-12-19 | 2010-09-07 | Intel Corporation | Methods and systems to manage machine state in virtual machine operations |
US7415708B2 (en) * | 2003-06-26 | 2008-08-19 | Intel Corporation | Virtual machine management using processor state information |
US7552426B2 (en) * | 2003-10-14 | 2009-06-23 | Microsoft Corporation | Systems and methods for using synthetic instructions in a virtual machine |
US20050132364A1 (en) | 2003-12-16 | 2005-06-16 | Vijay Tewari | Method, apparatus and system for optimizing context switching between virtual machines |
US7478388B1 (en) * | 2004-04-21 | 2009-01-13 | Vmware, Inc. | Switching between multiple software entities using different operating modes of a processor in a computer system |
US7500244B2 (en) * | 2004-06-30 | 2009-03-03 | Intel Corporation | Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments |
US20060070065A1 (en) * | 2004-09-29 | 2006-03-30 | Zimmer Vincent J | Memory support for heterogeneous virtual machine guests |
US20060149940A1 (en) * | 2004-12-27 | 2006-07-06 | Intel Corporation | Implementation to save and restore processor registers on a context switch |
US7904903B2 (en) | 2005-06-30 | 2011-03-08 | Intel Corporation | Selective register save and restore upon context switch using trap |
-
2005
- 2005-06-30 US US11/174,254 patent/US7904903B2/en not_active Expired - Fee Related
-
2006
- 2006-06-29 WO PCT/US2006/025960 patent/WO2007005819A1/en active Application Filing
- 2006-06-29 CN CN2006800240723A patent/CN101213518B/zh not_active Expired - Fee Related
- 2006-06-29 EP EP06786212.8A patent/EP1899810B1/en not_active Not-in-force
- 2006-06-29 JP JP2008519684A patent/JP2008545205A/ja active Pending
- 2006-06-29 KR KR1020077030428A patent/KR100974108B1/ko not_active IP Right Cessation
-
2012
- 2012-01-27 JP JP2012015079A patent/JP5562988B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1899810A1 (en) | 2008-03-19 |
WO2007005819A1 (en) | 2007-01-11 |
KR20080020639A (ko) | 2008-03-05 |
JP2012079357A (ja) | 2012-04-19 |
US7904903B2 (en) | 2011-03-08 |
US20070006228A1 (en) | 2007-01-04 |
KR100974108B1 (ko) | 2010-08-04 |
EP1899810B1 (en) | 2018-01-10 |
CN101213518B (zh) | 2012-10-10 |
JP2008545205A (ja) | 2008-12-11 |
CN101213518A (zh) | 2008-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5562988B2 (ja) | 命令群トラッピングによってosコンテキスト切替を最適化するシステム及び方法 | |
CN101405712B (zh) | 利用虚拟化技术来加速域特定运行时环境的框架 | |
US8943346B2 (en) | Distributed advanced power management | |
JP4564536B2 (ja) | 仮想マシンモニタに関連するタイマへのサポートを提供する方法及び装置 | |
US7886190B2 (en) | System and method for enabling seamless boot recovery | |
US8176485B2 (en) | Launching hypervisor under running operating system | |
US7793127B2 (en) | Processor state restoration and method for resume | |
JP6556748B2 (ja) | コンピュータにおいて複数のスレッドをディスパッチするための方法、システム、およびコンピュータ・プログラム | |
US7584374B2 (en) | Driver/variable cache and batch reading system and method for fast resume | |
US9563439B2 (en) | Caching unified extensible firmware interface (UEFI) and/or other firmware instructions in a non-volatile memory of an information handling system (IHS) | |
US20110072254A1 (en) | Method and system for secured dynamic bios update | |
US9164784B2 (en) | Signalizing an external event using a dedicated virtual central processing unit | |
US9417886B2 (en) | System and method for dynamically changing system behavior by modifying boot configuration data and registry entries | |
US7082542B2 (en) | Power management using processor throttling emulation | |
JP6556747B2 (ja) | コンピュータ内の複数のスレッドをエグジットするための方法、システム、およびコンピュータ・プログラム | |
JP2017515204A (ja) | コンピュータ内の複数のスレッドを管理する制御エリアを提供するためのシステム、方法、およびコンピュータ・プログラム製品 | |
US8473945B2 (en) | Enabling system management mode in a secure system | |
CN115988218B (zh) | 一种虚拟化视频编解码系统、电子设备和存储介质 | |
WO2015041636A1 (en) | Virtual machine switching based on processor power states | |
JP2017513128A (ja) | マルチスレッド・ゲスト仮想マシン(vm)をディスパッチするためのシステム、方法およびコンピュータ・プログラム製品 | |
US20230169163A1 (en) | Software isolation using event driven multi-threading | |
US7797473B2 (en) | System for executing system management interrupts and methods thereof | |
CN110795231A (zh) | 一种虚拟cpu的处理方法及装置 | |
US11068302B2 (en) | Method for regulating system management mode function calls and system therefor | |
US20240020103A1 (en) | Parallelizing data processing unit provisioning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130903 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130904 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131203 |
|
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: 20140513 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140611 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5562988 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |