1

启用硬件虚拟化后实际会发生什么?如果不是,管理程序使用二进制转换。但是,当启用硬件虚拟化时,我读到它使用陷阱和模拟。因此来宾代码直接在主机 cpu 上执行,如果它的特权指令 cpu 将控制权交给管理程序,管理程序会模拟该指令然后执行它。

那么,仿真在这里意味着什么?启用硬件虚拟化时是否执行相同的二进制转换?

4

1 回答 1

2

启用硬件虚拟化会vmx在 Intel 中设置标志,svm在 AMD 中设置标志。

在英特尔架构中,这允许用户空间调用在较低的保护环上按原样运行,因为它们不会潜在地干扰主机操作系统。另一方面,虚拟化操作系统的内核空间调用被虚拟机管理程序捕获和二进制转换。

这样做是为了部分消除琐碎调用的 CPU 密集型转换。发生多少取决于虚拟化类型——完全、部分或半虚拟化。

二进制翻译是更复杂的仿真过程的一个子集。它使来宾代码能够在主机架构上运行。

于 2013-11-14T09:32:46.187 回答