欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

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

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