国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      處理特許事件的多個虛擬機監(jiān)控器的使用的制作方法

      文檔序號:6335500閱讀:289來源:國知局
      專利名稱:處理特許事件的多個虛擬機監(jiān)控器的使用的制作方法
      技術(shù)領(lǐng)域
      一般來說,本發(fā)明涉及虛擬機,更具體來說,涉及采用多個虛擬機監(jiān)控器來處理特 許事件。
      背景技術(shù)
      傳統(tǒng)的虛擬機監(jiān)控器(VMM)通常在計算機上運行,以及為其它軟件提供一個或多 個虛擬機的抽象。各虛擬機可用作獨立平臺,運行它自己的“客戶操作系統(tǒng)”(即VMM接管 的操作系統(tǒng)(OS))和其它軟件,它們統(tǒng)稱為客戶軟件??蛻糗浖A期工作起來好像它在專 用計算機而不是虛擬機上運行。也就是說,客戶軟件預期將控制各種事件以及有權(quán)訪問硬 件資源。硬件資源可包括處理器駐留資源(例如控制寄存器)、駐留在存儲器中的資源(例 如描述符表)以及駐留在基礎(chǔ)硬件平臺上的資源(例如輸入輸出裝置)。事件可包括內(nèi)部 中斷、外部中斷、異常、平臺事件(例如初始化(INIT)或系統(tǒng)管理中斷(SMI))、某些指令的 執(zhí)行等。在虛擬機環(huán)境中,VMM應當能夠具有對這些事件和硬件資源的最終控制,以便提供 在虛擬機上運行的客戶軟件的適當操作,以及提供對虛擬機上運行的客戶軟件及它們之間 的防范。為了實現(xiàn)這個目的,當客戶軟件訪問受保護資源時,或者當其它事件(例如中斷或 異常)出現(xiàn)時,VMM通常接收控制。例如,當VMM支持的虛擬機中的操作使系統(tǒng)裝置產(chǎn)生中 斷時,當前運行的虛擬機被中斷,以及處理器的控制被傳遞給VMM。然后,VMM接收該中斷, 并且自行處理中斷或者把中斷傳遞到適當?shù)奶摂M機。

      發(fā)明內(nèi)容
      根據(jù)本發(fā)明的一個方面,提供了一種使用多個虛擬機監(jiān)控器來處理特許事件的方 法,該方法包括在具有客戶軟件和多個虛擬機監(jiān)控器(VMM)的虛擬機環(huán)境中檢測多個特 許事件之一的出現(xiàn),其中所述多個虛擬機監(jiān)控器被指定為處理不能由所述虛擬機環(huán)境中的 所述客戶軟件處理的所述多個特許事件;根據(jù)所述檢測的特許事件的特性或所述虛擬機監(jiān) 控器的特性中的至少其中之一確定所述多個虛擬機監(jiān)控器中的哪一個將處理所述檢測的 特許事件;以及把控制轉(zhuǎn)到所述多個VMM中所述的一個。根據(jù)本發(fā)明的另一個方面,提供了一種使用多個虛擬機監(jiān)控器(VMM)來處理特許 事件的系統(tǒng),該系統(tǒng)包括多個被指定為處理多個特許事件的虛擬機監(jiān)控器;以及路由選 擇邏輯,檢測不能由客戶軟件處理的所述多個特許事件之一的出現(xiàn),根據(jù)所述檢測的特許 事件的特性或所述虛擬機監(jiān)控器的特性的至少其中之一確定所述多個VMM中的哪一個將 處理所述檢測的特許事件,以及把控制轉(zhuǎn)到所述多個VMM中所述的一個。
      5
      根據(jù)本發(fā)明的又一個方面,提供了一種使用多個虛擬機監(jiān)控器來處理特許事件的 系統(tǒng),該系統(tǒng)包括存儲器,其中存儲了客戶軟件和多個被指定為處理多個特許事件的虛擬 機監(jiān)控器(VMM);以及處理器,耦合到所述存儲器,執(zhí)行所述客戶軟件,檢測不能由所述客 戶軟件處理的所述多個特許事件之一的出現(xiàn),根據(jù)所述檢測的特許事件的特性或所述虛擬 機監(jiān)控器的特性的至少其中之一確定所述多個VMM中的哪一個將處理所述檢測的特許事 件,以及把控制轉(zhuǎn)到所述多個VMM中所述的一個。根據(jù)本發(fā)明的再一個方面,提供了一種產(chǎn)品,該產(chǎn)品包括在具有客戶軟件和多個 虛擬機監(jiān)控器(VMM)的虛擬機(VM)環(huán)境中檢測多個特許事件之一的出現(xiàn)的部件,其中所述 多個虛擬機監(jiān)控器被指定為處理不能由所述虛擬機環(huán)境中的所述客戶軟件處理的所述多 個特許事件;根據(jù)所述檢測的特許事件的特性或所述虛擬機監(jiān)控器的特性中的至少其中之 一確定所述多個虛擬機監(jiān)控器中的哪一個將處理所述檢測的特許事件的部件;以及把控制 轉(zhuǎn)到所述多個VMM中所述的一個的部件。


      在附圖的各圖中,通過實例而不是限制來說明本發(fā)明,附圖中,相似的參考標號表 示類似的元件,附圖包括圖1說明本發(fā)明在其中可工作的虛擬機環(huán)境的一個實施例;圖2說明虛擬機環(huán)境中的多個VMM的配置;圖3是用于處理具有多個VMM的虛擬機環(huán)境中的特許事件的過程的一個實施例的 流程圖;圖4、圖6和圖7說明標識用于處理特許事件的VMM的過程的示范實施例;以及圖5說明具有兩個VMM的虛擬機環(huán)境中的過程400的示范使用。
      具體實施例方式描述用于采用多個虛擬機監(jiān)控器來處理特許事件的方法及設(shè)備。為便于說明,以 下描述中提出了大量具體細節(jié),以便透徹地理解本發(fā)明。然而,本領(lǐng)域的技術(shù)人員十分清 楚,即使沒有這些具體細節(jié),也可以實施本發(fā)明。按照對計算機系統(tǒng)的寄存器或存儲器中的數(shù)據(jù)位的操作的算法和符號表示來提 供以下詳細說明的一些部分。這些算法描述和表示是數(shù)據(jù)處理領(lǐng)域的技術(shù)人員用來向本領(lǐng) 域的其它技術(shù)人員最有效地傳達其工作實質(zhì)的方式。算法在此以及一般被認為是產(chǎn)生預期 結(jié)果的獨立操作序列。操作是要求物理量的物理處理的那些操作。這些量通常但不一定采 取電或磁信號的形式,它們能夠被存儲、傳送、組合、比較或者以其它方式處理。主要為了一 般使用的原因,將這些信號稱作位、值、元素、符號、字符、項、數(shù)等,已經(jīng)證明有時便利。但應當記住,所有這些及類似的術(shù)語都與適當?shù)奈锢砹筷P(guān)聯(lián),并且只是應用于這 些量上的便捷標簽。若沒有明確說明,從以下論述中應當知道,貫穿本發(fā)明,采用諸如“處 理”或“計算”或“運算”或者“確定”等術(shù)語的論述可表示計算機系統(tǒng)或類似電子計算裝置 的動作和過程,其中所述計算機系統(tǒng)或類似電子計算裝置處理表示為計算機系統(tǒng)的寄存器 和存儲器中的物理(電子)量的數(shù)據(jù)并將其轉(zhuǎn)換為同樣表示為計算機系統(tǒng)存儲器或寄存器 或者其它這種信息存儲、傳送或顯示裝置中的物理量的其它數(shù)據(jù)。
      在對實施例的以下詳細描述中,參照附圖,附圖舉例說明可實現(xiàn)本發(fā)明的特定實 施例。附圖中,相似的標號描述若干視圖中基本上相似的組件。對這些實施例進行充分詳 細的描述,使本領(lǐng)域的技術(shù)人員能夠?qū)嵤┍景l(fā)明??刹捎闷渌鼘嵤├?,并且可進行結(jié)構(gòu)、邏 輯以及電氣變更,而沒有背離本發(fā)明的范圍。此外,要理解,本發(fā)明的各種實施例雖然有所 不同,但不一定是相互排斥的。例如,在一個實施例中描述的特定功能、結(jié)構(gòu)或特征可包含 在其它實施例中。因此,以下詳細描述不是限制性的,本發(fā)明的范圍僅由所附權(quán)利要求以及 這些權(quán)利要求涵蓋的全部等效范圍來限定。雖然以下實例可能在執(zhí)行單元和邏輯電路的上下文中描述本發(fā)明的實施例,但 是,本發(fā)明的其它實施例也可通過軟件來實現(xiàn)。例如,在一些實施例中,本發(fā)明可作為計算 機程序產(chǎn)品或軟件來提供,它可包括其中已存儲指令的機器或計算機可讀介質(zhì),這些指令 可用于對計算機(或其它電子裝置)編程以執(zhí)行根據(jù)本發(fā)明的過程。在其它實施例中,本 發(fā)明的步驟可由包含用于執(zhí)行步驟的硬連線邏輯的特定硬件組件來執(zhí)行,或者由編程計算 機組件和定制硬件組件的任何組合來執(zhí)行。因此,機器可讀介質(zhì)可包括用于存儲或傳送機器(例如計算機)可讀形式的信 息的任何機構(gòu),但不限于軟盤、光盤、小型盤、只讀存儲器(CD-ROM)以及磁光盤、只讀存儲 器(ROM)、隨機存取存儲器(RAM)、可擦可編程只讀存儲器(EPROM)、電可擦可編程只讀存儲 器(EEPROM)、磁或光卡、閃速存儲器、基于因特網(wǎng)的傳輸、電、光、聲或其它形式的傳播信號 (例如載波、紅外信號、數(shù)字信號等)等等。此外,設(shè)計可經(jīng)過各種階段,從創(chuàng)建到模擬直到制造。表示設(shè)計的數(shù)據(jù)可通過許多 方式來表示設(shè)計。首先,如在模擬中有用的那樣,硬件可采用硬件描述語言或者另一種功能 描述語言來表示。另外,采用邏輯和/或晶體管門電路的電路級模型可在設(shè)計過程的某些 階段產(chǎn)生。此外,在某個階段,大部分設(shè)計達到表示硬件模型中的各種裝置的物理設(shè)置的數(shù) 據(jù)級。在使用傳統(tǒng)半導體制造技術(shù)的情況中,表示硬件模型的數(shù)據(jù)可能是指定用來產(chǎn)生集 成電路的掩模的不同掩模層上的各種特征是否存在的數(shù)據(jù)。在設(shè)計的任何表示中,數(shù)據(jù)可 通過任何形式的機器可讀介質(zhì)來存儲。經(jīng)調(diào)制或者以其它方式產(chǎn)生以便傳送這種信息的光 或電波、存儲器或者磁或光存儲裝置、如盤可能是機器可讀介質(zhì)。這些介質(zhì)的任一種可“攜 帶”或“表明”設(shè)計或軟件信息。傳送表明或攜帶代碼或設(shè)計的電載體以便執(zhí)行電信號的復 制、緩沖或重傳時,制作新的副本。因此,通信提供商或網(wǎng)絡(luò)提供商可制作體現(xiàn)本發(fā)明的技 術(shù)的產(chǎn)品(載體)的副本。圖1說明本發(fā)明在其中可工作的虛擬機環(huán)境100的一個實施例。在這個實施例 中,裸平臺硬件110包括計算平臺,它可能例如能夠運行標準操作系統(tǒng)(OS)或虛擬機監(jiān)控 器(VMM)、如 VMM 125。平臺硬件110可能是個人計算機(PC)、大型計算機、手持裝置、便攜計算機、機頂 盒或其它任何計算系統(tǒng)的。平臺硬件Iio包括至少一個處理器112、存儲器120以及可能的 其它未示出的平臺硬件(例如輸入輸出裝置)。處理器112可以是能夠運行軟件的任何類型的處理器,例如微處理器、數(shù)字信號 處理器、微控制器等等。處理器112可包括用于執(zhí)行本發(fā)明的方法實施例的運行的微碼、可 編程邏輯或硬編碼邏輯。存儲器120可以是硬盤、軟盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、閃速存
      7儲器、以上裝置的任何組合、或者處理器112可讀的其它任何類型的機器介質(zhì)。存儲器120 可存儲用于執(zhí)行本發(fā)明的方法實施例的運行的指令或數(shù)據(jù)。每個VMM 125雖然通常以軟件來實現(xiàn),但可模擬裸機接口并將其導出到高級軟 件。這種高級軟件可包括標準或?qū)崟r0S,可以是具有有限操作系統(tǒng)功能性的高度剝離的操 作環(huán)境,可能不包括傳統(tǒng)的OS工具,等等。VMM 125例如可通過硬件、軟件、固件或者各種技 術(shù)的組合來實現(xiàn)。在運行時,每個VMM 125為“客戶”軟件(即,除VMM125的軟件之外的軟件)提供 一個或多個虛擬機(VM)的抽象。VMM125可向各種客戶提供相同或不同的抽象。在各VM上 運行的客戶軟件可包括客戶OS(例如,客戶OS 134、144或154)以及各種客戶軟件應用程 序(例如,應用程序136、146和156)。客戶OS和軟件應用程序在本文中統(tǒng)稱為客戶軟件 103,105 和 115。客戶軟件103、105和115預期將訪問客戶軟件正在其中運行的VM 132、142和152 中的物理資源(例如,處理器寄存器、存儲器和I/O裝置)。VMM 125有助于對客戶軟件所 需的資源的訪問,同時保持對平臺硬件110中的資源的最終控制。另外,客戶軟件103、105 和115預期將處理諸如異常、中斷以及平臺事件(例如,初始化(INIT)和系統(tǒng)管理中斷 (SMI))等各種事件。這些事件的一部分是“特許的”,因為它們不能由客戶軟件進行處理, 以便確保VM 132、142和152以及客戶軟件103、105和115的正確操作,以及用于對客戶軟 件103、105和115及其之間的防范。特許事件由VMM 125來處理。具體來說,特定VMM被標識用于處理每個特許事件。在一個實施例中,特定VMM采 用路由選擇邏輯130來標識。在一些實施例中,路由選擇邏輯130實現(xiàn)為微碼、可編程邏輯 或者硬編碼邏輯。在其它實施例中,路由選擇邏輯130實現(xiàn)為駐留在存儲器120中的軟件。 在另外一個實施例中,路由選擇邏輯130實現(xiàn)為硬件和軟件的組合。一旦特定VMM被標識,它將有助于客戶軟件所需的功能性,同時保持對這種特許 事件的最終控制。有助于客戶軟件所用的功能性的動作可包括VMM 125的一部分上的各種 各樣的活動。VMM125的這些活動不應當限制本發(fā)明的范圍。系統(tǒng)100可包括在平臺硬件110上運行的兩個或兩個以上VMM 125。在一個實施 例中,VMM 125并行運行,以及各VMM 125可接收來自VM的控制。圖2說明系統(tǒng)100中的 VMM 125的這種配置的一個實施例。參照圖2,說明VMM 210至214的示范并行配置。根據(jù)這種配置,在VM工作期間出 現(xiàn)特許事件時,控制從VM傳遞給特定VMM。特定VMM根據(jù)某些標準來標識,下面更詳細地進 行論述。一旦特定VMM被標識,與虛擬化事件有關(guān)的信息被傳遞到這個VMM,以及控制被轉(zhuǎn) 變到它。例如,在VM 202工作期間出現(xiàn)的特許事件1可能引起從VM 202到VMM 210的轉(zhuǎn) 變,在VM 202工作期間出現(xiàn)的特許事件2可能引起從VM 202到VMM 212的轉(zhuǎn)變,在VM206 工作期間出現(xiàn)的特許事件3可能引起從VM 206到VMM 212的轉(zhuǎn)變,以及在VM 206工作期 間出現(xiàn)的特許事件4可能引起從VM 206到VMM 214的轉(zhuǎn)變。相應的VMM則處理虛擬化事 件,并且可把控制轉(zhuǎn)回到從其接收了控制的VM。在一個實施例中,控制從VMM到VM的轉(zhuǎn)移 通過執(zhí)行特殊指令來實現(xiàn)。控制從VMM到VM的轉(zhuǎn)移在本文中稱作VM入口,而控制從VM到 VMM的轉(zhuǎn)移在本文中則稱作VM出口。在一個實施例中,當VM出口出現(xiàn)時,控制在駐留于存儲器并由處理器維護的虛擬
      8機控制結(jié)構(gòu)(VMCS)中描述的特定入口點(例如指令指針值)處被傳遞給VMM。在另一個實 施例中,控制在通過重定向結(jié)構(gòu)(例如Intel Pentium 4的處理器指令集體系結(jié)構(gòu)(ISA) 中的中斷描述符表(在本文稱作IA-32ISA))引導之后被傳遞給VMM?;蛘?,本領(lǐng)域已知的 其它任何機制都可用來把控制從VM轉(zhuǎn)移到VMM。特許事件可能在VMM工作期間出現(xiàn)??赡茉赩MM工作期間出現(xiàn)的特許事件的實 例可包括例如系統(tǒng)管理中斷(SMI)、INIT、不可屏蔽中斷(匪I)、硬件中斷、處理器間中斷 (IPI)等。在一個實施例中,如果特許事件在VMM工作期間出現(xiàn),則路由選擇邏輯用來標識 被指定處理這個特許事件的VMM。如果指定VMM不是當前正在工作的VMM,則與該特許事件 有關(guān)的信息被傳遞到指定VMM,以及控制被轉(zhuǎn)到它。例如,在VMM 210工作期間出現(xiàn)的特許 事件5可能引起從VMM 210到VMM 212的轉(zhuǎn)變。然后,VMM 212處理該特許事件,并且可把 控制轉(zhuǎn)回給VMM 210。因此,在VMM 210與VMM212之間的交互中,VMM 210充當VM的角色。 因此,在一個實施例中,與以上針對VM與VMM之間的控制轉(zhuǎn)移所述的相似的VM出口和VM 入口機制用于在VMM之間轉(zhuǎn)移控制。圖3是用于處理具有多個VMM的虛擬機環(huán)境中的特許事件的過程300的一個實施 例的流程圖。該過程可通過可包括硬件(例如電路、專用邏輯、可編程邏輯、微碼等)、軟件 (例如運行于通用計算機系統(tǒng)或?qū)S脵C器的)或者它們兩者的組合的處理邏輯來執(zhí)行。參照圖3,過程300從處理邏輯檢測特許事件的出現(xiàn)(處理框302)開始。特許事 件為不是由當前運行的軟件處理的事件。這類特許事件可包括異常、中斷、平臺事件、“特 許”指令(其執(zhí)行引起VM出口的指令)的執(zhí)行等。特許事件可能在客戶軟件的操作期間或 者在VMM工作期間出現(xiàn)。在處理框304,處理邏輯確定多個VMM中哪一個將處理特許事件。確定可基于各種 因素,例如特許事件的特性、VMM可修改的指定字段的當前值、VMM的操作參數(shù)、客戶軟件的 操作參數(shù)等。在一個實例中,確定基于特許事件的類型,下面將結(jié)合圖4更詳細地論述。在 另一個實例中,確定基于多個VMM之一所配置的控制字段的當前值,下面將結(jié)合圖6更詳細 地論述。在又一個實例中,確定基于VMM的負荷和/或使用特性的評估,下面將結(jié)合圖7更 詳細地論述。在又一個實例中,確定基于上述因素的組合。一旦處理邏輯確定哪個VMM將處理特許事件,它把與特許事件有關(guān)的信息傳遞給 指定VMM,以及把控制轉(zhuǎn)到這個VMM(處理框306)。然后,VMM可自行處理該特許事件,或者 將其路由到客戶軟件進行處理。圖4、圖6和圖7說明標識用于處理特許事件的VMM的過程的示范實施例。這些過 程可通過可包括硬件(例如電路、專用邏輯、可編程邏輯、微碼等)、軟件(例如運行于通用 計算機系統(tǒng)或?qū)S脵C器的)或者它們兩者的組合的處理邏輯來執(zhí)行。參照圖4,過程400從處理邏輯在客戶軟件或VMM工作期間檢測特許事件的出現(xiàn) (處理框402)開始。在處理框404,處理邏輯標識特許事件的類型。隨后,處理邏輯確定哪 個VMM被指定為處理這種類型的特許事件(處理框406)。在一個實施例中,各事件類型靜 態(tài)地映射到特定VMM(例如采用硬編碼邏輯)。在另一個實施例中,確定是動態(tài)的,下面針對 圖6進行描述。在又一個實施例中,采用靜態(tài)確定的VMM和動態(tài)確定的VMM的組合。也就 是說,一些事件類型可靜態(tài)映射到相應的VMM,而另一些事件類型則可能需要某種附加處理 器操作進行確定。
      9
      如果當前工作的實體不是指定VMM(判定框408),則處理邏輯把控制轉(zhuǎn)到指定 VMM(處理框410)。在一個實施例中,到指定VMM的轉(zhuǎn)變可通過產(chǎn)生VM出口來實現(xiàn)?;蛘?, 本領(lǐng)域已知的其它任何機制可用于把控制轉(zhuǎn)到指定VMM。如果當前工作的實體是指定VMM,則事件被傳遞給當前運行的VMM(處理框412)。 在一個實施例中,事件到VMM的傳遞通過合成從VMM到其自身的VM出口來執(zhí)行。在另一個 實施例中,事件被傳遞,如它在非虛擬機環(huán)境中被傳遞那樣(例如通過經(jīng)由中斷描述符表 來引導或者引起到系統(tǒng)管理模式的轉(zhuǎn)變)。應當注意,本領(lǐng)域已知的各種其它機制可用于把 事件傳遞到當前運行的VMM。圖5說明根據(jù)本發(fā)明的一個實施例、具有兩個VMM的虛擬機環(huán)境中的過程400的 示范使用。兩個VMM其中之一(例如VMM508)被唯一指定為處理某些平臺事件(例如系統(tǒng) 管理中斷(31\0)、1 1、不可屏蔽中斷等)。VMM 508稱作平臺VMM(PVMM)。在一些實施例中, PVMM被指定為僅處理SMI。在其它實施例中,PVMM處理附加事件類型以及SMI。在其它實 施例中,采用多個PVMM,其中的每個處理不同的平臺事件。當特許事件出現(xiàn)時,路由選擇邏輯510確定事件的類型。如果事件是要由PVMM 508處理的平臺事件,則路由選擇邏輯510將其路由到VMM 508。否則,事件被路由到VMM 506。如圖5所示,路由選擇邏輯510可路由在客戶軟件的操作期間或者在VMM工作期間出 現(xiàn)的事件。事件到VMM的路由選擇根據(jù)當事件出現(xiàn)時什么實體正在運行可能有所不同。如果 客戶軟件正在運行,則到路由選擇邏輯510所選的VMM的轉(zhuǎn)變在一個實施例中經(jīng)由VM出口 來執(zhí)行。如果路由選擇邏輯所選的VMM當事件出現(xiàn)時正在運行,事件可通過各種機制傳遞 到VMM,如以上針對圖4所述。唯一地指定為處理某些平臺事件的第二 VMM的使用消除了硬件供應商與OS供 應商之間的產(chǎn)品相關(guān)性。也就是說,它允許平臺硬件供應商與OS供應商無關(guān)地開發(fā)第二 VMM(PVMM)的代碼。類似地,OS供應商可與硬件供應商無關(guān)地開發(fā)第一 VMM的代碼。另外, 執(zhí)行不同功能性的兩個VMM的使用增強系統(tǒng)安全性,以及限制需要被驗證安全性的代碼的暴露。參照圖6,過程600從處理邏輯在客戶軟件或VMM工作期間檢測特許事件的出現(xiàn) (處理框602)開始。在處理框604,處理邏輯接收標識特許事件的信息。隨后,處理邏輯訪 問控制用于處理特許事件的VMM的選擇的資源(例如存儲器內(nèi)數(shù)據(jù)結(jié)構(gòu)、處理器寄存器、平 臺芯片組中的存儲器、輸入_輸出裝置中的寄存器等)(處理框606),以及讀取與特許事件 的標識符關(guān)聯(lián)的資源字段的當前值(處理框608)。在一個實施例中,特許事件的標識符是特許事件的類型,以及處理邏輯采用特許 事件的類型來識別與這種類型的特許事件關(guān)聯(lián)的資源字段值。在另一個實施例中,標識信息標識與特許事件關(guān)聯(lián)的特定輸入-輸出地址。在這 個實施例中,處理邏輯分析與特許事件關(guān)聯(lián)的輸入_輸出訪問,確定訪問什么輸入_輸出地 址,然后采用這個輸入_輸出地址來查找與已確定輸入_輸出地址所屬的輸入_輸出地址 范圍關(guān)聯(lián)的資源字段值。在一個實施例中,資源字段的值在初始化期間被設(shè)置,并且不能修 改。在另一個實施例中,資源字段的值可由VMM(例如,主VMM)根據(jù)諸如安全性要求、VMM對 平臺的了解等因素動態(tài)配置。資源字段值的這種動態(tài)配置允許VMM功能性被分割,從而可能改進安全性、系統(tǒng)性能、開發(fā)方法等。此外,處理邏輯根據(jù)相應字段的當前值來確定哪個VMM被指定為處理特許事件 (處理框610),如果當前工作的實體不是指定的VMM(判定框612),則把控制轉(zhuǎn)到指定的 VMM(處理框614)。在一個實施例中,到指定VMM的轉(zhuǎn)變可通過產(chǎn)生VM出口來實現(xiàn)。或者, 到指定VMM的轉(zhuǎn)變可通過本領(lǐng)域的其它任何機制來實現(xiàn)。如果指定VMM為當前工作的實體,則處理邏輯把事件傳遞給那個VMM(處理框 616),如以上結(jié)合圖4和圖5所述。參照圖7,過程700從處理邏輯在客戶軟件或VMM的工作期間檢測特許事件的出現(xiàn) (處理框702)開始。在處理框704,處理邏輯標識系統(tǒng)中的各VMM的資源使用/負荷參數(shù)。 隨后,處理邏輯在負荷平衡的上下文中評估VMM的資源使用和/或負荷參數(shù)(處理框706), 并且根據(jù)以上負荷平衡評估來確定哪一個VMM是用于處理特許事件的最佳候選者(處理框 708)。此外,如果當前工作的實體不是標識為最佳候選者的VMM(判定框712),則處理邏輯 把控制轉(zhuǎn)到所標識的VMM(處理框714)。在一個實施例中,到所標識VMM的轉(zhuǎn)變可通過產(chǎn)生 VM出口來實現(xiàn)?;蛘?,到所標識VMM的轉(zhuǎn)變可通過本領(lǐng)域的其它任何機制來實現(xiàn)。如果指定VMM為當前工作的實體,則處理邏輯把事件傳遞給那個VMM(處理框 716),如以上結(jié)合圖4-6所述。這樣,描述了采用多個VMM來處理特許事件的方法及設(shè)備。應當理解,以上描述只 是說明性而不是限制性的。通過閱讀和理解以上描述,本領(lǐng)域的技術(shù)人員將會十分清楚其 它許多實施例。因此,本發(fā)明的范圍應當參照所附權(quán)利要求以及這些權(quán)利要求涵蓋的完整 等效范圍共同確定。
      權(quán)利要求
      一種使用多個虛擬機監(jiān)控器來處理特許事件的方法,該方法包括在具有客戶軟件和多個虛擬機監(jiān)控器(VMM)的虛擬機(VM)環(huán)境中檢測多個特許事件之一的出現(xiàn),其中所述多個虛擬機監(jiān)控器被指定為處理不能由所述虛擬機環(huán)境中的所述客戶軟件處理的所述多個特許事件;根據(jù)所述檢測的特許事件的特性或所述虛擬機監(jiān)控器的特性中的至少其中之一確定所述多個虛擬機監(jiān)控器中的哪一個將處理所述檢測的特許事件;以及把控制轉(zhuǎn)到所述多個VMM中所述的一個。
      2.如權(quán)利要求1所述的方法,其特征在于,所述多個VMM包括主VMM和一個或多個并行
      3.如權(quán)利要求1所述的方法,其特征在于,確定多個VMM中的哪一個將處理所述檢測的 特許事件包括確定所述檢測的特許事件的類型;以及標識被指定為處理所確定類型的特許事件的所述多個VMM的其中之一。
      4.如權(quán)利要求1所述的方法,其特征在于,確定多個VMM中哪一個將處理所述檢測的特 許事件包括訪問資源中與所述檢測的特許事件關(guān)聯(lián)的字段;以及根據(jù)所述字段的值來標識被指定為處理所述檢測的特許事件的所述多個VMM其中之ο
      5.如權(quán)利要求4所述的方法,其特征在于,與所述檢測的特許事件關(guān)聯(lián)的所述字段是 與所述檢測的特許事件的類型關(guān)聯(lián)的字段。
      6.如權(quán)利要求4所述的方法,其特征在于,與所述檢測的特許事件關(guān)聯(lián)的所述字段是 與所述檢測的特許事件的輸入-輸出地址所屬的輸入-輸出地址范圍關(guān)聯(lián)的字段。
      7.如權(quán)利要求4所述的方法,其特征在于,與所述檢測的特許事件關(guān)聯(lián)的所述字段的 所述值是預先確定的或者是可動態(tài)配置的。
      8.如權(quán)利要求1所述的方法,其特征在于,確定多個VMM中哪一個將處理所述檢測的特 許事件包括評估所述多個VMM的資源使用參數(shù);以及根據(jù)所述資源使用參數(shù)的評估來標識被指定為處理所述檢測的特許事件的所述多個 VMM其中之一。
      9.如權(quán)利要求4所述的方法,其特征在于,所述資源駐留在存儲器、處理器、芯片組和 輸入-輸出裝置其中的任一種中。
      10.如權(quán)利要求1所述的方法,其特征在于,所述檢測的特許事件表示中斷、異常、特許 指令的執(zhí)行和平臺事件其中的任一種。
      11.如權(quán)利要求1所述的方法,其特征在于,所述檢測的特許事件在客戶軟件工作期間 出現(xiàn)。
      12.如權(quán)利要求1所述的方法,其特征在于,所述檢測的特許事件在所述多個VMM其中 之一工作期間出現(xiàn)。
      13.一種使用多個虛擬機監(jiān)控器來處理特許事件的系統(tǒng),該系統(tǒng)包括多個被指定為處理多個特許事件的虛擬機監(jiān)控器(VMM);以及路由選擇邏輯,檢測不能由客戶軟件處理的所述多個特許事件之一的出現(xiàn),根據(jù)所述 檢測的特許事件的特性或所述虛擬機監(jiān)控器的特性的至少其中之一確定所述多個VMM中 的哪一個將處理所述檢測的特許事件,以及把控制轉(zhuǎn)到所述多個VMM中所述的一個。
      14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述多個VMM包括主VMM和一個或多個并 行 VMM。
      15.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述路由選擇邏輯通過確定所述特許事 件的類型以及標識被指定為處理所確定類型的特許事件的所述多個VMM其中之一,確定所 述多個VMM中哪一個將處理所述檢測的特許事件。
      16.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述路由選擇邏輯通過評估所述多個VMM 的資源使用參數(shù)以及根據(jù)所述資源使用參數(shù)的評估來標識被指定為處理所述檢測的特許 事件的所述多個VMM其中之一,確定所述多個VMM中哪一個將處理所述檢測的特許事件。
      17.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述檢測的特許事件表示中斷、異常、特 許指令的執(zhí)行和平臺事件其中的任一種。
      18.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述檢測的特許事件在客戶軟件工作期 間出現(xiàn)。
      19.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述檢測的特許事件在所述多個VMM其中 之一工作期間出現(xiàn)。
      20.一種使用多個虛擬機監(jiān)控器來處理特許事件的系統(tǒng),該系統(tǒng)包括存儲器,其中存儲了客戶軟件和多個被指定為處理多個特許事件的虛擬機監(jiān)控器 (VMM);以及處理器,耦合到所述存儲器,執(zhí)行所述客戶軟件,檢測不能由所述客戶軟件處理的所述 多個特許事件之一的出現(xiàn),根據(jù)所述檢測的特許事件的特性或所述虛擬機監(jiān)控器的特性的 至少其中之一確定所述多個VMM中的哪一個將處理所述檢測的特許事件,以及把控制轉(zhuǎn)到 所述多個VMM中所述的一個。
      21.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述多個VMM包括主VMM和一個或多個并 行 VMM。
      22.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述處理器通過確定所述特許事件的類 型以及標識被指定為處理所確定類型的特許事件的所述多個VMM其中之一,確定所述多個 VMM中哪一個將處理所述檢測的特許事件。
      23.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述處理器通過評估所述多個VMM的資源 使用參數(shù)以及根據(jù)所述資源使用參數(shù)的評估來標識被指定為處理所述檢測的特許事件的 所述多個VMM其中之一,確定所述多個VMM中哪一個將處理所述檢測的特許事件。
      24.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述特許事件表示中斷、異常、特許指令 的執(zhí)行和平臺事件其中的任一種。
      25.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述檢測的特許事件在客戶軟件和所述 多個VMM其中之一的任一個工作期間出現(xiàn)。
      26.—種產(chǎn)品,該產(chǎn)品包括在具有客戶軟件和多個虛擬機監(jiān)控器(VMM)的虛擬機(VM)環(huán)境中檢測多個特許事件 之一的出現(xiàn)的部件,其中所述多個虛擬機監(jiān)控器被指定為處理不能由所述虛擬機環(huán)境中的所述客戶軟件處理的所述多個特許事件;根據(jù)所述檢測的特許事件的特性或所述虛擬機監(jiān)控器的特性中的至少其中之一確定 所述多個虛擬機監(jiān)控器中的哪一個將處理所述檢測的特許事件的部件;以及 把控制轉(zhuǎn)到所述多個VMM中所述的一個的部件。
      27.如權(quán)利要求26所述的產(chǎn)品,其特征在于,所述多個VMM包括主VMM和一個或多個并 行 VMM。
      28.如權(quán)利要求26所述的產(chǎn)品,其特征在于,所述檢測的特許事件表示中斷、異常、特 許指令的執(zhí)行和平臺事件其中的任一種。
      29.如權(quán)利要求26所述的產(chǎn)品,其特征在于,所述檢測的特許事件在客戶軟件和所述 多個VMM其中之一的任一個工作期間出現(xiàn)。
      全文摘要
      本發(fā)明涉及使用多個虛擬機監(jiān)控器處理特許事件的方法、系統(tǒng)和產(chǎn)品。在一個實施例中,用于處理虛擬機環(huán)境中的特許事件的方法包括檢測特許事件的出現(xiàn)、確定多個虛擬機監(jiān)控器VMM中哪一個將處理特許事件以及把控制轉(zhuǎn)到這個VMM。
      文檔編號G06F9/455GK101976202SQ20101053670
      公開日2011年2月16日 申請日期2004年9月10日 優(yōu)先權(quán)日2003年9月15日
      發(fā)明者A·卡吉, A·安德遜, E·科塔-羅布爾斯, G·奈格, L·史密斯三世, R·烏利希, S·羅杰斯, S·耶亞辛, S·貝內(nèi)特 申請人:英特爾公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1