
xen内存虚拟化的相关知识点1:影子页面表什么是影子页面表?影子页表技术出现在完整的软件虚拟化类别中。准确地说,影子页表是虚拟TLB,也可以称为“缓存”。它是谁和谁的TLB?它是从访客虚拟地址到主机物理地址的TLB。访客虚拟地址是什么?就像普通物理计算机上的OS一样,xen平台上的VM OS也使用内存分页机制和MMU机制,因此不仅有一个Guest虚拟地址,而且还有一个Guest物理地址。根据传统方法,Guest OS由虚拟存储器的虚拟存储器管理机制完成的地址转换为GVA-> GPA,并且在完成此步骤后无法访问物理存储器。因为GPA不是真实的物理地址,所以必须通过完成GPA ---> HPA来完成内存。寻址。 GPA-> HPA这一步是如何实现的?为了实现这种转换,VMM为每个虚拟机动态维护了GPA ---> HPA的映射表。如何建立此映射表?我们必须从来宾的页面错误异常开始。如果来宾操作系统未将来宾物理页面分配给来宾虚拟地址(GVA),则VMM将首先将页面错误异常传递给来宾OS。有用于此GVA的来宾操作系统分配来宾物理页面,如果来宾操作系统分配了来宾物理页面,则需要修改来宾操作系统表,此操作将被VMM拦截,其余操作将由VMM完成,可以申请主机物理页面,然后可以填写上面的映射表。

给出| ShadowPT |的创建过程的。影子页面表:影子页面表的优缺点:就时间而言,由于影子页面表是为物理MMU直接寻址和使用而提供的,因此大多数内存访问都可以在不使用VMM的情况下正常执行,没有额外的地址转换开销。因此,通常,影子页表减少了全内存虚拟化的时间开销,但是与非虚拟化环境相比仍然存在一定差距。从空间角度来看,引入影子页表意味着VMM需要为每个来宾操作系统的每组页表结构维护一组对应的影子页表(每个进程一个)。额外的开销。考虑到多个客户端可能同时在主机上运行,并且多个进程可能同时在多个客户端上运行,因此同时维护的影子页表所占用的物理地址空间可能会非常令人震惊。另外,当进程终止时,来宾操作系统将回收进程页表。 VMM无法直接获得此类事件,从而使VMM有机会回收不再使用的影子页表。因此,影子页表是为影子页表设计的。通常会优化占用的物理空间。如活动的影子页表回收机制。内存虚拟化的优化:1.自扩展内存调整技术气球,气球驱动程序作为驱动程序模块安装在客户端,它仅为VMM提供专用的交互界面,不提供操作系统或更高版本级应用程序调用接口通过与VMM的交互,实现了主机物理内存的恢复和分配。

当VMM需要从客户端回收主机的物理内存时,它会通知植入到来宾操作系统中的气球模块。气球模块调用来宾操作系统的内存分配功能来分配来宾的物理内存。回收与这些客户端的物理内存相对应的主机的物理内存。在此过程中,气球模块会申请客户端物理内存,但不会有效地使用它们。相反,它通知VMM,可以回收与这些客户端的物理内存相对应的主机的物理内存。 VMM的“外壳”功能是通过气球的“充气”来实现的。 VMM逻辑上回收气球所环绕的“陆地”(用于其他目的),从而实现主机物理内存的恢复。如何给气球放气?当来宾操作系统尝试访问与回收的机器物理内存相对应的来宾物理内存时,VMM将向来宾物理页面重新分配新的机器物理内存页面,以达到返回物理内存的目的。 2.内存页面共享技术2:直接模型(直接模型)GuestOS使用其自己的页面表直接访问机器内存。在这种模式下,xen需要重写对Guest OS内核中的页表和TLB操作功能的访问,并使用Hypercall移交给Xen以完成MMU的特权操作。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-317244-1.html
从不买
喊得什么话
期待期待
这话说的很实在