英特尔的VT-x技术是什么?
http://hi.baidu.com/serverexpert/blog/item/b8292d52754525561138c24f.html
最近看了一本書講述CPU及軟硬件虛擬化技術, 好象是復旦大學出的。寫一些東西,?分享一些體會。
?Intel Virtualization技術可以分成CPU處理器VT技術(VT-x),芯片組VT技術(VT-d)和網絡VT技術(VT-c):
VT-x技術:
Intel VT中的VT-x技術是CPU的硬件虛擬化技術,VT可以同時提升虛擬化效率和虛擬機的安全性,在x86平臺上的VT技術,一般稱之為VT-x,而在Itanium平臺上的VT技術,被稱之為VT-i。
VT-x擴展了傳統的x86處理器架構,它引入了兩種操作模式:VMX root operation(根虛擬化操作)和VMX non-root operation(非根虛擬化操作),統稱為VMX操作模式。VMX root operation是VMM運行所處的模式,?設計給VMM/Hypervisor使用,其行為跟傳統的IA32并無特別不同,而VMX non-root operation則是客戶機運行所處的模式,在VMM控制之下的IA32/64環境。所有的模式都能支持所有的四個Privileges levels。
由此,GDT、IDT、LDT、TSS等這些指令就能正常地運行于虛擬機內部了,而在以往,這些特權指令需要模擬運行。而VMM也能從模擬運行特權指令當中解放出來,這樣既能解決Ring Aliasing問題(軟件運行的實際Ring與設計運行的Ring不相同帶來的問題),又能解決Ring Compression問題,從而大大地提升運行效率。Ring Compression問題的解決,也就解決了64bit客戶操作系統的運行問題。
?為了建立這種兩個操作模式的架構,VT-x設計了一個Virtual-Machine Control Structure(VMCS,虛擬機控制結構)的數據結構,包括了Guest-State Area(客戶狀態區)和Host-State Area(主機狀態區),用來保存虛擬機以及主機的各種狀態參數,并提供了VM entry和VM exit兩種操作在虛擬機與VMM之間切換,用戶可以通過在VMCS的VM-execution control fields里面指定在執行何種指令/發生何種事件的時候,VMX non-root operation環境下的虛擬機就執行VM exit,從而讓VMM獲得控制權,因此VT-x解決了虛擬機的隔離問題,又解決了性能問題。EPT和VPID技術是內存 虛擬化技術,?是頁表擴充技術Extended Page Table (EPT)?的縮寫,?是VT-x技術的一部分。 內存虛擬化的主要任務是實現地址空間的虛擬化,內存虛擬化是通過兩次地址轉換來支持地址空間的虛擬化,即客戶機虛擬地址GVA->客戶機器物理地址GPA->宿主機物理地址HPA的轉換。傳統的IA-32只支持一次地址轉換。而內存虛擬化要求2次內存轉換。即VMM根據GVA-GPA-HPA的映射關系計算”影子頁表”,?軟件實現缺點是內存開銷大,而且性能差。EPT技術直接在硬件上支持了GVA-GPA-HPA的兩次地址轉換. VPID是Virtual Processor IDs的縮寫,它是一種硬件級的對TLB資源管理的優化,通過在硬件上為每個TLB項增加一個標志,來標識不同的虛擬處理器的地址空間,區分開VMM以及不同的虛擬機的不同虛擬處理器的TLB。為實現這些功能,VT-x為EPT和VMM增加了一些特別的指令,?如INVERT, INVLPG等,?因此它需要軟件的支持?,F有VMWare ESX 4.0, Xen 3.4以上都支持了這一功能,?這些內存硬件虛擬技術大大降低了內存虛擬化的難度,提高了性能。
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的英特尔的VT-x技术是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tc351i 发送短信息 代码
- 下一篇: 编译ARM平台的QtEmbedded 的