我想知道当处理器提供硬件支持时,虚拟机管理程序的设计是如何变化的,或者功能是如何改进的,因为我知道ARM CORTEX A9系列不支持处理器的虚拟化,这预计在ARM CORTEX A-15以后的版本中是这样的,我的问题是这在实现上有什么不同,这种硬件支持通常意味着什么?硬件负责哪些特定于虚拟机管理程序软件的组件?
谢谢,R
发布于 2015-08-23 01:04:01
基本上,为了了解在处理器支持虚拟化时虚拟机管理程序实现的变化,需要了解什么是硬件虚拟化。硬件扩展会将ISA的非特权但敏感指令(例如popf)转换为特权指令,这些指令会导致系统管理程序陷入陷阱。这是可虚拟化硬件的基本概念。但随着时间的推移,供应商引入了有关虚拟化的新功能。最重要的是嵌套分页(EPT/NPT),以便有效地虚拟化内存。目前,与90年代末相比,硬件已经发生了革命性的变化。
因此,当没有硬件设施时,VMware团队仍然设法虚拟化硬件。它们使用二进制翻译和动态解释器来处理ISA的非虚拟化部分。对于内存,他们使用影子页表(SPT)来虚拟化内存。在sPT中,处理器使用sPT而不是访客表格(因为MMU可以扫描一级表格)。在EPT/NPT中,MMU需要两轮表,首先是来宾表,然后是EPT/NPT。通过这种方法,在大多数用例中提高了效率。当虚拟机管理程序使用硬件虚拟化扩展时,它将严格使用硬件定义的结构(第二级表,VMCS)。由于问题的范围很广,我觉得很难得出结论,但我希望这个答案能为开始提供足够的材料。
https://stackoverflow.com/questions/9460509
复制相似问题