在处理器中提供硬件支持时,管理程序设计如何变化?

时间:2012-02-27 05:39:05

标签: linux-kernel hypervisor

我想知道在处理器提供硬件支持时虚拟机管理程序设计如何变化或功能如何改进,我知道ARM CORTEX A9系列不支持处理器的虚拟化,这在ARM CORTEX A-15中有望实现以后,我的问题是这在实现上有何不同,这通常意味着什么是硬件支持? H / W负责管理程序软件的特定组件是什么?

谢谢, [R

1 个答案:

答案 0 :(得分:0)

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

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