两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

管理嵌套虛擬化環(huán)境的制作方法

文檔序號:6362285閱讀:160來源:國知局
專利名稱:管理嵌套虛擬化環(huán)境的制作方法
技術領域
本發(fā)明一般地涉及計算系統(tǒng)中的虛擬化,更具體地說,涉及在嵌套虛擬化環(huán)境中提聞性能。
背景技術
在計算系統(tǒng)中,主機軟件或系統(tǒng)管理程序(hypervisor)可以為系統(tǒng)管理程序上運行的來賓(guest)軟件提供仿真計算環(huán)境或虛擬機(VM)。VM允許來賓軟件執(zhí)行,好像來賓軟件直接在底層硬件或物理機器上運行那樣。典型的物理機器(例如,處理器)以至少兩種模式運行:非根模式和根模式。物理機器通常以非根模式運行以便執(zhí)行來賓軟件的非特權指令,但是在檢測到要由系統(tǒng)管理程序管理的特權指令時可以切換到根模式。模式之間的切換通常稱為捕獲(trapping)。VM通常根據(jù)傳統(tǒng)的軟件虛擬化概念實現(xiàn)以便支持虛擬化特性,例如服務器整合、故障包容、安全性和資源管理。大多數(shù)所述虛擬化特性的實現(xiàn)以顯著的性能開銷為代價,這是因為來賓軟件每次訪問虛擬化特性時導致捕獲。

發(fā)明內(nèi)容
本發(fā)明涉及促進在嵌套虛擬化環(huán)境中提高性能的方法、系統(tǒng)和計算機程序產(chǎn)品。根據(jù)一個實施例,提供了一種用于在嵌套虛擬化環(huán)境中提高性能的方法。所述方法包括:由第一軟件檢測硬件設備支持的第一組特性,其中所述第一軟件在所述硬件設備上運行;檢測用于運行第二軟件的第二組特性,其中由所述第一軟件使用所述第二組特性啟動所述第二軟件;向所述第二軟件公開所述第二組特性中的一個或多個特性,其中所述第二軟件檢測并啟用所公開的特性以用于由所述第二軟件啟動的第三軟件;以及響應于確定第一特性是未包括在所述第一組特性中的公開特性,在不導致捕獲的情況下仿真所述第一特性,使得控制被轉移到所述第二軟件,其中一個或多個敏感事件與所述第一特性關聯(lián)。根據(jù)一個或多個實施例,提供了一種包括一個或多個邏輯單元的系統(tǒng)。所述一個或多個邏輯單元被配置為執(zhí)行與上面公開的方法關聯(lián)的功能和操作。在另一個實施例中,提供了一種計算機程序產(chǎn)品,其包括具有計算機可讀程序的計算機可讀存儲介質(zhì)。當在計算機上執(zhí)行時,所述計算機可讀程序導致計算機執(zhí)行與上面公開的方法關聯(lián)的功能和操作。下面參考附圖,進一步詳細地提供了上面公開的一個或多個實施例以及某些備選實施例。但是,所公開的主題并不限于所公開的任何特定實施例。


現(xiàn)在僅通過實例的方式參考附圖描述本發(fā)明的實施例,這些附圖是:圖1A和IB是根據(jù)一個實施例的示例性嵌套虛擬化環(huán)境的示意圖;圖2是根據(jù)一個實施例的用于針對來賓軟件啟用虛擬化特性的方法的流程圖3是根據(jù)一個實施例的用于訪問虛擬化特性的方法的流程圖;圖4和5是根據(jù)一個或多個實施例的其中可以運行本發(fā)明的系統(tǒng)的硬件和軟件環(huán)境的示意圖。根據(jù)一個或多個實施例,不同圖中的相同標號引用的特性、元素和方面表示相同、等效或類似的特性、元素或方面。
具體實施例方式以下說明了許多具體細節(jié)以便提供對各種實施例的詳盡描述。某些實施例可以在沒有這些具體細節(jié)的情況下實現(xiàn),或者可以具有細節(jié)的變化。在某些情況下,并未詳細描述某些特性以免使其它方面模糊不清。與每個元素或特性關聯(lián)的細節(jié)級別不應被解釋為限定某個特性較之其它特性的新穎性或重要性。參考圖1A,在嵌套虛擬化環(huán)境中,多個系統(tǒng)管理程序和來賓軟件以嵌套方式在物理機器上運行。例如,第一系統(tǒng)管理程序可以直接在物理機器上運行,第二系統(tǒng)管理程序可以作為第一來賓軟件在所述第一系統(tǒng)管理程序上運行,第二來賓軟件可以在所述第二系統(tǒng)管理程序上運行。在此類環(huán)境中,不同級別軟件之間的交互會增加軟件虛擬化引入的性能開銷。硬件輔助虛擬化可以減少軟件虛擬化引入的性能開銷。在硬件輔助虛擬化中,由物理機器(而不是軟件)支持一個或多個虛擬化特性,因此減少在嵌套虛擬化環(huán)境中導致的捕獲的數(shù)量。希望實現(xiàn)這樣的系統(tǒng):其中硬件輔助虛擬化技術充分減少軟件虛擬化引入的性能開銷(如果使用軟件實現(xiàn)許多虛擬化特性)。參考圖1B,根據(jù)一個實施例,示例性嵌套虛擬化環(huán)境100包括物理機器110和三個級別的虛擬化。根級別(LO)包括系統(tǒng)管理程序120;級別I (LI)包括來賓系統(tǒng)管理程序130 ;以及級別2 (L2)包括來賓軟件140。LO系統(tǒng)管理程序120直接在物理機器110上運行,并實現(xiàn)用于LI來賓系統(tǒng)管理程序130的VM。LI來賓系統(tǒng)管理程序130在LO系統(tǒng)管理程序120上運行,并實現(xiàn)用于L2來賓140的VM。LI來賓系統(tǒng)管理程序130和L2來賓140可以均使用一組虛擬化特性來啟動??梢酝ㄟ^硬件(即,物理機器110)或軟件(B卩,底層主機系統(tǒng)管理程序)支持這些特性中的每個特性。參考圖1B和2,根據(jù)一個實施例,LO系統(tǒng)管理程序120可以被配置為檢測物理機器110支持的第一組特性(P200)。LO系統(tǒng)管理程序120可以使用第二組特性啟動LI來賓系統(tǒng)管理程序130 (P210)。在一個實施例中,所述第二組特性可以包括未包括在所述第一組中的特性,只要LO系統(tǒng)管理程序120被配置為仿真這些特性。對于所述第二組中未包括在所述第一組中的每個特性(B卩,不受物理機器110支持),L0系統(tǒng)管理程序120可選地向LI系統(tǒng)管理程序130公開該特性(P220)。如在本上下文中所使用的,公開特性指使得可由下一級別的系統(tǒng)管理程序檢測到該特性。如果向LI系統(tǒng)管理程序130公開該特性,則LI系統(tǒng)管理程序130檢測并啟用該特性以運行L2來賓140(即,當運行L2來賓140時,使該特性可用)(P230)。通過這種方式,LI系統(tǒng)管理程序使用該特性,其中LI系統(tǒng)管理程序指示物理機器處理對應于該特性的敏感事件而不產(chǎn)生捕獲。參考圖1B和3,根據(jù)一個實施例,物理機器110被配置為以至少LO模式、LI模式和L2模式運行(P300)。響應于LI系統(tǒng)管理程序啟動L2來賓140,物理機器110以L2模式執(zhí)行L2來賓140 (P310)。當以L2模式運行時,物理機器110可以被指示執(zhí)行與第一特性關聯(lián)的第一事件(即,敏感事件或特權指令)(P320)。如果物理機器110支持虛擬化特性以處理該第一事件(P330),則物理機器110處理該第一事件而不觸發(fā)捕獲(P340)。否則,物理機器110捕獲到LO模式,并且LO系統(tǒng)管理程序120通過仿真該第一特性管理該第一事件,而不導致捕獲到LI模式(即,無需來自LI系統(tǒng)管理程序130的干預)(P350)。換言之,需要執(zhí)行物理機器110不支持的特權指令時,導致將控制轉移到LO系統(tǒng)管理程序120,以便物理機器110恢復到執(zhí)行LO系統(tǒng)管理程序120。此外,由于為LI系統(tǒng)管理程序130提供該第一特性存在的錯覺,因此不需要在LI和L2模式之間捕獲。盡管仿真特性將消耗處理器周期,但是向LI系統(tǒng)管理程序130公開該特性以便仿真可以明顯減少虛擬化級別L0、LI和L2之間的捕獲導致的性能開銷。通過公開所請求的特性并在LO級別仿真該特性,在一個實施例中,LO系統(tǒng)管理程序有效地跨多個虛擬化級別多路復用對該特性的單級別支持,由此減少否則將隨之發(fā)生的多個嵌套級別之間的交互量。換言之,在硬件不支持虛擬化特性的情況下,上述系統(tǒng)和方法可以提高性能。在一種實施方式中,可以將上面參考圖2和3提供的過程應用于擴展頁表或嵌套頁表(EPT/NPT)。EPT/NPT是硬件支持的特性,其提供存儲器管理單元(MMU)的虛擬化。某些處理器使用僅軟件機制(稱為影子頁表)提供MMU的虛擬化。影子頁表可以導致高性能開銷,這是因為頁錯誤、頁表更新和頁表指針寄存器訪問會導致捕獲。可以通過配置LO系統(tǒng)管理程序以檢測處理器是否支持EPT/NPT特性來減少影子頁表導致的性能開銷。如果處理器不支持EPT/NPT特性,則LO系統(tǒng)管理程序向LI系統(tǒng)管理程序公開EPT/NPT特性,并且LI系統(tǒng)管理程序檢測并啟用EPT/NPT特性以運行L2來賓(即,當運行L2來賓時,使EPT/NPT特性可用)。在處理器執(zhí)行L2來賓期間,處理器可以被指示創(chuàng)建與EPT/NPT特性關聯(lián)的事件(例如,頁錯誤、頁表更新、頁表指針寄存器訪問或其它相關事件)并捕獲到LO模式,在LO模式中,LO系統(tǒng)管理程序通過構造影子頁表仿真EPT/NPT特性,以便使用LI系統(tǒng)管理程序提供的L2頁表運行L2來賓。與LO系統(tǒng)管理程序使用第一組影子頁表運行LI系統(tǒng)管理程序并且LI系統(tǒng)管理程序使用第二組影子頁表運行L2來賓的情景相比,上面提供的過程允許LO系統(tǒng)管理程序提供MMU虛擬化以用于L2來賓而無需來自LI系統(tǒng)管理程序的干預。在其它實施方式中,可以將上面參考圖2和3提供的過程應用于諸如但不限于單根輸入/輸出虛擬化(SR-10V)、硬件虛擬化(VMX/SVM)擴展和中斷重映射之類的特性。例如,在一種實施方式中,即使沒有SR-1OV設備,LO系統(tǒng)管理程序也可以向LI系統(tǒng)管理程序公開此類設備。公開所述設備可以有助于LO系統(tǒng)管理程序直接管理L2輸入/輸出(I/O)操作,而無需例如LI系統(tǒng)管理程序的干預。在另一種實施方式中,當在x86處理器或沒有VMX/SVM擴展的低范圍(low range)x86處理器上運行時,LO系統(tǒng)管理程序可以向LI系統(tǒng)管理程序公開VMX/SVM擴展。盡管使用舊的二進制轉換機制來虛擬化x86體系結構,但是LO系統(tǒng)管理程序可以向LI系統(tǒng)管理程序公開VMX/SVM擴展。使用此類配置,可以由LO系統(tǒng)管理程序完全支持二進制轉換,并且通過確定LO系統(tǒng)管理程序要管理L2來賓導致的哪些事件來改進二進制轉換。如上面所提供的,被限制為在具有VMX/SVM擴展的硬件上運行的系統(tǒng)管理程序(例如,KVM和Hyper-V)可以作為來賓系統(tǒng)管理程序在沒有VMX/SVM擴展的平臺上運行。此夕卜,如果更新VMX/SVM擴展以便添加有關將中斷直接重定向到來賓的支持,則LO系統(tǒng)管理程序可以向LI系統(tǒng)管理程序公開這些特性,以便將中斷直接注入到L2來賓而無需LI系統(tǒng)
管理程序干預。在不同的實施例中,所要求保護的主題可以實現(xiàn)為硬件和軟件元素兩者的組合,或者備選地完全以硬件形式或完全以軟件形式實現(xiàn)。此外,在此公開的計算系統(tǒng)和程序軟件可以包括受控計算環(huán)境,其可以根據(jù)執(zhí)行的硬件組件或邏輯代碼提供,這些硬件組件或邏輯代碼用于執(zhí)行獲得在此構想的結果的方法和過程。當由通用計算系統(tǒng)或機器執(zhí)行時,所述方法和過程將通用機器轉換為專用機器。參考圖4和5,根據(jù)一個示例性實施例的計算系統(tǒng)環(huán)境可以包括硬件環(huán)境1110和軟件環(huán)境1120。硬件環(huán)境1110可以包括邏輯單元、電路或其它機器和設備,它們?yōu)檐浖h(huán)境1120的組件提供執(zhí)行環(huán)境。反過來,軟件環(huán)境1120可以為硬件環(huán)境1110的各種組件提供執(zhí)行指令,包括底層操作設置和配置。參考圖4,在此公開的應用軟件和邏輯代碼可以以計算機可讀代碼的形式實現(xiàn),所述計算機可讀代碼在示例性硬件環(huán)境1110表示的一個或多個計算系統(tǒng)上執(zhí)行。如圖所示,硬件環(huán)境1110可以包括處理器1101,其通過系統(tǒng)總線1100耦合到一個或多個存儲元件。所述存儲元件例如可以包括本地存儲器1102、存儲介質(zhì)1106、高速緩沖存儲器1104或其它計算機可用或計算機可讀介質(zhì)。在本公開的上下文中,計算機可用或計算機可讀存儲介質(zhì)可以包括任何可以用于包含、存儲、發(fā)送、傳播或傳輸程序代碼的可記錄制品。計算機可讀存儲介質(zhì)可以是電、磁、光、電磁、紅外線或半導體介質(zhì)、系統(tǒng)、裝置或設備。所述計算機可讀存儲介質(zhì)還可以以傳播介質(zhì)實現(xiàn)(沒有限制),程度為此類實現(xiàn)被視為法定主題。計算機可讀存儲介質(zhì)的實例可以包括半導體或固態(tài)存儲器、磁帶、可移動計算機盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤、光盤或載波(如果適用)。光盤的當前實例包括光盤-只讀存儲器(⑶-ROM)、光盤-讀/寫(⑶-R/W)、數(shù)字視頻盤(DVD)、高清晰度視頻盤(HD-DVD)或Blue-ray 盤。在一個實施例中,處理器1101將可執(zhí)行代碼從存儲介質(zhì)1106加載到本地存儲器1102。高速緩沖存儲器1104通過提供臨時存儲優(yōu)化處理時間,此類臨時存儲有助于減少加載代碼以便執(zhí)行的次數(shù)。一個或多個用戶接口設備1105 (例如,鍵盤、指點設備等)和顯示屏1107例如可以直接或通過中間I/O控制器1103耦合到硬件環(huán)境1110中的其它元件??梢蕴峁┩ㄐ沤涌趩卧?108 (例如網(wǎng)絡適配器),以使硬件環(huán)境1110能夠通過中間專用或公共網(wǎng)絡(例如,因特網(wǎng))與本地或遠程計算系統(tǒng)、打印機和存儲設備通信。有線或無線調(diào)制解調(diào)器和以太網(wǎng)卡是網(wǎng)絡適配器的幾種示例性類型。注意,在某些實施方式中,硬件環(huán)境1110可能不包括上面的部分或全部組件,或者可能包括其它組件以提供補充功能或效用。取決于構想的使用和配置,硬件環(huán)境1110可以是臺式或膝上型計算機,或者可選地包含在嵌入式系統(tǒng)中的其它計算設備,例如機頂盒、個人數(shù)字助理(PDA)、個人媒體播放器、移動通信單元(例如,無線電話),或者具有信息處理或數(shù)據(jù)存儲能力的其它類似的硬件平臺。在某些實施例中,通信接口 1108用作數(shù)據(jù)通信端口,以便通過發(fā)送和接收數(shù)字、電、電磁或光信號提供與一個或多個計算系統(tǒng)通信的手段,這些信號承載表示各種類型信息(包括程序代碼)的模擬或數(shù)字數(shù)據(jù)流。所述通信可以通過本地或遠程網(wǎng)絡建立,或者備選地通過空氣傳輸或其它介質(zhì)傳輸(包括但不限于載波傳播)建立。如在此所提供的,根據(jù)本質(zhì)上是示例性的邏輯或功能關系定義在所示硬件元件上執(zhí)行的所公開的軟件元素。但是,應當指出,通過所述示例性軟件元素實現(xiàn)的相應方法還可以例如通過配置和編程的處理器、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)和數(shù)字信號處理器(DSP)被編碼在所述硬件元件中。參考圖5,軟件環(huán)境1120通??梢苑譃閮深悾ㄔ谝粋€或多個硬件環(huán)境1110上執(zhí)行的系統(tǒng)軟件1121和應用軟件1122。在一個實施例中,在此公開的方法和過程可以實現(xiàn)為系統(tǒng)軟件1121、應用軟件1122或它們的組合。系統(tǒng)軟件1121可以包括諸如操作系統(tǒng)(OS)和信息管理系統(tǒng)之類的控制程序,它們指示硬件環(huán)境1110中的一個或多個處理器1101 (例如,微處理器)如何運行和處理信息。應用軟件1122可以包括但不限于程序代碼、數(shù)據(jù)結構、固件、駐留軟件、微代碼,或者可以由處理器1101讀取、分析或執(zhí)行的任何其它形式的信息或例程。換言之,應用軟件1122可以實現(xiàn)為程序代碼,其以計算機可用或計算機可讀存儲介質(zhì)的形式包含在計算機程序產(chǎn)品中,所述計算機程序產(chǎn)品提供程序代碼以便由計算機或任何指令執(zhí)行系統(tǒng)使用或者與其結合使用。此外,應用軟件1122可以包括一個或多個計算機程序,這些計算機程序在從存儲介質(zhì)1106加載到本地存儲器1102之后,在系統(tǒng)軟件1121之上執(zhí)行。在客戶端-服務器體系結構中,應用軟件1122可以包括客戶端軟件和服務器軟件。例如,在一個實施例中,客戶端軟件可以在客戶端計算系統(tǒng)上執(zhí)行,該客戶端計算系統(tǒng)不同于并獨立于執(zhí)行服務器軟件的服務器計算系統(tǒng)。軟件環(huán)境1120還可以包括瀏覽器軟件1126以便訪問通過本地或遠程計算網(wǎng)絡提供的數(shù)據(jù)。此外,軟件環(huán)境1120可以包括用戶界面1124 (例如,圖形用戶界面(⑶I))以便接收用戶命令和數(shù)據(jù)。有必要重申,上面描述的硬件和軟件體系結構和環(huán)境用于實例目的。因此,可以在任何類型的系統(tǒng)體系結構、功能或邏輯平臺或處理環(huán)境上實現(xiàn)一個或多個實施例。還應理解,所述邏輯代碼、程序、模塊、過程、方法,以及每種方法的相應過程的執(zhí)行順序完全是示例性的。取決于實施方式,所述過程或任何底層子過程和方法可以以任何順序執(zhí)行或同時執(zhí)行,除非本公開中另有所指。此外,除非明確地另有所指,否則本公開的上下文中的邏輯代碼定義并不與任何特定程序設計語言相關或限于任何特定程序設計語言,并且可以包括一個或多個模塊,它們可以在分布式、非分布式、單處理或多處理環(huán)境中的一個或多個處理器上執(zhí)行。所屬技術領域的技術人員知道,軟件實施例可以包括固件、駐留軟件、微代碼等。包括軟件或硬件或者組合軟件和硬件方面的某些組件在此通??梢越y(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,所公開的主題可以實現(xiàn)為包含在一個或多個計算機可讀存儲介質(zhì)中的計算機程序產(chǎn)品,這些介質(zhì)在其中包含計算機可讀程序代碼??梢允褂靡粋€或多個計算機可讀存儲介質(zhì)的任意組合。所述計算機可讀存儲介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是一但不限于一電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者上述的任意合適的組合。在此文檔的上下文中,計算機可讀存儲介質(zhì)可以是任何能夠包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用。計算機可讀信號介質(zhì)可以包括例如在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀程序代碼。此類傳播的信號可以采用多種形式,包括一但不限于一電磁信號、光信號或它們的任意合適的組合。計算機可讀信號介質(zhì)可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序。計算機可讀存儲介質(zhì)上包含的程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合??梢砸砸环N或多種程序設計語言的任意組合來編寫用于執(zhí)行所公開的操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語目一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設計語言一諸如“C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN) —連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務提供商來通過因特網(wǎng)連接)。將參考根據(jù)各實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖公開某些實施例。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些計算機程序指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。也可以把這些計算機程序指令存儲在計算機可讀存儲介質(zhì)中,這些指令使得計算機、其它可編程數(shù)據(jù)處理裝置、或其它設備以特定方式工作,從而,存儲在計算機可讀存儲介質(zhì)中的指令就產(chǎn)生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品(article ofmanufacture)。也可以把計算機程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設備上,使得在計算機、其它可編程裝置或其它設備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而使得在計算機或其它可編程裝置上執(zhí)行的指令提供實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的過程。附圖中的流程圖和框圖顯示了根據(jù)多個實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系結構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、組件段或代碼的一部分,所述模塊、組件段或代碼的一部分包括一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。在此參考一個或多個特性或實施例提供了所要求保護的主題。所屬技術領域的技術人員將認識到并理解,盡管在此提供了示例性實施例的細節(jié),但是可以向所述實施例應用更改和修改而不會限制或偏離預期的范圍。在此提供的實施例的這些和各種其它改變和組合,均在權利要求及其全部等效物限定的所公開的主題的范圍之內(nèi)。
權利要求
1.一種用于管理嵌套虛擬化環(huán)境的計算機實現(xiàn)的方法,所述方法包括: 由第一軟件檢測硬件設備支持的第一組特性,其中所述第一軟件在所述硬件設備上運行; 檢測用于運行第二軟件的第二組特性,其中由所述第一軟件使用所述第二組特性啟動所述第二軟件; 向所述第二軟件公開所述第二組特性中的一個或多個特性,其中所述第二軟件檢測并啟用所公開的特性以用于由所述第二軟件啟動的第三軟件;以及 響應于確定第一特性是未包括在所述第一組特性中的公開特性,在不導致捕獲的情況下仿真所述第一特性,使得控制被轉移到所述第二軟件,其中一個或多個敏感事件與所述第一特性關聯(lián)。
2.根據(jù)權利要求1的方法,其中所述硬件設備以第一模式執(zhí)行所述第一軟件,以第二模式執(zhí)行所述第二軟件,以及以第三模式執(zhí)行所述第三軟件。
3.根據(jù)權利要求2的方法,其中響應于由所述第二軟件啟動所述第三軟件,所述硬件設備以所述第三模式執(zhí)行所述第三軟件。
4.根據(jù)權利要求3的方法,其中響應于被指示創(chuàng)建與所述第一特性關聯(lián)的敏感事件,所述硬件設備捕獲到所述第一模式。
5.根據(jù)權利要求3的方法,其中響應于被指示創(chuàng)建所述第二特性處理的敏感事件,所述硬件設備捕獲到所述第一模式。
6.根據(jù)權利要求5的方法,其中響應于確定所述第一特性未包括在所述第一組特性中,所述硬件設備捕獲到所述第一模式。
7.根據(jù)權利要求6的方法,其中所述硬件設備捕獲到所述第一模式,使得控制被轉移到所述第一軟件。
8.根據(jù)任一上述權利要求的方法,其中所述第一特性是存儲器管理虛擬化特性。
9.根據(jù)權利要求1至7中的任一權利要求的方法,其中所述第一特性是硬件虛擬化擴展特性。
10.根據(jù)權利要求1至7中的任一權利要求的方法,其中所述第一特性是中斷虛擬化特性。
11.一種用于管理嵌套虛擬化環(huán)境的計算機實現(xiàn)的系統(tǒng),所述系統(tǒng)包括: 第一軟件,其可操作以檢測硬件設備支持的第一組特性,其中所述第一軟件可在所述硬件設備上執(zhí)行; 邏輯單元,其可操作以檢測用于運行第二軟件的第二組特性,其中由所述第一軟件使用所述第二組特性啟動所述第二軟件; 邏輯單元,其可操作以向所述第二軟件公開所述第二組特性中的一個或多個特性,其中所述第二軟件可操作以檢測并啟用所公開的特性以用于由所述第二軟件啟動的第三軟件;以及 邏輯單元,其可操作以響應于確定第一特性是未包括在所述第一組特性中的公開特性,在不導致捕獲的情況下仿真所述第一特性,使得控制被轉移到所述第二軟件,其中一個或多個敏感事件與所述第一特性關聯(lián)。
12.根據(jù)權利要求11的系統(tǒng),其中所述硬件設備可操作以便以第一模式執(zhí)行所述第一軟件,以第二模式執(zhí)行所述第二軟件,以及以第三模式執(zhí)行所述第三軟件。
13.根據(jù)權利要求12的系統(tǒng),其中所述硬件設備可操作以便響應于由所述第二軟件啟動所述第三軟件而以所述第三模式執(zhí)行所述第三軟件。
14.根據(jù)權利要求13的系統(tǒng),其中所述硬件設備可操作以響應于被指示創(chuàng)建與所述第一特性關聯(lián)的敏感事件而捕獲到所述第一模式。
15.根據(jù)權利要求13的系統(tǒng),其中所述硬件設備可操作以響應于被指示創(chuàng)建所述第二特性處理的敏感事件而捕獲到所述第一模式。
16.一種用于存儲可在計算機器上執(zhí)行的邏輯代碼的計算機可讀存儲介質(zhì),其中所述邏輯代碼的執(zhí)行導致所述計 算機器執(zhí)行權利要求1至10中的任一權利要求的方法。
全文摘要
一種用于管理虛擬化環(huán)境的方法,包括由第一軟件檢測硬件設備支持的第一組特性,其中所述第一軟件在所述硬件設備上運行;檢測用于運行第二軟件的第二組特性,其中由所述第一軟件使用所述第二組特性啟動所述第二軟件;向所述第二軟件公開所述第二組特性中的一個或多個特性,其中所述第二軟件檢測并啟用所公開的特性以用于由所述第二軟件啟動的第三軟件;以及響應于確定第一特性是未包括在所述第一組特性中的公開特性,在不導致捕獲的情況下仿真所述第一特性,使得控制被轉移到所述第二軟件,其中一個或多個敏感事件與所述第一特性關聯(lián)。
文檔編號G06F9/455GK103210373SQ201180055111
公開日2013年7月17日 申請日期2011年10月26日 優(yōu)先權日2010年11月18日
發(fā)明者A·戈登, S·本-耶胡達, N·Y·哈雷爾, B-A·亞蘇爾 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
阿巴嘎旗| 保德县| 霍林郭勒市| 宁南县| 揭东县| 龙游县| 揭西县| 临西县| 会东县| 金坛市| 莱西市| 昌图县| 三门县| 海伦市| 新宁县| 耒阳市| 达孜县| 西平县| 平罗县| 将乐县| 长沙市| 大埔县| 黔西| 宁都县| 宝兴县| 西藏| 南投县| 东乡族自治县| 天门市| 罗定市| 吉安县| 水城县| 扬州市| 怀来县| 宜丰县| 平顺县| 大田县| 公安县| 高阳县| 呼伦贝尔市| 德钦县|