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