【技术实现步骤摘要】
本专利技术涉及虚拟化方法,特别是虚拟机管理器的动态内存映射方法。技术背景虚拟机(Virtual Machine, VM)技术源于上世纪60年代,其核心思想是在一台物理主 机上虚拟出多个虚拟计算机(VM),其上能同时运行多个独立的操作系统,这些客户操作系 统(Guest OS)通过虚拟机管理器(Virtual Machine Monitor, VMM)访问实际的物理资源。 内存虚拟化是虚拟机管理器(VMM)的重要功能之一。由于内存是虚拟机最频繁访问的设备 之一,内存虚拟化的效率将对虚拟机的性能产生重大影响。而由于现代计算机通常都采用段 页式存储管理、多级页表等复杂的存储体系结构,这又给VMM的高性能内存虚拟化设计带 来了很大挑战。当需要在同一物理主机上同时部署多个虚拟机时,VMM能否提供可伸缩的内存管理功 能就显得尤为重要。这是因为VMM需要实现物理内存在虚拟机之间的分割复用,如果这种 分割是静态的,则一台物理主机上所能并发执行的虚拟机数量必然受到实际硬件的机器内存 大小的限制。同时,由于虚拟机上运行的软件对内存的需求各不相同,而且是动态变化的, 基于静态分割的内存管理机制必然会造成内存资源的不合理分配,从而大大影响虚拟机执行 的性能。因此,为了使VMM系统具有更好的伸縮性和可扩展性,理想的VMM应该提供以下一 些内存管理功能■按需取页。只有当虚拟机真正需要的时候,VMM才将物理内存分配给它,而不是简 单地将固定大小的内存空间划分给虚拟机。按需取页能够提高内存资源的利用率。■虚拟存储。VMM应该能够利用交换等技术,给虚拟机提供超过实际机器内存大小的 内 ...
【技术保护点】
一种虚拟机管理器的动态内存映射方法,其步骤为:(1)分别建立虚拟机和虚拟机管理器的页面池,并进行初始化;所述页面池包括活动池和空闲池,其具有如下功能:分配:将一个页面从空闲池移入活动池,并且保证为该页面建立映射; 返还:将一个页面从活动池放回空闲池,之前删除与该页面有关的所有内存映射;扩大:将某些机器页面加入页面池的空闲池中,增大虚拟机所能使用的机器内存;收缩:将某些机器页面从页面池的空闲池中删除,减小虚拟机所能使用的机器内存; (2)虚拟机访问违例时虚拟机管理器动态建立并更新虚拟机物理内存集合P到虚拟机管理器页面池中的机器内存集合M的映射关系f(p),其中p为物理内存集合P中的任意一个页面。
【技术特征摘要】
1.一种虚拟机管理器的动态内存映射方法,其步骤为(1)分别建立虚拟机和虚拟机管理器的页面池,并进行初始化;所述页面池包括活动池和空闲池,其具有如下功能分配将一个页面从空闲池移入活动池,并且保证为该页面建立映射;返还将一个页面从活动池放回空闲池,之前删除与该页面有关的所有内存映射;扩大将某些机器页面加入页面池的空闲池中,增大虚拟机所能使用的机器内存;收缩将某些机器页面从页面池的空闲池中删除,减小虚拟机所能使用的机器内存;(2)虚拟机访问违例时虚拟机管理器动态建立并更新虚拟机物理内存集合P到虚拟机管理器页面池中的机器内存集合M的映射关系f(p),其中p为物理内存集合P中的任意一个页面。2. 如权利要求1所述的方法,其特征在于所述页面的数据结构包括页面号、引用计数、状态标志o3. 如权利要求l所述的方法,其特征在于采用影子页表建立所述映射关系/(p)。4.如权利要求3所述的方法,其特征在于虚拟机管理器动态更新所述影子页表项的映射关系 /(p)Xg(v),同步更新对应的逆映射(/(p)Xg(v))—、其中g(v)为虚拟地址到物理地址的映 射关系,v为虚拟地址。5. 如权利要求l所述的方法,其特征在于所述活动池与所述空闲池通过双向链表连接。6. 如权利要求l所述的方法,其特征在于所述访问违例为在时刻^虚拟机访问了内存p,且 力(/7) = 0时,则虚拟机的执行将中断,控制转入虚拟机管理器,所述虚拟机管理器从页面池的空闲池中分配一块新的机器内存m,将其加入页面池的活动池,设置/,+1(^)={附},然后 恢复虚拟机执行。7. 如权利要求1所述的方法,其特征在于所述访问违例为在时刻^虚拟机访问了物理页面; , 且力0 ) = 0时,则虚拟机的执行将中断,控制转入虚拟机管理器,所述虚拟机管理器执行下 列步骤-(1) 虚拟机管理器判断当前页面池的空闲池是否充裕,若是,则虚拟机管理器分配一块新 的机器内存m将它加入页面池的活动池,设置/i+1(p) = {w},然后转到步骤(3);(2) 若否,则虚拟机管理器从页面池的活动池中选择一个页面集合S,将它们从页面池的 活动池中删除,同时,对于所有映射了S中机器页面的物理页面:c,设置/,+1 (x)-0,并将 页面x的内容写入交换空间,然后重新运行系统;(3) 虚拟机管理器检査所述物理页面p的内容是否在交换空间中,若是,则从交换空间中 将所述物理页面p的内容读入所述机器内存m,恢复虚拟机的执行;否则恢复虚拟机的执行。8. 如权利要求1所述的方法,其特征在于所述虚拟机管理器中的所有虚拟机共享同一页面池, 所述访问违例为在时刻G,其中一台虚拟机&试图写入物理页面p,若存在来自所述虚拟机A 或其他虚拟机的另一个物理页面使得和p'映射到同一机器页面时,虚拟机的执行将 中断,控制转入虚拟机管理器,所述虚拟机管理器分配一个新的机器页面m,将所述物理页面p的内容复制到所述机器页面m中;然后,虚拟机管理器将所述机...
【专利技术属性】
技术研发人员:罗英伟,陈昊罡,汪小林,张彬彬,孙逸峰,许卓群,
申请(专利权)人:北京大学,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。