当启用硬件虚拟化时,实际会发生什么?如果不是,管理程序将使用二进制翻译。但是,当启用硬件虚拟化时,我已经看到它使用了陷阱并进行了仿真。因此,来宾代码直接在主机cpu上执行,如果cpu将控件交给虚拟机管理程序的特权指令,系统管理程序将对其进行仿真,然后执行。
那么,仿真在这里意味着什么?启用硬件虚拟化时是否执行相同的二进制转换?
发布于 2013-11-14 09:32:46
启用HW虚拟化可以在英特尔中设置vmx标志,在AMD中设置svm标志。
在英特尔体系结构中,这允许用户空间调用在较低的保护环上运行,因为它们不可能与主机操作系统相互恐惧。另一方面,虚拟机操作系统的内核空间调用被困住并由虚拟机监控程序进行二进制转换。
这样做的目的是为了部分地消除对琐碎调用的CPU密集型转换。这在很大程度上取决于虚拟化类型-完全的、部分的或准虚拟的。
二进制翻译是一个比较精细的仿真过程的子集。它使客户代码能够在主机体系结构上运行。
https://stackoverflow.com/questions/19973554
复制相似问题