内存配置

EPT: 扩展页表
属于Intel的第二代硬件虚拟化技术,针对内存管理单元(MMU)的虚拟化扩展;
降低内存虚拟化难度(与影子页表相比),也提升内存虚拟化的性能

虚拟化环境下,内存使用需要两层的地址转换
guestos负责:guestos虚拟地址 -> guestos物理地址
Hypervisor(kvm):guestos物理地址 -> hostos物理地址

*shadow*
影子页表: 从软件上维护guestos虚拟地址 -> hostos物理地址 的映射
优点:从软件上避免了两次地址转换
缺点:
影子页表实现复杂,开发、调试、维护困难;
每个guest进程对应的页表都要维护一个影子页表,内存开销大。

*EPT*
EPT:直接在硬件上支持GVA -> GPA -> HPA 的两次地址转换,并且只需要维护一张EPT页表

如图,
CR3(控制寄存器3): GVA -> GPA
EPT: GPA -> HPA

VPID:
通过在硬件上为每个TLB项添加一个标识,用于不同虚拟处理器的地址空间,从而区分开Hypervisor和
不同处理器的TLB,避免每次进行VM-Exit时都让TLB全部失效,提高VM切换效率

原文地址:https://www.cnblogs.com/stellar/p/8399810.html