VMX的目的是简化虚拟化开发以及提升虚拟化应用的执行效率,跟传统的操作系统以及
驱动、进程没有关系,跟所谓Hook更没关系。你非要把这种“陷入/模拟”的执行流程
叫做一种hook也无不可。
虚拟化的本质是要获取全部硬件的控制权,拦截在硬件和传统操作系统之间。在传统操作系统
看来跟执行在真正的硬件上没有差别(等价性原则)。
虽然VMX指令一般执行在ring0权限,但VMX root 和VMX Non-root与特权级是不同的
概念,VMX root下也有ring0,ring3特权级,或者说你可以开发一个完全跑在 VMX root下
的操作系统。
换种方式说,成功执行了VMXON指令,就进入了VMX root模式。此时执行的代码就是VMM
或者叫hypervisor。VMM调度vCPU的执行,通过VMLAUNCH/VMRESUME使CPU执行在
VMX non-root下时,称为guest。
VMX root -1层 VMX non-root是0层 3层