软件虚拟化与硬件虚拟化

时间:2013-11-14 09:09:35

标签: hardware cpu virtualization emulation hypervisor

启用硬件虚拟化后会发生什么? 如果没有,管理程序使用二进制翻译。但是,当启用硬件虚拟化时,我已经读过它使用陷阱和模拟。 所以访客代码直接在主机cpu上执行,如果它是一个特权指令,cpu将控制交给管理程序,管理程序就会模拟该指令然后执行它。

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

1 个答案:

答案 0 :(得分:2)

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

在英特尔架构中,这允许用户空间调用在较低protection ring上按原样运行,因为它们不能与主机操作系统相互干扰。另一方面,虚拟化操作系统的内核空间调用被虚拟机管理程序捕获并进行二进制翻译。

这样做是为了部分地消除对普通呼叫的CPU密集转换。 发生了多少取决于虚拟化类型 - 完整,部分或半虚拟化。

二进制翻译是更精细的仿真过程的一个子集。它 alligns 来宾代码,以便能够在主机架构上运行。