看IaaS 资料时,捎带研究下硬件虚拟化,主要参考《基于intel VT-x 的Xen
全虚拟化实现》,《intel 开发手册 第三卷 19/20章》
Intel VT 是intel
X86架构的CPU硬件虚拟化技术,新增两种模式:
- VM root: 即虚拟机管理系统运行模式;
- VM non root:即虚拟机运行模式;
如下图:
VMXON、VMXOFF用以实现打开或关闭虚拟化功能;
VM Exit和VM Entry 用以实现non
root和root之间的切换;这种转换被VMCS(VM Control
Structure)这个数据结构控制,对每一个虚拟CPU都会对应一个VMCS。
VMCS包含六个域,分别是:
- Guest-State Area: 处理器状态在VM
Exit时被保存,在进入VM Entry时被加载,即退出non root时保存客户机状态; - Host State Area: 处理器状态在VM
Exit被加载; - VM Excution Control Field,定义vm在non
root下的执行行为,哪些指令会切换到root; - VM Entry 控制域
- VM Exit 控制域
- VM Exit 信息域,记录上一次VM
Exit信息
举例Xen:
当需要执行一些特权指令时(如I/O控制访问),切入root模式,Xen取得控制权,通过VMCX中的信息得知VM
Exit的原因,调用vmx_vmexit_handler执行;
在Windows系统上实现轻量级的线程间及进程间消息队列,布布扣,bubuko.com
时间: 2024-08-04 08:37:42