當前位置

首頁 > 商務英語 > 實用英語 > 電腦cpu的vt是什麼意思

電腦cpu的vt是什麼意思

推薦人: 來源: 閱讀: 1.81W 次

大家誰知道電腦CPU的VT是什麼意思啊?我們來了解看看。下面是本站小編給大家整理的電腦cpu的vt是什麼意思,供大家參閱!

電腦cpu的vt是什麼意思
  電腦cpu的vt是什麼意思

被稱爲Vanderpool的虛擬技術簡稱VT,是英特爾公司處理器市場策略的一部分,英特爾公司的策略是向用戶提供的實用功能而不是增長的性能。VT能夠使用戶在他們的個人電腦上建立多套虛擬的運行環境以便能夠使同一臺個人電腦上能夠運行不同的操作系統。VT還能夠允許IT技術管理員下載系統補丁或者升級個人電腦的一部分的同時,用戶能夠在另一個虛擬環境中運行他們的應用程序。

  VT技術存在的問題

在採用英特爾® 架構(IA)的系統上,虛擬化是一種純軟件解決方案。Microsoft Virtual Server* 、Virtual PC*、VMware ESX* 和 Workstation* 等產品(稱爲“虛擬機* ”(VMM*))可處理英特爾架構系統的所有虛擬化問題。由於 VMM 必須創建一種規則,使主機操作系統直接與硬件進行通信,因此它必須採取一些措施。虛擬機主要採用以下兩種方法:

半虛擬化:此項技術要求更改操作系統、特別是內核的源代碼,以便其能夠在指定的 VMM 上運行。此方法類似於大型機方法,其中定製操作系統擴展與硬件配合密切。當然,半虛擬化將不能與商業化操作系統協作。

二進制譯碼:VMM 在操作系統二進制代碼加載到虛擬機時對其進行更改。這一方法在支持英特爾架構的商業產品中十分常見,唯一的限制是只能安裝特定版本的操作系統,而新版本的操作系統均需要測試和驗證,並可能要求對 VMM 軟件進行升級。

兩款解決方案共同的問題在於軟件無法與基礎硬件協同工作,因此必須採用一些複雜的方案向軟件模擬某些硬件特性,同時讓主機操作系統誤認爲該虛擬機是另一個應用。此外,VMM 還面臨着其它技術挑戰。

  VT技術的作用

VT的目的是在儘可能最小化程序員痛苦的同時儘可能多的增加“virtualization holes”(虛擬化孔)。這種解決方案中,VT-X針對X86而VT-i針對Itanium,分別引入了一種新的模式針對不同的CPU.這裏我們主要來看看VT-X,實際上VT-i的功能與VT-X有很多相同的地方。

這種新的模式被稱爲VMX,並且引入了一個虛擬化機監控器VMM運行於其中。它被設定在R0級別下,你可以認爲是R-1級或者看成是在環的旁邊運行。主機操作系統和所有的程序在VMX模式中運行,與此同時VMM運行在VMX根模式中。

任何一個運行在VMX模式下的操作系統,都擁有所有運行於非VT系統中的一般操作系統的功能和特性。它也處在R0級別中,與平常一樣有權利處理每一件事情,而且並不知道有什麼東西正在它的旁邊運行。當情況得到授權,CPU進入VMX根模式,VMM就可以切換到其他一個運行在另一VMX實例的操作系統。這些切換被稱做VM登錄和VM退出。

VT技術所表現出來的不可思議的地方就在於它將從VMX模式到VMX根模式(或從VMX根模式到VMX模式)的登錄和退出處理易於操作。一旦主機操作系統被涉及到,那它一定是獨自處在自己的世界裏的,你必須保存虛擬化世界的完整狀態並當你返回時重新載入它。雖然在VT裏還有很多事物要去處理,但它被設計爲一項任務,所以客觀地說它實際是一個簡單而並不費力的進程。

因爲每一個操作系統實例都在正確的位置運行,所以前面所提到的4個問題也就不存在了。相關聯的工作區也不再需要,與此有關的系統開銷沒有了。這些能有效提高速度。但這些並非免費,只是付出的代價要少很多。

啓動一個新的主機操作系統,你需爲其留出一塊4kB的存儲區並將它傳遞給一個VMPTLRD指令。這塊區域將用來存儲該系統實例不被激活時的所有狀態和重要Bit位。只要該操作系統實例存在,則這塊區域一直有效,直到在其上運行一條VMCLEAR指令。這樣就設立了一個虛擬化機實例。

如果你想要把控制權交給虛擬化機,你要麼登錄VMX非根模式或簡單一點,運行VMX模式即可。這些提到的VM登錄指令就是VMLAUNCH和VMRESUME,兩者並沒有太大的區別。VMRESUME指令只是簡單地從剛開始已經初始化的4kB存儲區裏載入CPU狀態,並把控制權交給主機操作系統。VMLAUNCH做的也是同樣的工作,但它會啓動一個虛擬化機控制構件VMCS,它包含一些設立VM的現場背後的記錄,因爲這需花費一些時間,所以人們儘量避免在併發登錄時使用VMLAUNCH.

從這一點來看,主機操作系統開始了它的愉快之旅,儘可能地運轉,毫無察覺是否有其他東西正在它的一旁運行。正如過去所計劃的一樣,它存在於自己的世界裏,全速運行,或接近全速。唯一的問題是你如何打破這一切美好的景象而將它關閉到一邊,以使得機器裏的其他操作系統能真正運行。這就是VT技術所體現出來的複雜的一面——VMCS中一些特別的位映像。

這些位映像是一些32位的字段,每一個Bit位標誌一個事件。如果某個事件被觸發,則對應的Bit位被置位,CPU觸發一條VM退出指令,並將控制權返還給運行在VMX根模式下的可做任何想做的事,然後將VMRESUME指令傳遞給下一個操作系統,或剛離開的那個操作系統。這個被啓動的操作系統同樣很好地運行着,直到觸發另一條VM退出指令。如此這樣以每秒上千次的速度重複着。

什麼能觸發這些指令呢?它們可以是引腳信號、CPU、異常和頁面錯誤這些平臺事件,所有這些都會觸發VM退出指令。VT技術的完美之處在於它有很強的適應性,另一個與此類似之處就是在調試程序中設置斷點,你可在每個事件上都設置一個,或者一個也不設置,這都取決於你自己。

引腳信號事件要做的是當有一個內部中斷或一個不可屏蔽中斷髮生時,則觸發退出指令。而CPU事件,則是當你設置任意Bit位在某一字段,當相應的CPU狀態接收到它時,則觸發退出指令。雖然大多數指令需要去設置,但也有一些指令無條件地引發VM退出指令。這是在一個非常細小的層面上控制VM,允許每當你需要時登錄和退出。

異常位映像也是一些32位的字段,每個Bit位標誌每個32位指令地址的異常情況。如果Bit位被設定並有一個異常被拋出,它就會引發VM退出指令。如果Bit位是空的或沒有異常,那麼主機操作系統則繼續它的快樂之旅,與平常一樣。這是一種從VMX模式退出而進入VMX根模式的系統開銷非常低的方法。

最後還有頁面錯誤退出,它與異常退出十分相像,只不過它用兩個32位字段來控制。這些字段內的Bit位對每一個可能出問題的頁面錯誤代碼進行映像,因此你可細心地從中挑選從哪裏退出。同樣,它也是基於很細小的層面,系統開銷也很低。

在計算機裏,VT工作在一個比傳統的R0環更有特權的級別中。任何一個主機操作系統都可在沒有改變的舊有架構下運行,並且不知道一個控制程序在控制它們。當遭遇到某些用戶設置的觸發器,控制權將被轉交給運行在更高級別的VMX根模式上的VMM.因爲這是一種被動觸發事件,而不需被積極監視,因此係統開銷降到了最低限。

VT技術使得安裝和卸載那些比以往VM模式更穩定的運行環境變得簡單。如果你需運行虛擬化系統,沒有理由不用一個擁有Vanderpool功能的CPU去實現它,而軟件虛擬化機會逐漸不被人關注。

這也許不錯,但必須記得,這必須付出代價。每一次登錄意味着建立4kB的存儲區域,每一次退出要向這4kB存儲區內寫入數據。這看上去有些耗費過多,可與那些較老的方式比較,它的速度驚人地快。