TWI253585B - Methods and systems to manage machine state in virtual machine operations - Google Patents

Methods and systems to manage machine state in virtual machine operations Download PDF

Info

Publication number
TWI253585B
TWI253585B TW092129097A TW92129097A TWI253585B TW I253585 B TWI253585 B TW I253585B TW 092129097 A TW092129097 A TW 092129097A TW 92129097 A TW92129097 A TW 92129097A TW I253585 B TWI253585 B TW I253585B
Authority
TW
Taiwan
Prior art keywords
virtual machine
state
machine
value
values
Prior art date
Application number
TW092129097A
Other languages
English (en)
Other versions
TW200411537A (en
Inventor
Steven M Bennett
Gilbert Neiger
Erik C Cota-Robles
Stalinselvaraj Jeyasingh
Alain Kagi
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW200411537A publication Critical patent/TW200411537A/zh
Application granted granted Critical
Publication of TWI253585B publication Critical patent/TWI253585B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

1253585 玖、發明說明: 【發明所屬之技術領域】 本發明之實施例大致上係關於電腦系統,且尤其係關 方、方、琶月自糸統中之虛擬機操作之操作管理及/或控制。 【先前技術】 一個虛擬機(Virtual Machine,VM)之結構係允許一 個實體機器被分割’使得該機器之下方的硬體呈現出如同 一或多個獨立操作之虛擬機。—個虛擬機監視器( Vutual Machine Monitor,VMM)係執行於一個電腦上, 且呈現該一或多個虛擬機之摘要給其他軟體。每—個卢擬 機係可以作用為一個自我包含之平臺,執行其自己的:業 系統及/或應用軟體。執行於一個虛擬機上之軟體係於此 集體稱為賓客軟體。 μ ' 該賓客軟體係期望操作如同該賓客軟體係於一個 的電腦上執行而非於一個虛擬機上執行。亦即,該卜 體係期望控制不同的事件且接取該電(例如實體:哭:人 上之硬體資源。該實體機器之該些硬體資源係可以包二― 或多個處理器、駐留於該些處理器上之資源、(控制::: ,快取記憶體,及其他元件)、記恃 日子為 中之結構,例如敘述器表)及其他駐 匕體 — 田A為貫體機哭 育源(例如輸入-輸出裝置)。該些事件係 勺二 ,例外,平臺事件(例如,起始化(ΙΝ1Τ)斷 中斷(SMI )及類似物)。 一'、、、先官理 1253585 擬機監視器係可以隨著該實體機器之處理 ^ °己丨思體及暫存器之需要,而將賓客軟I* & f π 盛々士丄Μ 男谷导人體狀您於該歧奘
乂奐進來及交換出去。該些處理器係可以換期 間於一個虛擬機及該卢 轉換J 來及交換出本之間將某-狀態交換進 於某些情況下’該虛擬機監視器係娜 由允5午直接存取下方之實體 a 。當一侗扒从/ 個虛擬機之效能 限制軟體存取該實體機器之非特權模式 監視2= 時’或者當操作將不利用該虛擬機 I σσ心、准持控制之該實體機器中之硬體資、为士 以特別地適合。 《更體貝源%,此係可 個非:當一個賓客操作可以影響該虛擬機監視器或者任-執仃之虛擬機之正確執行丰 取得控制。通常虛擬機監視器係重新 β θ 5亥虛擬機監視器係檢查如此之摔作,確 認是否在允許下方之實體#作確 模擬操作之前,-二=二 者代表一個賓客 輸入/輸出裝置時,者1 仔取 ,„^ 田其企圖改變機器結構時(例如,# 及由二控制暫存器值)’當其企圖存取記憶體之某此部: 及類似狀況時,該卢盤嬙p、a 二〖刀 。 亚疑機i視器係可能需要重新取得控制 支援虛擬機之择作> τ目士 -個虛擬機之執行二:有糸統係使用-個結構而控制 擬機控制結構(η二二固::式結構於此稱為-個虛 r=f疑機控制結構係錯存於記憶體之-個區域之 且係包含:舉例而言,賓客之狀態,該虚擬機監視器 1253585 之狀態,及指示在哪此妝能 期Η旅相“,虛擬機監視器於賓客執行 -月間係想要重新取得控制之栌 ^订 以f個處理器係讀取由該虛擬機控制結構而來之資 :广亥虛擬機及該虛擬機監視器之執行環境 ϋ之下,適當地限制該賓客軟體之行為。 個虛擬機轉換成進來(亦即進人)或者出
發生時,該實體機器之該(些)處理: 入及儲存機器之狀態。傳統之結構係實施狀態載入及^ 之-個預定的集合’如同以類似於其他系統結構、指八: 碼=機器行為而定義於處理器之規格書之中。該虛擬機監 2係直接對於這些規格。此種結㈣限制該虛擬 機&視器之實施的彈性。 因此,係需要用於進入及離開虛擬機之技術的改進之 實施方式。這些實施方式及技術係應該允許虛擬機操作之 較佳的管理及控制。 •【發明内容】 根據本發明之一個觀點,本發明係提供一種管理虛擬 機操作之方法,其係包含下列步驟:辨識一個將被處理之 虛擬機轉換操作;辨識一或多個狀態一行動指示器;假如 有需要,則使用該一或多個狀態一行動指示器之一或多個 值,以於一個機器狀態之一或多個相關之單元上決定至少 一個行動。 根據本發明之另一個觀點,本發明係提供_種用於管 10 1253585 理虛擬機之系統,其係包含··一 访„。·又 固虛擬機;一個虛擬機監 視态,一個計算裝詈·日苴φ 叶曾梦署仫,,、中,方;—個虛擬機轉換時,該 能> & 4t _ 1丁勡1日不夯,該一或多個狀 心仃動扣不态係由該計算裝置所 ,丨又用,以決疋至少一個行 動,該至少一個行動係導致該計、 义 犮置於该虛擬機轉換完 成之刚,假如有需要,則儲存及 能夕… j碎仔及’或载入該計算裝置之狀 心之一或多個相關之單元。 根據本發明之另一個觀點, 3- _ . S Θ係&供一種具有機 杰可存取媒體之物件,哕嫵哭可十& ^ ^ ^ ^ 了存取媒體係具有結合之指 7 ,,、中當該些指令被執行時争 . /L T 你以成一個包含至少一個 構件之機器實施下歹彳牛. Μ ·偵測用於一個虛擬機轉換之一 、而要,为解一或多個狀態一行動指 —Α么北-抑 丁助^不^及一或多個狀態 扑,曰:1"之值’·及根據-或多個被分解之狀態-行動 =之值,而於—個機器狀態之-或多個相關單元上執 仃至少一個行動。 【實施方式】 下^將敘相於在虛擬機操作㈣管輯換之新賴的 ’、設備及方法。於下列實施例之詳細說明之 知後附圖式,哕此同斗、〆 糸多 例 Μ二圖式係形成本發明之一部分,且其係以 例係可而非作為限制之用,本發明之特定實施 〜^ Μ ^。4些實施例係敘述足夠詳細,使得熟習 Μ項技術者能夠瞭解其 、、 , 肝”門合並予以貝施,且可以瞭解的是 在不偏離本發明 > 掉$占 月之精神及槌弩之下,其他實施例係可以 11 1253585 很便用且、结構上 % 1 一〜^人芰货' 3以稷1施。 因此,下列之詳細說明係不被認為有限制性的意義,且於 此所揭不之本發明之實施例之範圍係僅由後附申請專利範 圍所界定。 ^ 弟1圖係顯不一個本於明Γ7 产1 η ^ , 料1月了 4作於其内之虛擬機環 土兄1 0 0之一個實施例。於 i。係包含-個W、1例中,—個實體機器1 栌準之柞堂备""至^係旎夠舉例而言,執行一個 :丰^作業系統或者—個虛擬機監視器,諸如—個 -視器1 2 5。雖然該虛擬機 业 妒每斤^ ^ 械夏視杰1 2 5典型地係以教 焉也’ C疋该虛擬機監視器 、“ 個機哭介面5 _ 係可以模擬及輸出_ 似钺裔"面至較向層之軟體。如 包含一個標準的戍者即日±&你士之軚呵層之軟體係可以 限的作業系統功能之古庠_ ^ 為個具有有 統之作業能力,及類似情況。或者 :乂不包含傳 監视器1 2 5可以於另一個戶揠“’而& ’該虛擬機 另, ,们虛挺機監視器之内勃耔十土 另—個虛擬機監視器之頂端執仃或者於 係可以舉例而言,以硬體、,…亥虛擬機&視器1 2 5 合而者a 人體、早刀體或者不同枯对-«ν …虛擬機監視器及其之典型的 :組 白°亥項技術者所熟知。 力此係為熟 該實體機器1 ;! 0係1 持奘要 ,、了以為一個個人電腦,:t祕 、衣置,可攜式電腦,機上盒,知 主機;,手 何其他計算系統或者裝置曰慧^氣設備’或者任 處理器112及記憶趙機器…係包含1 係可《包含許多未示出之不同0的::’該實懸機器110 他輸入/輸出裝置。 12 1253585 理^ 句為可以執行軟體之任何形式之處 者類老如㈣處理器,數位訊號處理器,微控制器或 體,可程式邏輯,或者2 包含微瑪’宏代碼,軟 哭】^丁之硬石馬邏輯。雖然第1圖僅顯示一個如此之處理 °° 1 1 2 ,應瞭解的是,_ 系統之中。 或多個處理器係可以出現於該 記憶體1 2 〇能鈞炎 , 記憶體,唯讀I 碟’—個軟碟,隨機存取 合。:二::::機器媒體,或者上述元件之任何組 發明之方法實施例之執行。 ^貝枓以貝細本 該虛擬機監視器丄 。 給其他軟體(亦即& 係呈現—或多個虛擬機之摘要 係可以提供相同或-叙版),该虛擬機監視器1 2 5 顯示三個虛擬機,、i ^的摘要給不同的賓客。第1圖係 個虛擬機上之寶客】’ 1 4 2及1 5 2。執行於每一 i 3 4、i 4 4 /體备、可以包含諸如一個賓客作業系統 4及154之窖交μ 客軟體應用1 3 6、 貞各作業糸統及許多不同的賓 3 4、1 4 4及! ^ 1 4 6及1 5 6。該賓客作業系統1 3 2,1 4 2及】ς 4之每一個係期望存取於該虛擬機1 2,暫存哭,$ κ 2内之只體貧源(例如,處理器1 1 曰存口口心隱體i 2 〇及輸 該賓客作業系統J 3 4 輸出政置),其中, 32,142及]ς 144及154係於該虛擬機1 2上執行及處理包含由系、統之裝置於 13 1253585 該虛擬機1 3 2,1 4 2及1 5 2之操作期間所產生之中 斷之不同的事件。 該處理器1 1 2係根據儲存於虛擬機控制結構(
Virtual Machine Control Structure, VMCS) 1 2 2 中 之資料而控制該虛擬機i 3 2,丄4 2及丄5 2之操作。 5亥虛擬機控制結構1 2 2係可以被儲存於記憶體丄2 〇之 中(如不於第1圖),儲存於該處理器丄12之中,戋者 於任何其他位置或者於儲存位置之任意组合之中。該虛擬 機控制結構1 2 2係提供用於該虛擬機監視器丄2 5之機 器狀態及賓客軟體之儲存區。此外,該虛擬機控制結構丄 2 2係可以包含指示器’以限制或者控制-個虛擬機之操 作且控制一個虛擬機及該虛擬機監視器丄2 5之間之轉換 。該虛擬機控制結構1 2 2係可由該虛擬機監視器1 2 5 所存取。該虛擬機控制結構丄22係不需要記憶體或者儲 存益之-個鄰接的區域。因此,於某些實施例中,該虛擬 機控制結構係能夠邏輯上由複數個記憶體或者儲存位置組 合及存取。 “由該虛擬機監視器125轉換至賓客軟體係稱為一個 /擬機進人。由賓客軟體轉換至該虛擬機監視器1 2 0係稱為-個“虛擬機離開”。總體來說,虛擬機進入及 虛擬機離開係稱為“虛擬機轉換”。於—個實施例中,一 、ϋ A 2 5係可以藉由執行一個導致該虛擬機 進入之特定的指令而起始一個虛擬機進入。於一個實施例 中虛擬機㈣係可以明白地由該虛擬機請求(例如,藉 14 1253585 由執行一個特定的指令以產生 ^該虛擬機離開、 施例中,該虛擬機伟不吉p“、 雕開)。於某些實 事件(例如,保嗜。 、反而疋,某些 執行指令係需要_ 凡)或者虛擬機 個由該虛擬機控制結構 所決定之虛擬機_ (例如,假如一個特定=中之控制 於该虛擬機控制結構中被m職^制位几係 導致虛擬機、Μ門· π ▲ 日々之執行係 ^鞭钱離開’所有非可遮罩之 機離開)。 生係導致虛擬 -狀:ΓΓ=期間’該處理器112係可以作用於機 二二二=。熟習該項技術者將可以瞭解,機 為狀恶係能夠與舉例而t,該處理器、冑入出聲置、 晶片,等等中之不同的結構的組成成分結合。因此衣機器 之狀態係能夠包含一般目的及浮點暫存 ° 廿态(例如,於稱為 IA-32 ISA,EAX,EDX,ST3及類似物之英特爾奔騰^之 指令集結構中),控制暫存器(例如,於U — 32 isa 隱"類似物之中),模型特定暫存器(、齡 Specific Registers, MSR)(例如,於 u—32 isa DEBUGCTL,MTRRs,TSC及類似物之中),區段暫存器(例 如,於ΙΑ — 32 ISA,CS,SS,TR及包含選擇哭、芙底 限制及AR位元組域之類似物中),額外的内部(、纟士構上 的或者非結構上的)機器狀態(例如,睡眠狀態,可中斷 資訊,狀態機狀態),記憶體管理相關之狀態(例如, PDPTRs,轉換後援緩衝器(Translati⑽ UQk aside Buffer,TLB)之内容),晶片組暫存器,輸入/輸出裝 15 1253585 置之狀態,及其他項目。 當在賓客虛擬機(例如,i 3 2, 及一個主虛擬機監視器12 4 2 5 15 2) 態之載入及/或儲存日± S轉換期間管理機器银 一 ^儲存%,该虛擬機系統} 〇 用於貫施被使用之機構之彈性的架構。 ’r…、低 第2 A圖係顯示—個根據本發明之· 管理虛擬機轉換操作之_ ^例之用於 係可以藉由處理可以包含硬體:==二程序
二4 微碼、軟•(心,執行於— 個一般目的電腦系統或者一 丁於 體之組合之邏輯而被實施/專用^上)或者硬體及軟 將方=1 〇巾,該處理器係偵測-個虛擬機之轉換 將务生。该虛擬機之轉換係能夠為一個虛擬機離開或者一 個虛擬機進入。因此,於方 、^ 趴万塊2 2 0中,係實施一項檢查
、萑i是否忒虛擬機轉換係為一個虛擬機離開之操作。 假如4處理裔係正在處理一個虛擬機進入,則該處理 器係能夠實施許多準備將控制由—個虛擬機監a器轉換至 :個虛擬機之操作。舉例而言,於方塊2 3 Q巾,該處理 器係能夠儲存虛擬機監視器之機器狀態,於方塊2 4 〇中 ,載入虛擬機之機器狀態,且最後於方塊2 5 〇中,轉移 控制至該虛擬機。 假如該處理器係正在處理一個虛擬機離開,則該處理 為係能夠實施許多準備將控制由一個虛擬機轉換至一個虛 擬機監視器'之操作。舉例而言,於方塊2 6 〇中,該處理 16 1253585 器係能夠儲存虛擬機之機器狀態,於#塊2 7 虛擬機監視器之機器狀態,1最後於方塊2δ〇中’: 控制至該虛擬機監視器。 w抄 於虛擬機轉換期間載入(例如,於第2圖中 40及/或於方塊270中 “ 2 方塊2 3 0及/或26〇^ !存^如於第2圖中之 中)機器狀恶之方法之眘祐也丨在 分別顯示於第2 B及第2 c圖。 例係 應瞭解的是,於卢艇输% 於虛擬機進入或虛擬機離開程序 未顯示於第2 A、2B及?「“ # 序之期間 J及2C圖中之其他行動係可以產生。 歹1而。於虛擬機進入或者虛擬機離開下被載入之 之有㈣及一致性係可能需要被確認。 心 第2B圖係顯示—種用於在—個虛擬機轉換期間载入 恕之方法2 Q 2 °該方法係可以藉由處理可以包含硬體 〈例如,電路,真用 且 、、、輯,可程式設計之邏輯,微碼等等 )、軟體(例如,勃耔认 y 寸 仃於一個一般目的電腦系統或者一個 上)或者硬體及軟體之組合之邏輯而被實施。 要’於方塊2 2 2 其係確認是否存在任何需 聲處理之機器狀離之έ 士、 八 〜、之、、且成成分。假如無機器狀態之組成成 刀係需要被處理,則該方法終止。否則,於方塊232t -個控制位元值係被決定。這些控懸元及其之決定方 :係詳細敛述於下文中。假如於方塊2 4 2中係決定:該 方土系不被°又疋(位70係具有〇之值),則控制係返回至 方=2 2 2。否則’(位元係被設定為具有1之值),於 塊2 5 2中,一個用於機器狀態之對應組成成分之值係 17 1253585 被决疋。孩值之決定方 〇 R 〇 , ^ 糸衣下文中討論。然後,於方塊 2 6 2中,该值係被設置於 〇 9 〇 〜機荔狀悲之中。然後,於方 '2 2中,控制係返回, 曰 組成成分繼續存在。 “一更多的機器狀態之 機哭::At :系^不#用於在-個虛擬機轉換期間儲存 钱為狀態之方法2 0 4。 廍胪m 该方法係可以藉由處理可以包含 硬體(例如,電路,專用 驚寻用34軏,可程式設計之邏輯,微碼 寺寺)、軟體(例如,勃γ μ 一 _ 丁方;一個一般目的電腦系統或者 。專用機器上)或者硬體及軟體之組合之邏輯而被實施 要产:=’於方塊2 2 4 +,其係確認是否存在任何需 狀態之組成成分。假如無機器狀態之組成成 刀係爲要被處理,則兮古 貝j忒方法終止。否則,於方塊2 3 4中
,一個控制位元值传祜氺 _ L 被决疋。廷些控制位元及其之決定方 式係洋細敘述於下文φ 文中假如於方塊2 4 4中係決定:該 位兀係不被設定(位 0 0 70係具有〇之值),貝u空制係返回至 ▲ 24。否則’(位元係被設定為具有丄之值),於 5 4中’ 一個用於機器狀態之對應組成成分之值係 =:該值之決定方式係於下文中討論。然*,於方塊 … ,5亥值係破儲存。然後,於方塊2 2 4中,控制 係返回’以確認是否更多的機器狀態之組成成分繼續存在 0 於個貫施例中,該虛擬機控制結構係包含兩组 虛擬機監視器之控制之 ^ 、> 、 、4 市J之下之徑制位兀。廷些控制位元係稱 18 1253585 為虛擬機進入控制及虛擬機離 期間’該虚擬機進入控制係通知:二::二擬機進入 機監視器之機器狀態及應該載入=二儲存什麼虛擬 在-個虛擬機離開期間,該虛縣:麼虛擬機之機器狀態。 器應儲存仆麻 、^機離開控制係通知該處理 心 …虛擬機監視器之機琴狀能及廡兮# 擬機之機器狀態。 “狀也及應该載入什麼虛 藉由示範之範例, -個具有長度為6之二機進入控制係能夠被表示 又之位兀串,复 個位元位置係辨識 ,、於忒位兀串内之每
-個行動或者丄:代表於機器狀態之-特定單元上 J 乂考無仃動。舉例而士 ^ ^ 一 元位置及機器狀態之 :“位70串之内之該' 斗關早7L係能夠被顯示如下:
1
4
5
於一個類似的情 示為該虛擬機㈣4虛擬機離開控制係、能夠被表 ,於該位元串:内、“冓内具有長度為4之位元串。類似地 干 < 内之兮a -, 能夠被顯示如下· Λ儿立置及機器狀態之相關單元係 19 1253585 位元位置 0 ~___ —曼^仃動及機窃狀悲之相關單元 —儲存一賓客一 CR3 1 —儲存一賓客一CR4 2 ——--___多入一虛擬機一CR3 _3__ ~____寒入一虛擬機一CR4 於一個虚擬機谁 進入之下,假如該虛擬機監視器係已細 設定該“儲存一虑艇她 、、工 虛擬機〜DR7”位元於該虛擬機監視器 入控制之中(位元备η、 数◦),則該處理器將儲存該DR7暫在 斋之目前的值。於一個眘 個實轭例中,該DR7暫存器之值係儲 存於該虛擬機控制έ士播十山 、 制、,、。構之中。相反地,假如於該虛擬機監 視器進入控制之中之兮“ 、主 ^ 儲存一虛擬機一DR7”位元係被 >月‘除,則該處理器係不儲在 了个燔存邊DR7暫存器之值。該“儲存 〜虛擬機一CR3”及“儲左—忐加u 存虛擬機—CR4”虛擬機進入控 制位元(例如,分別為位 ο 位70數1及2 )之行為係為類似之 万式。 類似地,假如該虛擬機監 — 你瓜矾杰係已經設定該“載入— 賓客一DR7” 虛擬機進入押制仞-,, ^制位70 (位元數4 ),則該處 理裔將載入該DR7暫存器。於一 個貝知例中,該載入之值 係包含於該虛擬機控制結構之該 資客虛擬機之DR7域之中 。假如該“載入一賓客—DR7 ” . 亚疑機進入控制位元位元 係被清除,則該處理器係不载入 一 4 DR7暫存器。再次地, 该 載入一賓客一CR3”及“恭A ^ 载入—食客一CR4”虛擬機進 入控制位7L (例如,分別為位元 u敛4及5 )之行為係為類 20 1253585 似之方式。該虛擬機離開控制位元係以類似之方式運作於 在虛擬機離開下,控制賓客虛擬機之機器狀態之儲存及主 虛擬機監視器之機器狀態之載入。
於此範例中,該虛擬機進入及虛擬機離開控制係不控 制機器狀態之相同的單元’目為該虛擬機進人控制係包含 代表DR7之位元且該虛擬機離開控制係不包含代表d打之 位元H b同熟f本項技術者可以料地瞭解,該卢 擬機進入及虛擬機離開控制係能夠控制機器狀態之相心 元’且如此之代表方式係意欲落入本發明之許多實施例之 範疇之内。此外,於此範例中所表示之機器狀態之特定選 擇係不應該被視為限制性的。 八 一…〜呢辟+贫明之一布 施例之圖#,本發明係不意欲受限於此。舉例而言,驾 入之值係不需要為一個在該虛擬機控制結構中之值,卫 =存:值係不而要為一個直接由所有場景中(當其係於 述之貫軛例中時)之機器狀態而來之值。
於上述之範例中,該處理器係能夠將一個用於由該 蛱機&制結構而來之機器狀態之單元之值載人或者儲 於將一個機器狀態之單元之值 ^ ^ , ^ ^ At 啫存至该虛擬機控制結構 次“處理爾夠載入或者儲存一 —個單元之固定值。再者,該處理器係能夠動 考健存-個動態計算之值。最後,該處理;= 值)。這-決定將被載:二載入或者儲存任 被載入或者儲存之該值之替代的機制 21 1253585 敘述如下。 該處理器係能夠載入或者 元t η - 次者儲存用於機器狀態之一個單 凡之一個固定的(亦即,當 寻 ^ . 數的或者預定的)值。舉例而 3,该處理器係能夠於一個 抝而 虛擬機離開時將一個固定值恭 入至該EFLAGS暫存器之中。亦gp 疋值载 FFI ΑΓς vju + Λ Ρ,無虛擬機監視琴 FLAGS代表於該虛擬機控制結構之中。 : 於轉換控制至該虛擬機監視 疋^处理斋 ^ ρητ 优為之則,強迫於該處理器中^ 辕EFLAGS暫存器具有一個 〇χ2 , ^ ^ U U疋的或者預定的值(例如, UX2,或者其他值)。
哭妝r夕 方式’该處理器係“強迫,,機 :/之-個單元之值。以—個類似之方式,該處理界係 夠=擬機進入時強迫一個值被儲存至該虛擬機控制結 構於虛擬機進入時強迫一個值祧截A石η ^ ^ 1U值破載入至機器狀態及/或 於虛擬機離開時強迫一個值被存 ^ 河仔芏4虛擬機控制結構。
以此方式’並非所有機器狀態係必須被明顯地代表於 ^换機控制結構之中。此種技術係提供用於涵蓋機器狀 :=卜單元之彈性的機制,而不產生許多或者無規則的 业擬城控制結構。此外,此種機器狀態或者健存之值之強 迫,可以藉由減少對於虛擬機控制結構所需之存取之次數 及藉由減少-致性及於虛擬機離開及/或虛擬機進入所· 要錯誤檢查’而改進虛擬機離開及虛擬機進入之實心 月& 〇 ▲再者,該處理器係能夠計算被載入成為機器狀態或者 儲存至该虛擬機控制結構之一個值。該被計算出之值係粑 據包含於該虛擬機控制結構及類似物之内之機哭狀能之^ 22 1253585 或多個單兀或者值而被動態地決定。舉例而言,於虛擬機 離開下’載入至該EIP暫存器之值係能夠藉由由該虛擬機 控制結構載入一個虛擬機監視器ΕίΡ域及以由該計算出之 值係根據該虛擬機離開之原因之某些被計算出之值所增加 之该ΕΙΡ值載入至該Eip暫存器。 機為狀態之一個單元之動態計算係可以允許一個虛擬 機監視态作更有效率的實施。舉例而言,於上述之範例中 ’於虛擬機離開下,ΕΙΡ之動態計算係允許虛擬機監視器 建構用於個別的虛擬機離開之資源之處理器,而消除於虛 籲 擬機監視器軟體中解碼離開之理由之需求。 最後’該處理器係可以於一個虚擬機轉換期間對於機 器狀態之一個單元不採取任何行動。舉例而言,當由一個 虛擬機轉換成該虛擬機監視器時,該處理器係可以保持該 一般目的暫存器(例如,ΙΑ~ 32 ISA,EAX,EDX及類似物 )不變。 该處理器係藉由計算一個“狀態行動指示器”,而決 &於一個虛擬機轉換期間關於機器狀態之一個單元之適當 籲 的行動。该狀態行動指示器係決定應採取哪一個行動。一 個狀態行動指示器之值(“狀態行動指示器值”)係能夠 指不該處理器由該虛擬機控制結構載入狀態資訊,或者將 狀態資料儲存至該虛擬機控制結構。該狀態行動指示器值 亦能夠使該處理器強迫載入或者儲存一固定或預定之值, 以對於正被考量之機器狀態之一特定單元不採取行動,或 者載入或健存一計算過之值。 23 1253585
上述之該虛擬機進入及虛擬機離開控制係為狀辦行動 指示器之範例。於此範例中,該處理器係使用該虛擬機控 制結構之域作為狀態行動指示器。於該虛擬機進入或虛擬 機離開控制中之每一個位元係對應於機器狀態之一個單 單元。假如一個位元係被設定,則其係指示該處理器機器 狀態之該單元係應該由該虛擬機控制結構被載入/儲存至 該虛擬機控制結構;假如該位元係被清除,則機器狀能之 該單元係被忽略。於替代實施例中,一個單一位元係能夠 確認是否機器、狀態、之一料元係被载入成為或者強迫成為 一個固定值。於又另一個實施例中,該狀態行動指示器係 可以為超過一個單一位元且可以編碼更多的複雜的行為。 舉例而言,該狀態行動指示器係可以為允許4個值之之位 元,以區分上述之載入、強迫、計算及忽略機制。 -個狀態行動指示器可以結合一特定的虛擬機轉換( 例如,具有所有虛擬機離開),結合機器狀態之一特定單 元(如㈤上述之虛擬機進入及虛擬機離開控制之實施例)
或、p。機裔狀怨之複數個單元(例如,於虛擬機離開 :’控制於處理器中所有一般目的暫存器之載入之單 態行動指示器)。 〜個狀悲仃動指不器係能夠由從該虛擬機控制結構 于之個值而被決定(如同於上述之範例),能夠為 口疋的(例如,預疋的)值,或者能夠為一個動態計 之值。廷些可能性之每一個係敘述如下。 個狀ϋ動指τ器可以在該虛擬機監視器之控制 24 1253585 I儲存=虛擬機控制結構之中。儲存於該虛擬機控制結構 之狀悲行動指示器之範例係詳述如上文。 ^個狀態行動指示器係可以為預定的。假如該狀態行 :指不器之值係為一個固定的或者預定的*,則該虛擬機 -視器對於該處理器於虛擬機轉換下不採取機器狀態之對 應之單元之行動係不具有直接控制。舉例而言,該處理哭 係能夠於虛擬機進入處理期間一致地不儲存該EIP暫存= 之忒值’於虛擬機進入期間一致地由該虛擬機控制結構载
,-個用於該EIP暫存器之賓客值,及,或於虛擬機離開 私序期間一致地載入該EI p暫存器。 7一 一個狀態行動指示器可以動態地被計算。假如該狀態 仃動扣不裔係為一個動態計算出之值,則狀態行動指示器 係能夠根據與機器狀態之一或多個單元、該虛擬機控制: 構中一或多個域及類似物相關之值而定。
舉例而言,於該IA-32 ISA中,假如該處理器使用實 體位址延伸(將為PAE模式)接著一個虛擬機進入或者虛 擬機離開,則該處理器係由該虛擬機控制結構載入用於該 頁目錄指標器表之入口。假如該處理器將不為於一個pAE 枳式,則於該處理器中之該頁目錄指標器表係被強迫為〇 。為了決定是否該處理器將於PAE模式,該處理器係檢查 。亥CR4暫存器中之該pw位元。因此,該處理器係能夠 為稱為已經實施該狀態行動指示器值之一個動態決定或者 计异。假如該PA£位元係被設定,則該狀態行動指示器係 才曰示4處理态由該虛擬機控制結構載入,,。假如該pae 25 I253585 仅元係被清除,則該狀熊行動—即 〜、仃動私不态係指示該處理器“強 ^該值(例如’強迫〇之值)。應注意的是,於此所欽 :決定是否該處理器…AE模式之程序係被簡化成清楚 地說明本發明之許多不同的眚 、— ’貝^例。可能需要更多的程序 以實施該決定,其將為孰羽兮 ^ 為…、S違項技術者所容易地認知及瞭 解。 “、 中饭如一個區段之選擇器之值係非為 零或者假如該處理哭将於v Q β 1 係於V86杈式之中,則該處理器係能 、、㈣入一個用於區段暫存器之基礎及限制域。為了實施此# 心’該處理器係檢查兩項機器狀態之資訊:用於該受到 考慮之區段之該選擇器之值及於一個EFLAGS暫存器中之 —個虛擬機位元之值。假如該選擇器係為非零或者假如於 flags暫存斋中之該虛擬機位元係被設定,則該處理器係 被指示‘‘由該虛擬機控制結構載人”,否則,該處理器係 不採取任何行動。應注意的是,於此所欽述決定是否該需 要載入忒基礎及限制域之程序係被簡化成清楚地說明本發 月之斗夕不同的貫施例。可能需要更多的程序以實施該決 鲁 定,其將為熟習該項技術者所容易地認知及瞭解。 如同現在為熟習該項技術者所顯而易知,於此所敘述 之方法係能夠被使用於在一個虛擬機監視器及虛擬機之間 之轉換期間動態地控制機器狀態之載入及儲存。藉由使用 個虛擬機控制結構及一個具有彈性的指令邏輯,轉換係 發生於一個虛擬機監視器,如上文之範例。再者,機器狀 態之每一個單元及由處理器所實施之每一個行動係不需要 26 •1253585 於虛擬機控制結構之内確定地聲明或者單獨地表示。 第3圖係顯示一個根據本發明之於一個虛擬機轉換期 間用於實施機器狀態之一個單元的載入之一個方法3 〇 〇 之流程圖。第3圖係能夠藉由可以包含硬體(例如電路, 專用邏輯電路,可程式設計的邏輯,微碼等等)、軟體( 居如執行於一個一般目的電腦系統或者一個專用機哭)或 者硬體及軟體之組合之處理邏輯電路而實施。 於方塊3 1 〇中,該處理器係決定於考量之機器狀能
之該單元之該狀態行動指示器。於3 2 〇中,該處理器係 檢查該狀態行動指示器。假如該狀態行動指示器之值係指 不考量之機器狀態之該單元係由該虛擬機控制結構载入, 則於方塊3 3 0中,機器狀態之該單元之該值係被載入, 且於方塊3 3 5中,設置至考量之機器狀態之該對應單元 之中。然而,假如該狀態行動指示器之值係指示考量之機 器狀態之該單元係被強迫,如於方塊3 4 〇中所決定,則 方;方塊3 5 〇中,該處理器係將該預定的或者強迫的值载
入至機器狀態之該對應單元。再者,該狀態行動指示器之 值係能夠指示:對於考量之機器狀態之該單it而言,該處 理器係不採取任何行動,於方塊3 6 0中,於該情況下处 亥處理杰係不採取行動(該處理器係不修改考量之機器狀 態之該單元)。 叙如该狀態行動指示器於方塊3 6 〇之計算係為負的 (/、係不私不關於考量之機器狀態之該單元係不需要行動 、/、係Sb夠被推論為一個動態的計算係需要。當然, 27 1253585 於某些實施例中,該狀態行動指示器之一個確定的檢查係 能夠被實施,以確認是否一項計算係需要的,而不需要作 任何推論。因此,一個用於考量之機器狀態之單元之值係 於方塊3 7 〇中計算,且於方塊3 8 〇中設置於機器狀態 之該單元之内。該處理器係能夠藉由檢查機器狀態之一或 多個單元、檢查該虛擬機控制結構中之一個值及/或檢查 個抆制私不器之值等等,而動態地計算機器狀態之該單 凡之值。再者,-旦檢查係完成,該處理器係能夠實施一 或广:轉換(例如,計算),以產生用於考量之機器狀態 / f兀之值。因此,該處理器係能夠使用許多不同的資 料且’施。午多不同的行動,以產生用於機器狀態之該單元 之值。 雜對於母—個機器狀態而言’方法3 0 0係可以重複, 雖然此係未顯示於第3圖。此 態行動指示器係可以結合機^…文所述,母-個狀 。口钱為狀悲之一或多個單元。 第4圖係顯示一個根據 間用於實施機器狀態之—個單元的健存之==換期 二流程圖。第4圖之方法係於處理器結構之内4 / 可程式設計的邏輯,微碼等 專用邏輯電路, -般目的電腦系統或者—個專用機 士執仃於一個 組合之處理邏輯電路而實施。 $者硬體及軟體之 』於方塊41〇中,該處理器係決定考量 该單元之該狀態行動指示哭。 歲盗狀態之 ;塊4 2 0中,該處理器 28 1253585 係檢查該狀態行動指示器。假如該狀態行動指示器係需要 儲存考里之機為狀恶之该單元至该虛擬機控制結構,則於 方塊4 3 0中,考量之機器狀態之該單元係被儲存至該虛 擬機控制結構之一或多個域之中。假如該狀態行動指示器 係不需要儲存考量之機器狀態之該單元至該虛擬機控制結 構,則於方塊4 4 0中,該狀態行動指示器之值係被檢查 ,以决定疋否一個固定之值係被儲存至該虛擬機控制結構 之中,且假如是的話,則於方塊4 5 〇中,該固定的值係 被儲存至4虛擬機控制結構之一或多個域之中。於某些情 況下,該狀態行動指示器之值係能夠指示該處理器實施= 動作,如示於方塊4 6 〇中。 於方塊4 7 0中,一個對應於機器狀態之該單元之值
以產生該計算出之值。
雖然此係未顯示於第3 …、〜丨不卞顯不於弟3圖。 悲行動指示器係可以結合機 舌’方法4 0 0係可以重複, 此外,如上文所述’每一個狀 為狀態之一或多個早元。 29 1253585 第5圖係顯示—個根據本發明 虛擬機轉換期門r 個只施例之於一個 圖中之方塊如’於第3圖中之方塊及第4 一個方法於實施狀態行動指示器之—個值之 體(例如電路,專I °亥方法係此夠藉由可以包含硬 等等)、軟體(諸^輯電路,可程式設計的邏輯,微碼 個專用機器)或者硬體及軟體…之二 ==者: 施。 干人瓶<、、·且口之處理邏輯電路而實 狀〜行動扣示裔係為固定的、由該虛擬機控制結構載 入或者被計算。 於方塊5 Ο 5中,該處理器係決定考量之機器狀態》 :早兀/正被處理之虛擬機轉換之形式及是否狀態載入$ 啫存係正被處理。根據決定之資訊,於方塊5 〇 7中, 口亥處理态係決定是否該結構係指示結合機器狀態之該單天 於方塊5 1 ,則於方塊5 2 決定。 〇中’假如該狀態行動指示器係為固定的 〇中’該固定的狀態行動指示器之值係被 於方塊5 3 0中,假如該狀態行動指示器係由該虛擬 機控制結構取得’則於方塊5 4 〇中,該狀態行動指示器 之值係由該虛擬機控制結構載入。 於方塊5 5 0中,假如該狀態行動指示器係被動態地 決定或者被計算,則於方塊5 5 〇中,該些計算係被實施 ’以決定該狀態行動指示器之值。該動態決定或者計算係 能夠包含舉例而言,於該虛擬機控制結構之内載入不同的 30 1253585 域(包含控制向量域之值)、檢查機器狀態之不同的單元 、檢查一個虛擬機及/或虛擬機監視器狀態之不同的單元 '檢查一或多個控制指示器之值及/或於該檢查過之資訊 上作轉換(例如,實施計算)。 於某些實施例中,該狀態行動指示器之值之決定及計 异係可能不為明顯的。該處理器係可以以一個特定之情況 要求一個特定之行動之知識而被設計。舉例而言,於一個 處理器中之邏輯電路係可以無條件地強迫機器狀態之一個 單凡成為一個特定之值,而不明顯地計算任何狀態行動指 示。。之值。因此’參照第5圖之該明顯的檢查不應該被視 為限制。 本發明之實施例係提供改進之虛擬機轉換之處理。此 係藉由5早性地於使用一個虛擬機控制結構之處理器之内實 軛處理而達成,且係不需要完全根據於該虛擬機控制結構 内所提供之資讯,以實施一個虛擬機轉換。
、於閱項及瞭解上文之揭示之後,_習該工員技術者將 以瞭解本發明之實施例之處理器之實施係能夠及控制在 擬機轉換期間機器狀態之載入及儲存。明確言之,這此 加例係提供虛擬機監視器彈性,以指示如同該結構所允 之:虛擬機轉換期間機器狀態之載入及儲存之語意。此 不品要以一個考量機妝能 一 °狀心之早兀之所有範例之固定的, 挺故控制結構而達成, 灿& ^ 於虛擬機轉換下,並非所有機 恶之儲存及載入係需要透 茲山#上 透义違虛擬機控制結構中之控1 精由该虛擬機監視器所明白地導引。 31 1253585 可以瞭解的是,上述之 制性的。於觀看上述敘述之 習該項技術者而言係明顯的 驚係參照後附申請專利範圍 之均等物之全部範圍而定。 敘述係意欲為例示性的而非限 後,許多其他的實施例對於熟 。因此,本發明之實施例之範 及如此之申請專利範圍所賦予
應強調的是,“發明摘要,,係被提供成符合3 7 C.F.R· f 1.7 2 (b),其係要求一個發明摘要將允 取快速確認該技術之揭示之本f及要點。應瞭解的是,: 係不被使用於解釋或者限制申請專利範圍之範疇或意義。
於上文之實施方式之中,許多特色係被一併群集在一 個實施例中,以用於揭示之流暢之目的。所揭示之方法係 不被解釋為意圖表現本發明之實施例係需要比每一個申請 專利範圍所明白敘述之特色還多之特色。反而是,如同^ 列申請專利範圍所反映,具有發明性之主題係處於比一個 單一揭示之實施例中之所有特色為少之情況。因此,下列 之申請專利範圍係於此被併入該實施方式,且每一個申請 專利範圍係以自己代表為一個個別的示範性實施例。 【圖式簡單說明】 (一)圖式部分 第1圖係為一個根據本發明之一個實施例之虛擬機社 構之圖; 第2 A圖係為一個根據本發明之一個實施例之管理— 個虛擬機轉換操作之方法的流程圖; 32 1253585 第2 B圖係為一個根據本 乃 < 一個實施例之在一個 虛擬機轉換操作期間載入機器狀 0 , m , 队心之方法的流程圖; 弟2 C圖係為一個根據本 、士 A 又月之一個實施例之在一個 虛擬機轉換操作期間儲存機器狀 心 < 方法的流程圖; 第3圖係為-個根據本發明之—個實施例之用於在一 個虛擬機轉換期間實施載入操作之方法的流程圖; 第4圖係為-個根據本發明之—個實施例之用於在一 個虛錢轉換期間實施儲存操作之方法的流程圖; 第5圖係為一個根據本發明之一個實施例之用於在一 個虛擬機轉換操作期間決個狀態行動指示器之值之方 法的流程圖。
元件代表符號 0 0 虛擬機環境 10 實體機器 12 處理器 2 0 記憶體 2 2 虛擬機控制結構 2 5 虛擬機監視器 3 2 虛擬機 3 4 賓客作業系統 3 6 賓客軟體應用 4 2 虛擬機 4 4 賓客作業系統 33 1253585 4 6 賓客軟體應用 5 2 虛擬機 5 4 賓客作業系統 5 6 賓客軟體應用
34

Claims (1)

1253585 拾、申請專利範圍:_ / 1 . 一種管理虛擬機操作之方法’其係包含下列步驟 辨識一個將被處理之虛擬機轉換操作; 辨識一或多個狀態行動指示器; 假如有需要,則使用該一或多個狀態行動指示器之一 或多個值,以於一個機器狀態之一或多個相關之單^上決 定至少一個行動。 2 ·如申請專利範圍第2項之管理虛擬機操作之方法 ,其中,於辨識一或多個狀態行動指示器之步驟之中,該 一或多個狀態行動指示器係結合該虛擬機轉換操作、該機 器狀態之該一或多個結合之單元及該機器狀態之一個第二 單元之至少一項。 3 ·如申請專利範圍第1項之管理虛擬機操作之方法 ,其中,於使用該一或多個狀態行動指示器之一或多個值 之步驟中,m個行動係包含載人該機器狀態之該一 或多個相關之單^、儲存該機器狀態之該_或多個相關之 早元及不採取彳亍動之至少一項。 4·如申請專利範圍第1項之管理虛擬機操作之方法 ,其中,於辨識一或多個狀態行動指示器之步驟之中,該 一或多個狀悲行動指示器係為下列之至少一項: 於一個虛擬機控制結構中之一或多個讀取值; 一或多個固定值;及 根據下列至少一個之一或多個計算出之值: 35 1253585 \ 夺 | ,卜..........V- . 該機器狀態之該一或多個相關之單元; 該機器狀態之一個第二單元; 與該虛擬機狀態之一個狀態相關之一個單元· 與一個虛擬機監視器之一個狀態相關之_ 早元 一個控制指示器之值;及 於該虛擬機控制結構中之一個域之值。 5 ·如申請專利範圍第1項之管理虛擬機操作之方去 ,其中,於辨識一或多個狀態行動指示器之步驟之上 ,吞玄 一或多個狀態行動指示器係為一個敘述該機器狀熊之卞 少一個相關之單元之資料結構及一個控制向 王丁 i_或多 個位元之至少一個。 6 .如申請專利範圍第i項之管理虛擬機操作之方法 ,其中,於使用S亥一或多個狀態行動指示器 口口 < 或多個值 之步驟中’該至少-個行動之每一個係實施至少下列之— 單元至一個虛擬 儲存該機器狀態之該一或多個相關之 機控制結構中之一或多個域; 之一或多 儲存一或多個固定值至該虛擬機控制結 個域;及 之 —儲存-或多個被計算出之值至該虛擬機控制結構中 或多個域。 广如申請專利範圍第6項之管理虛擬機操作之方法 、中,於儲存一或多個被計算出之值至該虛擬機控制結 36 1253585 I ^ U ='··: t (-.π 今 構中之一或多個域之步驟中,該—或多個被計算出 由下列決定: 值係 檢查下列至少一個之值: 該機器狀態之一個單元; 於該虛擬機控制結構中之一個值;及 一個控制指示器;及 轉換該檢查出之值以形成-或多個被計算出之值。 8·如申請專利範圍第i項之管理虛擬機操作之方法 ’其中,於使用該-或多個狀態行動指示器之_或多個值 之步驟中,至少一個行動之每一個係實施下列至少一個: 由一個虛擬機控制結構中之_赤夕/ ^ 、 < 或多個域載入該機器狀 恕之該一或多個相關之單元; 將一或多個計算出之機器肤能# _ ^时狀怨载入至該機器狀態之該 或多個相關之單元之中;及 將一或多個固定值載入至該機器狀態之該-或多個相 關之單元之中。 ,9.如申請專利範圍第8項之管理虛擬機操作之方法 /中’於將一或多個計算出之機器狀態載入至該機器狀 怨之該一或多個相關之單元 j早兀之中之步驟中,該一或多個被 叶算出之機器狀態之值係由下列決定: 檢查下列至少一個之值: 吕亥機為狀態之一個單元· 於該虛擬機控制結構中之一個值;及 一個控制指示器;及 37 1253585 ' ίΡ 轉換该檢查出之值以形成一或多個被計算出之機器狀 態之值。 1 0 ·如申請專利範圍第j項之管理虛擬機操作之方 法,其中,於辨識一個將被處理之虛擬機轉換操作之步驟 之中,該虛擬機轉換操作係為一個虛擬機進入及一個虛擬 機離開兩者之至少一個。 业 1 1 · 一種用於管理虛擬機之系統,其係包含: 一個虛擬機; 一個虛擬機監視器; 一個計算裝置;且 其中,於一個虛擬機轉換時,該計算裝置係決定一或 多個狀態行動指示器,f亥一或多個狀態行動指示器係由該 計算裝置所使用,卩決定至少_個行動,該至少_個行動 係導致該計算裝置於該虛擬機轉換完成之前,假如有 丄則儲存及/或載人該計算裝置之狀態之—或多個相2之 單元。 / 12.如中請專利範圍第11項之用於管理虛概機之 糸統,其巾,該計算裝置係藉由τ列至少—個而決定节一 或多個狀態行動指示器之一或多個值: ^ 由一個虛擬機控制結構取得一或多個域之值; 決定一或多個固定值;及 計算一或多個被計算出之值 系 1 3 ·如申請專利範圍第1 統’其中,該計算裝置係存取 1項之用於管理虛擬機之 一個包含兩組控制位元之 38 1253585 虛擬機控制結構,該歧控^^ 丫 —y 所使用,㈣^ ㈣該計算裝置 . 虛擬機進入下辨識用於儲存之計算裝置之狀 R單元及辨識用於載人之計算裝置之狀態之單Γ 中如申請專利範圍第1 2 3 4 5 6 7項之用於管理虛擬機之 系、.先其巾,於料該計算裝置之狀態之該 之單元之步驟之中,係進一步包含: h個相關 健存該計算裝置之狀態之該一或多個相關之單元至一 個虛擬機控制結構中之一或多個域之中; 儲存-或多個固定值至該該虛擬機控 或多個域之中;及 m之5亥 儲存-或多個被計算出之值至該虛擬機控制結構中之 該一或多個域之中。 39 1 .如申請專利範圍第"項之用於管理虛擬機之 '、、’’,其中’於儲存該一或多個被計算出之值之步驟之中 ,該一或多個被計算出之值係由下列決定: 2 檢查下列至少一個之值: 3 該計算裝置之狀態之一個單元; 4 於該虛擬機控制結構中之一個值;及 一個控制指示器;及 5 轉換該檢查出之值以形成一或多個被計算出之值。 6 1 6 .如中請專利範圍第i i項之用於管理虛擬機之 系統,其巾,於載人該計算裝置之狀態之—或多個相關之 單元之步驟中,其係包含: 7 由一個虛擬機控制結構中之一或多個域將該計算裝置 I253585 之沿:< fi ψ h o f !:„ : 3^言女一~ "V、々I *’本-------------------------一… 或夕個相關之單元載入至該計算裝置之狀態 遠一或多個相關之單元; 一 將一或多個計算出之值載入至該計算裝置之狀態之該 一或多個相關之單元;及 夕乂將一或多個固定值載入至該計算裝置之狀態之該-或 夕個相關之單元。 1 7 ·如申請專利範圍第1 β項之用於管理虛擬機之 糸統,盆φ,认 i 一 /、 於载入該計算裝置之狀態之一或多個相關之 平元之步驟中, Μ 一或多個被計算出之值係由下列決定: 檢查下列至少一個之值: 該計算裝置之狀態之一個單元; 於該虛擬機控制結構中之一個值;及 一個控制指示器之值;及 奐/ 4双查出之值以形成一或多個被計算出之值。 18 一種具有機器可存取媒體之物件,該機器可存 、/某體係具有結合之指+,其中當該些指令被執行時,係 、成一個包含至少一個構件之機器實施下列步驟·· 偵測用於一個虛擬機轉換之一項需要; 分解-或多個狀態行動指示器及一或多個狀態—行動 才曰示器之值;及 根據-或多個被分解之狀態行動指示器之值,而於一 個機器狀態之一或多個相關單元上執行至少一個行動。 雕19.如申請專利範圍第18項之具有機器可存取媒 丑之物件’其中’於谓測用於一個虛擬機轉換之一項需要 40 1253585 „ · ν __Η- ^ ι λ. % . Ά-Ά» ·〜〆_,”一”,1‘一··., 一一一, 之步驟中,该虛擬機轉換係為由—個虛擬機監視器而來之 虛擬機離開及卜個虛擬機之—個虛擬機進入兩者之至少 一個。 2 0 ·如巾請專利範㈣1 8項之具有機器可存取媒 體之物件’其[於分解一或多個狀態行動指示器之步驟 之中,該至少一個狀態行動指示器係藉由實施下列至少一 個而被分解: 讀取由一個虛擬機控制結構而來之至少一個指示器之 值; 決定一或多個固定之值;及 計算一或多個計算出之值。 2 1 ·如申請專利範圍第2 〇項之具有機器可存取媒 體之物件,其中,於計算之步驟之中,該一或多個被計算 出之值係藉由實施下列至少一個而被決定: "" 使用該機器狀態之該一或多個相關之單元; 使用該機器狀態之一個第二單元; 使用與該虛擬機之一個狀態相關之一個單元; 使用與該虛擬機監視器之一個狀態相關之一個單元· 使用一個控制指示器之值;及 使用該虛擬機控制結構中之一個域之值。 2 2 ·如申請專利範圍第1 8項之具有機器可存取媒 體之物件,其中,於執行之步驟中,該至少一個行動係藉 由貫施下列至少一個而執行·· 健存機器狀態之該一或多個相關之單元; 41 1253585 If i.# H______:____ 儲存一或多個固定之儲存值; 儲存一或多個被計算出之儲存值; 將由一個虛擬機控制結構中之一或多個域而來之一或 多個值載入至機器狀態之該一或多個相關之單元; 將一或多個固定載入值載入至機器狀態之該一或多個 相關之單元;及 將一或多個計算出之載入值載入至機器狀態之該一或 多個相關之單元。
2 3 ·如申請專利範圍第1 8項之具有機器可存取媒 體之物件,其係進一步包含於該至少一個行動被執行之後 ,完成該虛擬機轉換。 拾壹、圖式: 如次頁
42
TW092129097A 2002-12-19 2003-10-21 Methods and systems to manage machine state in virtual machine operations TWI253585B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/324,591 US7793286B2 (en) 2002-12-19 2002-12-19 Methods and systems to manage machine state in virtual machine operations

Publications (2)

Publication Number Publication Date
TW200411537A TW200411537A (en) 2004-07-01
TWI253585B true TWI253585B (en) 2006-04-21

Family

ID=32593494

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092129097A TWI253585B (en) 2002-12-19 2003-10-21 Methods and systems to manage machine state in virtual machine operations

Country Status (8)

Country Link
US (1) US7793286B2 (zh)
JP (4) JP4937514B2 (zh)
KR (1) KR100737666B1 (zh)
CN (2) CN100472454C (zh)
AU (1) AU2003298951A1 (zh)
DE (1) DE10393679B9 (zh)
TW (1) TWI253585B (zh)
WO (1) WO2004061659A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI493331B (zh) * 2008-10-31 2015-07-21 Ibm 經由虛擬化機會之電力最佳化

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631066B2 (en) * 1998-09-10 2014-01-14 Vmware, Inc. Mechanism for providing virtual machines for use by multiple users
US7516453B1 (en) 1998-10-26 2009-04-07 Vmware, Inc. Binary translator with precise exception synchronization mechanism
US7130949B2 (en) * 2003-05-12 2006-10-31 International Business Machines Corporation Managing input/output interruptions in non-dedicated interruption hardware environments
US20050044408A1 (en) * 2003-08-18 2005-02-24 Bajikar Sundeep M. Low pin count docking architecture for a trusted platform
US8079034B2 (en) * 2003-09-15 2011-12-13 Intel Corporation Optimizing processor-managed resources based on the behavior of a virtual machine monitor
US20050132122A1 (en) * 2003-12-16 2005-06-16 Rozas Carlos V. Method, apparatus and system for monitoring system integrity in a trusted computing environment
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US7356735B2 (en) * 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7962909B1 (en) * 2004-05-11 2011-06-14 Globalfoundries Inc. Limiting guest execution
US7490070B2 (en) * 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
WO2006011994A2 (en) * 2004-06-26 2006-02-02 Transvirtual Systems, Llc System for emulating wang vs programs
US20060004667A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for collecting operating system license revenue using an emulated computing environment
US7562179B2 (en) * 2004-07-30 2009-07-14 Intel Corporation Maintaining processor resources during architectural events
US20060064699A1 (en) * 2004-09-21 2006-03-23 Bonk Ted J Method and system for processing resource allocations
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
CN101091161B (zh) * 2004-12-31 2010-06-16 英特尔公司 用于协作访客固件的设备和方法
US7904903B2 (en) * 2005-06-30 2011-03-08 Intel Corporation Selective register save and restore upon context switch using trap
CN100420202C (zh) * 2005-10-20 2008-09-17 联想(北京)有限公司 计算机管理系统以及计算机管理方法
US7877485B2 (en) * 2005-12-02 2011-01-25 International Business Machines Corporation Maintaining session states within virtual machine environments
US20090106754A1 (en) * 2005-12-10 2009-04-23 Benjamin Liu Handling a device related operation in a virtualization enviroment
US7900204B2 (en) * 2005-12-30 2011-03-01 Bennett Steven M Interrupt processing in a layered virtualization architecture
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
WO2007115425A1 (en) * 2006-03-30 2007-10-18 Intel Corporation Method and apparatus for supporting heterogeneous virtualization
US8607228B2 (en) 2006-08-08 2013-12-10 Intel Corporation Virtualizing performance counters
CN101154130B (zh) * 2006-09-30 2012-07-04 联想(北京)有限公司 一种虚拟机系统及其电源管理方法
CN101206582B (zh) * 2006-12-22 2010-10-06 联想(北京)有限公司 一种虚拟机系统及其处理方法
US8291410B2 (en) * 2006-12-29 2012-10-16 Intel Corporation Controlling virtual machines based on activity state
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
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
CN101267334B (zh) * 2007-03-13 2011-01-26 联想(北京)有限公司 一种动态分配设备的方法及装置
US8099274B2 (en) * 2007-03-30 2012-01-17 International Business Machines Corporation Facilitating input/output processing of one or more guest processing systems
US7975267B2 (en) * 2007-03-30 2011-07-05 Bennett Steven M Virtual interrupt processing in a layered virtualization architecture
US8046540B2 (en) * 2007-04-26 2011-10-25 Sap Ag Shared closures on demand
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 联想(北京)有限公司 虚拟机监视器识别客户操作系统中进程的方法及装置
US8151264B2 (en) * 2007-06-29 2012-04-03 Intel Corporation Injecting virtualization events in a layered virtualization architecture
DE102007053474A1 (de) * 2007-11-09 2009-05-14 Giesecke & Devrient Gmbh Datenträger und Verfahren zum Betreiben eines Mikroprozessors eines Datenträgers
US8839237B2 (en) * 2007-12-31 2014-09-16 Intel Corporation Method and apparatus for tamper resistant communication in a virtualization enabled platform
US8261028B2 (en) * 2007-12-31 2012-09-04 Intel Corporation Cached dirty bits for context switch consistency checks
JP4961459B2 (ja) * 2009-06-26 2012-06-27 株式会社日立製作所 仮想計算機システムおよび仮想計算機システムにおける制御方法
US20110153909A1 (en) * 2009-12-22 2011-06-23 Yao Zu Dong Efficient Nested Virtualization
CN101916207B (zh) * 2010-08-28 2013-10-09 华为技术有限公司 桌面虚拟化环境下的节能方法、装置及系统
US9223611B2 (en) * 2010-12-28 2015-12-29 Microsoft Technology Licensing, Llc Storing and resuming application runtime state
CN102609314A (zh) * 2012-01-18 2012-07-25 浪潮(北京)电子信息产业有限公司 一种虚拟机量化管理方法和系统
US9146762B2 (en) * 2012-08-23 2015-09-29 Citrix Systems, Inc. Specialized virtual machine to virtualize hardware resource for guest virtual machines
JP5608797B2 (ja) * 2013-07-31 2014-10-15 株式会社日立製作所 仮想化プログラム、仮想計算機システム及び計算機システム制御方法
US10146570B2 (en) * 2015-09-25 2018-12-04 Intel Corporation Nested virtualization for virtual machine exits
US20210026950A1 (en) * 2016-03-07 2021-01-28 Crowdstrike, Inc. Hypervisor-based redirection of system calls and interrupt-based task offloading
US10243746B2 (en) 2017-02-27 2019-03-26 Red Hat, Inc. Systems and methods for providing I/O state protections in a virtualized environment
US11403234B2 (en) 2019-06-29 2022-08-02 Intel Corporation Cryptographic computing using encrypted base addresses and used in multi-tenant environments
US11575504B2 (en) 2019-06-29 2023-02-07 Intel Corporation Cryptographic computing engine for memory load and store units of a microarchitecture pipeline
US11580234B2 (en) 2019-06-29 2023-02-14 Intel Corporation Implicit integrity for cryptographic computing
CN111273969B (zh) * 2020-01-20 2021-08-10 腾讯科技(深圳)有限公司 状态切换方法、装置、设备和存储介质
US11580035B2 (en) 2020-12-26 2023-02-14 Intel Corporation Fine-grained stack protection using cryptographic computing
US11669625B2 (en) 2020-12-26 2023-06-06 Intel Corporation Data type based cryptographic computing

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JPS5576447A (en) 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
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
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 複合プロセツサ・システムのアクセス制御方式
JPS6057438A (ja) * 1983-09-08 1985-04-03 Hitachi Ltd 仮想計算機システム制御装置
JPS61184644A (ja) * 1985-02-12 1986-08-18 Hitachi Ltd 仮想計算機システム制御方式
US4740893A (en) * 1985-08-07 1988-04-26 International Business Machines Corp. Method for reducing the time for switching between programs
JPH0814795B2 (ja) * 1986-01-14 1996-02-14 株式会社日立製作所 マルチプロセッサ仮想計算機システム
JPH0754470B2 (ja) * 1986-03-24 1995-06-07 株式会社日立製作所 仮想計算機システムの制御方法
JP2523653B2 (ja) * 1987-07-08 1996-08-14 株式会社日立製作所 仮想計算機システム
JPS6474632A (en) * 1987-09-16 1989-03-20 Fujitsu Ltd Control transfer system for virtual computer
US5079737A (en) * 1988-10-25 1992-01-07 United Technologies Corporation Memory management unit for the MIL-STD 1750 bus
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
US5016161A (en) * 1989-04-12 1991-05-14 Sun Microsystems, Inc. Method and apparatus for the flow control of devices
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
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
JP2902746B2 (ja) * 1990-07-27 1999-06-07 富士通株式会社 仮想計算機制御方式
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
JPH04308940A (ja) * 1991-04-05 1992-10-30 Hitachi Ltd 仮想計算機システムにおける資源の自動割当て管理方式
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
US5319760A (en) 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
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 コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
US5627987A (en) 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
JPH0695898A (ja) * 1992-09-16 1994-04-08 Hitachi Ltd 仮想計算機の制御方法および仮想計算機システム
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
EP0600112A1 (de) 1992-11-30 1994-06-08 Siemens Nixdorf Informationssysteme Aktiengesellschaft Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff
JP2765411B2 (ja) * 1992-11-30 1998-06-18 株式会社日立製作所 仮想計算機方式
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.
JPH06348867A (ja) * 1993-06-04 1994-12-22 Hitachi Ltd マイクロコンピュータ
JPH0793221A (ja) * 1993-09-28 1995-04-07 Hitachi Ltd 仮想計算機システム及びその制御方法
US5459869A (en) * 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
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
US5978481A (en) * 1994-08-16 1999-11-02 Intel Corporation Modem compatible method and apparatus for encrypting data that is transparent to software applications
US6058478A (en) * 1994-09-30 2000-05-02 Intel Corporation Apparatus and method for a vetted field upgrade
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
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 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5737760A (en) * 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
JP3693721B2 (ja) * 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
EP0880840A4 (en) * 1996-01-11 2002-10-23 Mrj Inc DEVICE 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
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
US6205550B1 (en) * 1996-06-13 2001-03-20 Intel Corporation Tamper resistant methods and apparatus
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
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
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
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
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US5953502A (en) * 1997-02-13 1999-09-14 Helbig, Sr.; Walter A Method and apparatus for enhancing computer system security
US6272637B1 (en) * 1997-04-14 2001-08-07 Dallas Semiconductor Corporation Systems and methods for protecting access to encrypted information
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)
US6014745A (en) * 1997-07-17 2000-01-11 Silicon Systems Design Ltd. Protection for customer programs (EPROM)
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
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
US6085296A (en) * 1997-11-12 2000-07-04 Digital Equipment Corporation Sharing memory pages and page tables among computer processes
US6192455B1 (en) * 1998-03-30 2001-02-20 Intel Corporation Apparatus and method for preventing access to SMRAM space through AGP addressing
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US6795966B1 (en) * 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
US6397242B1 (en) * 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
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
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
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
US6321314B1 (en) * 1999-06-09 2001-11-20 Ati International S.R.L. Method and apparatus for restricting memory access
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
US6374317B1 (en) * 1999-10-07 2002-04-16 Intel Corporation Method and apparatus for initializing a computer interface
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
WO2001063567A2 (en) * 2000-02-25 2001-08-30 Identix Incorporated Secure transaction system
US20010037450A1 (en) * 2000-03-02 2001-11-01 Metlitski Evgueny A. System and method for process protection
US6795905B1 (en) 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
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
GB0022949D0 (en) * 2000-09-19 2000-11-01 Sgs Thomson Microelectronics Processing instruction words
US7818808B1 (en) * 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI493331B (zh) * 2008-10-31 2015-07-21 Ibm 經由虛擬化機會之電力最佳化

Also Published As

Publication number Publication date
KR20050085766A (ko) 2005-08-29
JP2013214325A (ja) 2013-10-17
JP5384605B2 (ja) 2014-01-08
AU2003298951A1 (en) 2004-07-29
JP5068778B2 (ja) 2012-11-07
DE10393679B4 (de) 2008-05-29
JP2006510120A (ja) 2006-03-23
US20040123288A1 (en) 2004-06-24
CN101488097A (zh) 2009-07-22
JP5746275B2 (ja) 2015-07-08
AU2003298951A8 (en) 2004-07-29
WO2004061659A3 (en) 2005-07-28
DE10393679B9 (de) 2015-12-10
CN1726470A (zh) 2006-01-25
WO2004061659A2 (en) 2004-07-22
TW200411537A (en) 2004-07-01
CN100472454C (zh) 2009-03-25
CN101488097B (zh) 2013-12-25
JP2009163751A (ja) 2009-07-23
DE10393679T5 (de) 2005-10-20
JP2012074074A (ja) 2012-04-12
JP4937514B2 (ja) 2012-05-23
KR100737666B1 (ko) 2007-07-09
US7793286B2 (en) 2010-09-07

Similar Documents

Publication Publication Date Title
TWI253585B (en) Methods and systems to manage machine state in virtual machine operations
TWI252427B (en) Control register access virtualization performance improvement in the virtual-machine architecture
CN106228069B (zh) 用于检测恶意可执行文件的系统和方法
TW200941349A (en) Alternate address space to permit virtual machine monitor access to guest virtual address space
CN109508555A (zh) 使用可信域在虚拟化系统中提供隔离
CN101038543B (zh) 用于持续性用户级线程的设备、系统和方法
CN103201719B (zh) 虚拟化计算环境中的设备仿真
US20110029821A1 (en) Method and system for recording a selected computer process for subsequent replay
TW200935300A (en) Microprocessors and methods for executing macroinstructions
TWI306216B (en) Real-time embedded simple monitor method, real-time embedded simple monitor program product and real-time embedded simple monitor program by computer-readable storage medium
RU2011106475A (ru) Социальное изменение виртуального аватара
CN108200008A (zh) 异常数据访问的识别方法和装置
US10810137B2 (en) Physical address randomization for secure encrypted memory
US20120131571A1 (en) Performance in a nested virtualized environment
JPS61262830A (ja) デ−タ処理システム
JP2016529568A (ja) 複数のハイパーバイザを実行するシステムおよび方法
WO2015041636A1 (en) Virtual machine switching based on processor power states
EP3685273B1 (en) Nested hypervisor memory virtualization
JP2006216027A5 (zh)
Alwaal et al. Transfer of skills on LapSim virtual reality laparoscopic simulator into the operating room in urology
US8751724B2 (en) Dynamic memory reconfiguration to delay performance overhead
TW200949535A (en) Device emulation support within a host data processing apparatus
CN108369519A (zh) 在使用块-原子执行模型的基于处理器的系统中重放部分执行的指令块
JP2023505788A (ja) サブフィールド最小及び最大クランピングによる連想メモリ
JP2006099333A5 (zh)

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees