[发明专利]一种新型基于影子页表机制的内存虚拟化方法与系统有效
申请号: | 202011085016.9 | 申请日: | 2020-10-12 |
公开(公告)号: | CN112363960B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 沙赛;罗英伟;汪小林;张毅 | 申请(专利权)人: | 北京大学;无锡先进技术研究院 |
主分类号: | G06F12/1009 | 分类号: | G06F12/1009;G06F9/455;G06F9/50 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 邱晓锋 |
地址: | 100871 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 新型 基于 影子 机制 内存 虚拟 方法 系统 | ||
1.一种新型基于影子页表机制的内存虚拟化方法,其特征在于,包括以下步骤:
捕获客户机操作系统发出的TLB刷新指令,并解码TLB刷新指令,以相同的粒度使相应的影子页表项无效;
当CPU访问TLB发生TLB未命中时,内存管理单元查询影子页表,在发现相应的影子页表项无效后,进行缺页处理来修正影子页表;
利用缺页处理后的影子页表完成客户机虚拟地址到宿主机物理地址的地址转换;
采用影子页表刷新器从TLB刷新接口中捕获客户机操作系统发出的TLB刷新指令;所述影子页表刷新器捕获到来自客户机操作系统对TLB项的刷新指令,解析该指令中的待刷新的粒度、待刷新项的虚拟处理器号、进程编号、虚拟地址,然后以相同的粒度刷新相同的虚拟处理器号、进程编号、虚拟地址的影子页表项;
虚拟机监控程序直接复制客户机进程页表的权限位来填充影子页表,以维护影子页表中权限位的正确性;
采用懒惰同步模式进行影子页表的同步,当客户机操作系统修改进程页表后,仅通过捕获TLB的刷新来置无效影子页表项,不产生虚拟机退出,直到CPU访问无效影子页表项时,再触发虚拟机退出进行同步。
2.根据权利要求1所述的方法,其特征在于,所述缺页处理包括三个步骤:查询客户机进程页表,查询宿主机页表,以及构建填充影子页表。
3.根据权利要求2所述的方法,其特征在于,使用地址转换快表存储从客户机物理页帧号到宿主机物理页帧号的映射;在缺页处理的查询客户机进程页表的步骤中,虚拟机监控程序通过查询客户进程机页表获得客户机物理页帧号,以客户机物理页帧号为索引直接访问地址转换快表以查询宿主机物理页帧号。
4.根据权利要求3所述的方法,其特征在于,所述的以客户机物理页帧号为索引直接访问地址转换快表以查询宿主机物理页帧号,如果命中,则直接进入构建填充影子页表的步骤,否则进入查询宿主机页表的步骤,并将查询到的映射填充到地址转换快表。
5.根据权利要求1所述的方法,其特征在于,采用影子页表项预取的方式减少缺页中断次数,即在每次缺页处理中预填充多个映射关系到影子页表。
6.一种采用权利要求1~5中任一权利要求所述方法的基于影子页表机制的内存虚拟化系统,其特征在于,包括:
TLB刷新捕获模块,用于从TLB刷新接口捕获客户机操作系统发出的TLB刷新指令,并解码TLB刷新指令,以相同的粒度使相应的影子页表项无效;
影子页表缺页处理模块,用于当发生TLB未命中时,通过内存管理单元查询影子页表,在发现相应的影子页表项无效后,进行缺页处理来修正影子页表,以便利用修正的影子页表完成客户机虚拟地址到宿主机物理地址的地址转换。
7.一种虚拟机,其特征在于,所述虚拟机采用权利要求1~5中任一权利要求所述的方法进行内存虚拟化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学;无锡先进技术研究院,未经北京大学;无锡先进技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011085016.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多功能气缸
- 下一篇:一种拓宽质谱仪检测质量范围的方法及装置