專利名稱::用于完全虛擬化的地址空間變換方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及用于完全虛擬化的地址空間變換方法和設(shè)備;并更具體地,涉及當(dāng)使用不支持虛擬化的硬件對(duì)系統(tǒng)進(jìn)行虛擬化時(shí)能夠快速變換地址空間的、用于完全虛擬化的地址空間變換方法和設(shè)備。
背景技術(shù):
:圖I是用于解釋具有軟件基礎(chǔ)的傳統(tǒng)地址空間變換方法的圖。參考圖1,傳統(tǒng)地址空間變換方案將虛擬機(jī)10和虛擬機(jī)監(jiān)視器20的地址空間分配到相同地址空間。這是因?yàn)樘摂M機(jī)10和虛擬機(jī)監(jiān)視器20之間的上下文變換次數(shù)、以及用于上下文變換的成本與虛擬化的系統(tǒng)的性能成比例。換言之,為了提升虛擬化的系統(tǒng)的性能,優(yōu)選的是,使得虛擬機(jī)10和虛擬機(jī)監(jiān)視器20之間的上下文變換次數(shù)以及用于上下文變換的成本最小化。然而,盡管這樣的基于軟件的地址變換方法對(duì)于提升系統(tǒng)的性能是有效的,但是這引起虛擬機(jī)的地址空間壓縮的問題。即,這促使虛擬機(jī)中操作的客戶(guest)操作系統(tǒng)的內(nèi)核應(yīng)識(shí)別不可使用的硬件所提供的所有虛擬地址空間。這樣的基于軟件的地址空間變換方法的問題可通過使用一般操作系統(tǒng)沒有使用的0-4KB空間來解決。然而,這樣的方案也引起以下問題,即,不可能使得虛擬機(jī)監(jiān)視器具有各種功能,因?yàn)樘摂M機(jī)的尺寸限于4KB。圖2是解釋傳統(tǒng)的基于硬件的地址空間變換方法的圖。圖2中所示傳統(tǒng)的基于硬件的地址空間變換方法主要使用硬件制造商所提供的虛擬化方案。根據(jù)該方法,地址空間壓縮的問題可通過在操作時(shí)虛擬機(jī)30使用虛擬地址空間、而虛擬機(jī)監(jiān)視器40使用物理地址空間來解決。然而,這樣的基于硬件的地址空間變換方法具有的問題在于,其必須使用支持虛擬化的硬件制造商所提供的硬件,并且其不能在使用ARM(高級(jí)RISC機(jī)器)計(jì)算架構(gòu)的硬件中使用。其間,在完全虛擬化方案中,虛擬機(jī)沒有識(shí)別虛擬機(jī)監(jiān)視器,并使用硬件所提供的所有地址空間。由于此,虛擬機(jī)監(jiān)視器需要與虛擬機(jī)的地址空間不同的額外地址空間,并所以,提供附加地址空間用于虛擬機(jī)監(jiān)視器。然而,在這樣的完全虛擬化方案中,在虛擬機(jī)和虛擬機(jī)監(jiān)視器之間的上下文變換的情況下可發(fā)生開銷。
發(fā)明內(nèi)容考慮到以上情況,本發(fā)明的目的在于提供一種能夠解決地址空間壓縮的問題、并且即使當(dāng)使用諸如ARM計(jì)算架構(gòu)的不支持虛擬化的硬件時(shí)也能夠快速執(zhí)行地址變換的、用于完全虛擬化的地址空間變換方法和設(shè)備。根據(jù)本發(fā)明的第一方面,提供了一種用于完全虛擬化的虛擬機(jī)和虛擬機(jī)監(jiān)視器的地址空間變換設(shè)備,該設(shè)備包括向該虛擬機(jī)分配的虛擬機(jī)頁表,使得該虛擬機(jī)具有第一虛擬地址空間;向該虛擬機(jī)監(jiān)視器分配的虛擬機(jī)監(jiān)視器頁表,使得該虛擬機(jī)監(jiān)視器具有與該第一虛擬地址空間分離的第二虛擬地址空間;MMU(存儲(chǔ)管理単元),指示虛擬機(jī)頁表和虛擬機(jī)監(jiān)視器頁表之一,該頁表指示要對(duì)于虛擬機(jī)和虛擬機(jī)監(jiān)視器之間的地址空間變換而改變的地址空間;和地址空間管理器,通過使用在該第一虛擬地址空間和該第二虛擬地址空間兩者上反射的共享頁面,來進(jìn)行該地址空間變換。根據(jù)本發(fā)明的第一方面,提供了一種用于完全虛擬化的虛擬機(jī)和虛擬機(jī)監(jiān)視器的地址空間變換方法,該方法包括向該虛擬機(jī)提供虛擬機(jī)頁表,使得該虛擬機(jī)具有第一虛擬地址空間;向該虛擬機(jī)監(jiān)視器提供虛擬機(jī)監(jiān)視器頁表,使得該虛擬機(jī)監(jiān)視器具有與該第一虛擬地址空間分離的第二虛擬地址空間;在MMU(存儲(chǔ)管理単元)處指示虛擬機(jī)頁表和虛擬機(jī)監(jiān)視器頁表之一,該頁表指示要對(duì)于虛擬機(jī)和虛擬機(jī)監(jiān)視器之間的地址空間變換而改變的地址空間;和在地址空間管理器處通過使用在該第一虛擬地址空間和該第二虛擬地址空間兩者上反射的共享頁面,來進(jìn)行地址空間變換。根據(jù)結(jié)合附圖給出的實(shí)施例的以下描述,本發(fā)明的目的和特征將變得明顯,其中圖I是用于解釋具有軟件基礎(chǔ)的傳統(tǒng)的地址空間變換方法的圖;圖2是解釋傳統(tǒng)的基于硬件的地址空間變換方法的圖;圖3是示出了在根據(jù)本發(fā)明實(shí)施例的用于完全虛擬化的地址變換處理中使用的地址空間的圖;和圖4是示出了在根據(jù)本發(fā)明實(shí)施例的用于完全虛擬化的地址變換處理中的ASID(地址空間標(biāo)識(shí)符)分配關(guān)系的圖。具體實(shí)施例方式其后,將參考形成本發(fā)明一部分的附圖來描述本發(fā)明的實(shí)施例。圖3是示出了在根據(jù)本發(fā)明實(shí)施例的用于完全虛擬化的地址變換處理中使用的地址空間的圖。如圖3中所示,虛擬機(jī)110和虛擬機(jī)監(jiān)視器120獨(dú)立具有分離地址空間。為了使得虛擬機(jī)Iio和虛擬機(jī)監(jiān)視器120獨(dú)立具有分離地址空間,分別向虛擬機(jī)110和虛擬機(jī)監(jiān)視器120分配分離頁表,該分離頁表被劃分為虛擬機(jī)頁表130和虛擬機(jī)監(jiān)視器頁表140。作為用于地址空間變換的硬件組件的存儲(chǔ)管理単元(MM)150選擇性地指示代表要改變的地址空間的頁表,并改變ASID(地址空間標(biāo)識(shí)符)151中存儲(chǔ)的值,以便進(jìn)行地址空間的變換。這樣的地址空間的變換通過地址空間管理器160的共享頁面161進(jìn)行,并且將該共享頁面同時(shí)反射到兩個(gè)地址空間。當(dāng)變換地址空間時(shí),MM150的ASID151總計(jì)(cometo)具有ASID值N作為缺省,該值由虛擬機(jī)監(jiān)視器120使用。當(dāng)ASID151的值是匪150的TLB(變換后備緩沖器(TranslationLook-asideBuffer))153中存在的條目之中的N時(shí),通過頁表移動(dòng)(pagetablewalk)僅將TLB153中存儲(chǔ)的PTE(頁表?xiàng)l目)用作有效的。換言之,如果在開始進(jìn)入虛擬機(jī)監(jiān)視器120的時(shí)候?qū)MU150的ASID151設(shè)置為N,則虛擬化系統(tǒng)的某一硬件在進(jìn)行頁表移動(dòng)的時(shí)候,在MMU150的TLB153上寫入其ASID為N的用于虛擬化監(jiān)視器的PTE141。其后,當(dāng)從虛擬機(jī)110變換到虛擬機(jī)監(jiān)視器120吋,將不發(fā)生用于地址空間的變換的頁表移動(dòng)。所以,可使得成本最小化。虛擬機(jī)的ASID值N由地址空間管理器160的ASID管理器163保持,并且當(dāng)進(jìn)入虛擬機(jī)監(jiān)視器120時(shí)虛擬機(jī)110所使用的ASID值M也被保持。當(dāng)從虛擬機(jī)監(jiān)視器120變換到虛擬機(jī)110時(shí),將相反應(yīng)用上面解釋的處理。圖4是示出了在根據(jù)本發(fā)明實(shí)施例的用于完全虛擬化的地址變換處理中的ASID(地址空間標(biāo)識(shí)符)分配關(guān)系的圖。詳細(xì)來說,圖4示出了虛擬機(jī)監(jiān)視器120、客戶操作系統(tǒng)內(nèi)核170、和客戶操作系統(tǒng)處理180之間的ASID分配關(guān)系。一般來說,使用ASID的客戶操作系統(tǒng)內(nèi)核具有“全局”屬性,井向客戶操作系統(tǒng)處理分配ASID值用于每ー應(yīng)用。然而,根據(jù)本發(fā)明的實(shí)施例,向虛擬機(jī)監(jiān)視器120分配ー個(gè)ASID值。向虛擬機(jī)110分配從系統(tǒng)提供的ASID值之中的除了向虛擬機(jī)監(jiān)視器120分配的ASID值之外的ASID值。換言之,向虛擬機(jī)110中操作的客戶操作系統(tǒng)內(nèi)核170分配全局屬性,向虛擬機(jī)監(jiān)視器120分配ASID值N,并且向在其他虛擬機(jī)中操作的客戶操作系統(tǒng)處理180分配除了ASIDN之外的ASID值(例如,ASIDO、ASIDI、ASID2、......ASIDM)。例如,在ASID的管理中,可使用用于在完全虛擬化中提供特權(quán)(privileged)指令的一般方法。如上面解釋的,根據(jù)本發(fā)明的實(shí)施例,可能解決地址空間壓縮的問題,并且即使當(dāng)使用諸如ARM計(jì)算架構(gòu)的不支持虛擬化的硬件時(shí)也可能快速執(zhí)行地址變換。而且,可使得用于虛擬化的地址空間變換的成本最小化。盡管已針對(duì)實(shí)施例而示出和描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員將理解的是,可進(jìn)行各種改變和修改,而不脫離以下權(quán)利要求所限定的本發(fā)明的范圍。權(quán)利要求1.一種用于完全虛擬化的虛擬機(jī)和虛擬機(jī)監(jiān)視器的地址空間變換設(shè)備,該設(shè)備包括向該虛擬機(jī)分配的虛擬機(jī)頁表,使得該虛擬機(jī)具有第一虛擬地址空間;向該虛擬機(jī)監(jiān)視器分配的虛擬機(jī)監(jiān)視器頁表,使得該虛擬機(jī)監(jiān)視器具有與該第一虛擬地址空間分離的第二虛擬地址空間;MMU(存儲(chǔ)管理単元),指示該虛擬機(jī)頁表和該虛擬機(jī)監(jiān)視器頁表之一,該頁表指示要對(duì)于該虛擬機(jī)和該虛擬機(jī)監(jiān)視器之間的地址空間變換而改變的地址空間;和地址空間管理器,通過使用在該第一虛擬地址空間和該第二虛擬地址空間兩者上反射的共享頁面,來進(jìn)行地址空間變換。2.根據(jù)權(quán)利要求I的設(shè)備,其中該MMU具有當(dāng)執(zhí)行地址空間變換時(shí)由虛擬機(jī)監(jiān)視器使用的ASID(地址空間標(biāo)識(shí)符)值。3.根據(jù)權(quán)利要求2的設(shè)備,其中,當(dāng)TLB(變換后備緩沖器)中存在的條目中的ASID值是虛擬機(jī)監(jiān)視器所使用的ASID值時(shí),該MMU通過頁表移動(dòng)僅將TLB中存儲(chǔ)的PTE(頁表?xiàng)l目)用作有效的。4.根據(jù)權(quán)利要求2的設(shè)備,其中該地址空間管理器包括ASID管理器,用于保持在地址空間變換時(shí)的虛擬機(jī)的ASID值。5.根據(jù)權(quán)利要求4的設(shè)備,其中該ASID管理器保持在地址空間變換時(shí)的虛擬機(jī)的ASID值。6.一種用于完全虛擬化的虛擬機(jī)和虛擬機(jī)監(jiān)視器的地址空間變換方法,該方法包括向該虛擬機(jī)提供虛擬機(jī)頁表,使得該虛擬機(jī)具有第一虛擬地址空間;向該虛擬機(jī)監(jiān)視器提供虛擬機(jī)監(jiān)視器頁表,使得該虛擬機(jī)監(jiān)視器具有與該第一虛擬地址空間分離的第二虛擬地址空間;在MMU(存儲(chǔ)管理単元)處指示虛擬機(jī)頁表和虛擬機(jī)監(jiān)視器頁表之一,該頁表指示要對(duì)于虛擬機(jī)和虛擬機(jī)監(jiān)視器之間的地址空間變換而改變的地址空間;和在地址空間管理器處通過使用在該第一虛擬地址空間和該第二虛擬地址空間兩者上反射的共享頁面,來進(jìn)行地址空間變換。7.根據(jù)權(quán)利要求6的方法,其中所述指示虛擬機(jī)頁表和虛擬機(jī)監(jiān)視器頁表之一的步驟包括當(dāng)執(zhí)行地址空間變換時(shí),提供虛擬機(jī)監(jiān)視器所使用的ASID(地址空間標(biāo)識(shí)符)值。8.根據(jù)權(quán)利要求7的方法,其中當(dāng)TLB(變換后備緩沖器)中存在的條目中的ASID值是虛擬機(jī)監(jiān)視器所使用的ASID值時(shí),該MMU通過頁表移動(dòng)僅將TLB中存儲(chǔ)的PTE(頁表?xiàng)l目)用作有效的。9.根據(jù)權(quán)利要求6的方法,其中該地址空間管理器保持在執(zhí)行地址空間變換時(shí)的虛擬機(jī)的ASID值。10.根據(jù)權(quán)利要求9的方法,其中該ASID管理器保持在執(zhí)行地址空間變換時(shí)的虛擬機(jī)的ASID值。全文摘要一種用于完全虛擬化的虛擬機(jī)和虛擬機(jī)監(jiān)視器的地址空間變換設(shè)備包括向該虛擬機(jī)分配的虛擬機(jī)頁表,使得該虛擬機(jī)具有第一虛擬地址空間;向該虛擬機(jī)監(jiān)視器分配的虛擬機(jī)監(jiān)視器頁表,使得該虛擬機(jī)監(jiān)視器具有與該第一虛擬地址空間分離的第二虛擬地址空間;MMU(存儲(chǔ)管理單元),指示虛擬機(jī)頁表和虛擬機(jī)監(jiān)視器頁表之一,該頁表指示要對(duì)于虛擬機(jī)和虛擬機(jī)監(jiān)視器之間的地址空間變換而改變的地址空間;和地址空間管理器,通過使用在該第一虛擬地址空間和該第二虛擬地址空間兩者上反射的共享頁面,來進(jìn)行該地址空間變換。文檔編號(hào)G06F9/455GK102662722SQ20111043682公開日2012年9月12日申請(qǐng)日期2011年12月23日優(yōu)先權(quán)日2010年12月23日發(fā)明者吳守哲,金康好,高廣源申請(qǐng)人:韓國(guó)電子通信研究院