前面讲过,在Intel x86 CPU中,为了加快线性地址到物理地址的转换,引入了各种地址转换的cache(TLB、PDE cache、PDPTE cache、PML4 cache)和PCID(Processor Context Identifier)机制。不清楚的可以出门左转查看上一篇文章。
而在虚拟化环境中,即VMX(Virtual Machine Extension)中,Intel x86 CPU同样也引入了EPT(Extended Page Table)、地址转换Cache和VPID(Virtual Processor Identifier)机制用于加快地址的转换。
1. EPT(Extended Page Table)
在虚拟化环境中,由于VMM(Virtual Machine Monitor)可以同时管理、运行多个虚拟机,每个虚拟机看到的硬件资源都由VMM模拟或者分配,所以虚拟机看到的硬件资源可能不是真实的,比如内存,所以在虚拟化环境中就需要将虚拟机所认为的物理内存转换成实际的物理内存。即在虚拟机内部的客户机操作系统,它能感受到的是和普通的操作系统一样,即将虚拟地址转换为物理地址(客户机物理地址),而在实际的实现中,还需要在客户机操作系统无法感知的地方将客户机物理地址转换为真实的物理地址,即宿主机物理地址,这个过程即GVA(Guest Virtual Address)-> GPA(Guest Physical Address) -> HPA(Host Physical Address)。
为了实现这个目的ÿ
最低0.47元/天 解锁文章
88

被折叠的 条评论
为什么被折叠?



