虚拟化ABC - 内存虚拟化

内存虚拟化的目标:

1)给虚拟机一个从零地址开始的连续物理内存空间。

2)在各虚拟机之间有效隔离、调度以及共享内存资源。

 

第一代Intel-VT技术没有提供硬件支持的内存虚拟化技术,内存虚拟化采用影子也表;第二代VT技术提供了硬件支持的内存虚拟化技术:VPID和EPT。

EPT(Extended PageTable)

普通页表只能将客户机虚拟机地址转换成客户机物理地址。

Guest Virtual Address -> Guest Physical Address

EPT可以将客户机物理地址转换成宿主机物理地址

       Guest Physical Address-> Host Physical Address


VPID 是一种硬件级的对 TLB 资源管理的优化。通过在硬件上为每个 TLB 项增加一个标志,来标识不同的虚拟处理器地址空间,从而区分开虚拟机监控器以及不同虚拟机的TLB, 提高TLB命中。要使能VPID: a)为每个 VMCS 分配一个VPID,且这个 VPID 只要是非 0 的,且和其他VMCS的VPID 不同就可以了;b)在 VMCS中将Enable VPID置1。


你可能感兴趣的:(系统虚拟化,Linux系统编程内核编程)