ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

CPU虚拟化 VT-x:硬件支持

CPU虚拟化 VT-x:硬件支持 CPU虚拟化 VT-x硬件支持从图中可以看到对于CPU虚拟化对应的技术是VT-x。概述VT-x引入了两种操作模式统称为VMX操作模式VMX Root OperationVMM所处的模式VMX Non-Root Operation客户机所处的模式注意Ring 0/3是权限层级特权级而根/非根是执行模式上下文环境。它们是一个二维矩阵运行在根模式下的代码可以是Ring 0Hypervisor内核也可以是Ring 3宿主机用户态进程。运行在非根模式下的代码既可以是Ring 0Guest内核也可以是Ring 3Guest应用。这两种操作模式之间如何进行切换呢VM-Entry切入VMM通过执行 VMLAUNCH 或 VMRESUME 指令CPU从根模式“瞬移”进非根模式开始执行Guest代码。VM-Exit退出当非根模式下的Guest执行了敏感指令如 CPUID、IN/OUT、MOV CR3或发生缺页异常、外部中断时CPU被硬件强制“弹出”立即保存现场存进VMCS切回根模式交给VMM处理。VMCSVMCS虚拟机控制结构它保存了虚拟CPU需要的相关状态。VMCS是保存在内存中的数据结构包含了虚拟CPU的相关寄存器内容和控制信息每个VMCS对应一个虚拟CPU。VMCS在使用时需要与物理CPU进行绑定。在任意给定时刻VMCS与物理CPU是一对一的关系。VMCS在不同时刻可以绑定到不同的物理CPU这种绑定关系的变换称为VMCS的“迁移”。操作指令VT-x提供了两条指令用于VMCS的绑定与解除绑定VMPTRLD [VMCS Address]将指定的VMCS与执行该指令的CPU绑定VMCLEAR将执行该执行的CPU与VMCS解除绑定。该指令会将物理CPU缓存中的VMCS结构同步到内存中去从而保证VMCS和新的物理CPU绑定时内存中的值是最新的。VMCS结构VMX操作模式
返回列表