2

我想知道当处理器提供硬件支持时管理程序设计如何变化或功能如何改进,因为我知道 ARM CORTEX A9 系列不支持来自处理器的虚拟化,这在 ARM CORTEX A-15 及以后的版本中是预期的,我的问题是这在实现上有何不同,这种硬件支持一般意味着什么?哪些特定于 H/W 的管理程序软件的组件?

谢谢,R

4

1 回答 1

0

基本上,为了了解当处理器支持虚拟化时管理程序实现的变化,需要了解什么是硬件虚拟化。硬件扩展将非特权但敏感的 ISA 指令(例如 popf)转换为特权,因为这些指令会导致进入管理程序的陷阱。这是可虚拟化硬件的基本概念。但随着时间的推移,供应商推出了有关虚拟化的新功能。最重要的是嵌套分页 (EPT/NPT),以便有效地虚拟化内存。与 90 年代后期相比,目前的硬件已经发生了革命性的变化。

因此,在没有硬件设施的情况下,VMware 团队仍然设法将硬件虚拟化。他们对 ISA 的不可虚拟化部分使用了二进制翻译和动态解释器。对于内存,他们使用影子页表(sPT)来虚拟化内存。在 sPT 中,处理器使用 sPT 而不是来宾表(因为 MMU 可以扫描一级表)。在 EPT/NPT 中,MMU 先进行两轮桌,然后是 EPT/NPT。通过这种方法,在大多数用例中提高了效率。当管理程序使用硬件虚拟化扩展时,它以严格的方式使用硬件定义的结构(二级表,VMCS)。由于问题范围广泛,我很难得出答案,但我希望这个答案能提供足够的材料来启动

于 2015-08-22T17:04:01.370 回答