目录
这一篇介绍了Stage2地址翻译以及控制内存访问的方法。
1、第二阶段翻译是什么?
第二阶段翻译允许超级监视程序(hypervisor)控制虚拟机(VM)中内存的视图。具体来说,它允许超级监视程序控制虚拟机可以访问哪些内存映射的系统资源,以及这些资源在虚拟机的地址空间中的位置。
控制内存访问的能力对于隔离和沙箱化至关重要。第二阶段翻译可用于确保虚拟机只能看到分配给它的资源,而不能看到分配给其他虚拟机或超级监视程序的资源。
对于内存地址翻译,第二阶段翻译是翻译的第二阶段。为了支持这一点,需要一组新的称为第二阶段表的翻译表,如下图所示:
操作系统(OS)控制一组翻译表,将虚拟地址空间映射到其认为是物理地址空间。然而,该过程经历了第二次转换,进入真实的物理地址空间。这第二阶段由超级监视程序控制。
由操作系统控制的翻译称为第一阶段翻译,而由超级监视程序控制的翻译称为第二阶段翻译。操作系统认为是物理内存的地址空间被称为中间物理地址(IPA)空间。
【注意】:有关地址翻译工作原理的介绍,请参阅我们的内存管理指南。