购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.1 VMX操作模式

为了弥补“虚拟化漏洞”,Intel VT-x引入了VMX(Virtual Machine eXtension,虚拟机扩展)操作模式,CPU可以通过VMXON/VMXOFF指令打开或关闭VMX操作模式。VMX操作模式类似于前述虚拟化模式,包含根模式与非根模式,其中Hypervisor运行在根模式,虚拟机则运行在非根模式,VMX模式下敏感指令处理示意图如图2-4所示。

图2-4 VMX模式下敏感指令处理示意图

CPU从根模式切换为非根模式称为VM-Entry,从非根模式切换为根模式则称为VM-Exit。值得注意的是,根模式与非根模式都有各自的特权级(Ring0~Ring3),虚拟机操作系统和应用程序分别运行在非根模式的Ring0和Ring3特权级中,而Hypervisor通常运行在根模式的Ring0特权级,解决了三者的特权级的划分问题。Intel VT-x改变了非根模式下敏感非特权指令的语义,使它们能够触发VM-Exit,而根模式指令的语义保持不变。处于非根模式的虚拟机执行敏感指令将会触发VM-Exit,陷入Hypervisor进行处理。Hypervisor读取VM-Exit相关信息,造成VM-Exit的原因(如I/O指令触发、外部中断触发等)并进行相应处理。处理完成后,Hypervisor调用VMLAUNCH/VMRESUME指令从根模式切换到非根模式,恢复虚拟机运行。 og9f4oCn7xBTX3oQCc3iVjzk6+WuohgPpVYNMNAeKM0fZPjw5HeoTYZ4U9bdeyoD

点击中间区域
呼出菜单
上一章
目录
下一章
×