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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/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/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
- 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/4557—Distribution 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
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI493331B (zh) * | 2008-10-31 | 2015-07-21 | Ibm | 經由虛擬化機會之電力最佳化 |
Families Citing this family (56)
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)
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 |
-
2002
- 2002-12-19 US US10/324,591 patent/US7793286B2/en active Active
-
2003
- 2003-10-21 TW TW092129097A patent/TWI253585B/zh not_active IP Right Cessation
- 2003-12-04 CN CNB2003801065018A patent/CN100472454C/zh not_active Expired - Fee Related
- 2003-12-04 DE DE10393679.3T patent/DE10393679B9/de not_active Expired - Fee Related
- 2003-12-04 AU AU2003298951A patent/AU2003298951A1/en not_active Abandoned
- 2003-12-04 WO PCT/US2003/038728 patent/WO2004061659A2/en active Application Filing
- 2003-12-04 JP JP2004565223A patent/JP4937514B2/ja not_active Expired - Fee Related
- 2003-12-04 KR KR1020057011344A patent/KR100737666B1/ko not_active IP Right Cessation
- 2003-12-04 CN CN2009100098598A patent/CN101488097B/zh not_active Expired - Fee Related
-
2009
- 2009-02-10 JP JP2009028629A patent/JP5068778B2/ja not_active Expired - Fee Related
-
2011
- 2011-12-06 JP JP2011266500A patent/JP5384605B2/ja not_active Expired - Fee Related
-
2013
- 2013-07-12 JP JP2013146594A patent/JP5746275B2/ja not_active Expired - Fee Related
Cited By (1)
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 |