VT-x是intel運用Virtualization虛擬化技術中的一個指令集,是CPU的硬件虛擬化技術,VT可以同時提升虛擬化效率和虛擬機的安全性,在x86平臺上的VT技術,一般稱之為VT-x,而在Itanium平臺上的VT技術,被稱之為VT-i。
VT-x有助于提高基于軟件的虛擬化解決方案的靈活性與穩(wěn)定性。通過按照純軟件虛擬化的要求消除虛擬機監(jiān)視器(VMM)代表客戶操作系統(tǒng)來聽取、中斷與執(zhí)行特定指令的需要,不僅能夠有效減少 VMM 干預,還為 VMM 與客戶操作系統(tǒng)之間的傳輸平臺控制提供了有力的硬件支持,這樣在需要 VMM干預時,將實現(xiàn)更加快速、可靠和安全的切換。
此外,英特爾VT-x 具備的虛擬機遷移特性還可為您的 IT 投資提供有力保護,并進一步提高故障切換、負載均衡、災難恢復和維護的靈活性。
VT-x擴展了傳統(tǒng)的x86處理器架構(gòu),它引入了兩種操作模式:VMX root operation(根虛擬化操作)和VMX non-root operation(非根虛擬化操作),統(tǒng)稱為VMX操作模式。VMX root operation是VMM運行所處的模式, 設計給VMM/Hypervisor使用,其行為跟傳統(tǒng)的IA32并無特別不同,而VMX non-root operation則是客戶機運行所處的模式,在VMM控制之下的IA32/64環(huán)境。所有的模式都能支持所有的四個Privileges levels。
由此,GDT、IDT、LDT、TSS等這些指令就能正常地運行于虛擬機內(nèi)部了,而在以往,這些特權指令需要模擬運行。 而VMM也能從模擬運行特權指令當中解放出來,這樣既能解決Ring Aliasing問題(軟件運行的實際Ring與設計運行的Ring不相同帶來的問題),又能解決Ring Compression問題,從而大大地提升運行效率。Ring Compression問題的解決,也就解決了64bit客戶操作系統(tǒng)的運行問題。
為了建立這種兩個操作模式的架構(gòu),VT-x設計了一個Virtual-Machine Control Structure(VMCS,虛擬機控制結(jié)構(gòu))的數(shù)據(jù)結(jié)構(gòu),包括了Guest-State Area(客戶狀態(tài)區(qū))和Host-State Area(主機狀態(tài)區(qū)),用來保存虛擬機以及主機的各種狀態(tài)參數(shù),并提供了VM entry和VM exit兩種操作在虛擬機與VMM之間切換,用戶可以通過在VMCS的VM-execution control fields里面指定在執(zhí)行何種指令/發(fā)生何種事件的時候,VMX non-root operation環(huán)境下的虛擬機就執(zhí)行VM exit,從而讓VMM獲得控制權,因此VT-x解決了虛擬機的隔離問題,又解決了性能問題。