处理器虚拟化——VMX
Intel提供3個層面的虛擬化技術(Intel Virtualization Technology)
1.基于處理器的虛擬化技術(Intel VT-X) 全稱為 Virtualization Technology for x86
2.基于PCI總線域設備實現(xiàn)的I/O虛擬化技術(Intel VT-D) 全稱為Virtualization Technology for Directed I/O
3.基于網(wǎng)絡的虛擬化技術(Intel VT-C) 全稱為Virtualization Technology for Connectify
VT 是對資源的虛擬化管理的結果
在CPU端的虛擬化里 實現(xiàn)了VMX(Virtual-Machine Extensions,虛擬機擴展)架構
包含兩種角色環(huán)境 VMM(Virtual Machine Monitor,虛擬機監(jiān)管者)host
VM(Virtual Machine,虛擬機)guest
guest端軟件訪問的資源受到VMM的監(jiān)管
VMM通過EPT(Extend Page Table,擴展頁表)來實現(xiàn)“guest端物理地址到Host端物理地址”的轉化
使得Guest訪問到其他的物理區(qū)域
在開啟EPT機制下 會產(chǎn)生兩個地址概念:GPA(Guest Physical Address) 和 HPA(Host Physical Address)
HPA 真正的物理地址
在VMX架構下 至少需要實現(xiàn)一個“VMXON region” 以及 “VMCS region”的物理區(qū)域
VMXON區(qū)域對應于VMM VMM使用VMXON區(qū)域對一些數(shù)據(jù)進行記錄和維護
每個VM需要對應自己的VMCS(VIrtual Machine Structure 虛擬機控制結構)
VMM使用VMCS來配置VM的運行環(huán)境 以及控制VM的運行
檢測VMX支持
VMX支持 檢測CPUID.01H:ECX[5].VMX位來確定是否支持VMX架構 1表示支持
開啟VMX進入允許
要開啟VMX operation模式 必須先開啟CR4.VMXE控制位 1表示開啟
VMX root operation模式處理器的CPL(Current Privilege Level) 必須為0 VMM運行的環(huán)境
VMX non-root operation VM運行的環(huán)境
root ----------> non root VM-entry
non-root ---------> root VM-exit
導致VM exit發(fā)生的三大類途徑如下。
1) 執(zhí)行無條件引發(fā)VM exit的指令。包括CPUID,GETSEC,INVD與XSETBV指令以及所有的VMX指令(除了VMFUNC指令)
2) 遇到無條件引發(fā)VM exit的未被阻塞的事件。例如,INT信號,SIPI消息等。
3) 遇到VMM設置引發(fā)VM exit的條件,包括執(zhí)行某些指令或者遇到某些事件發(fā)生。
總結
以上是生活随笔為你收集整理的处理器虚拟化——VMX的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样为wordpress主题的文章列表添
- 下一篇: 标记为可序列化