[发明专利]一种内存虚拟化的方法及装置在审
申请号: | 201310752024.8 | 申请日: | 2013-12-31 |
公开(公告)号: | CN104750623A | 公开(公告)日: | 2015-07-01 |
发明(设计)人: | 王振江;武成岗;李斌;杨东艳 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F9/455 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 虚拟 方法 装置 | ||
技术领域
本发明涉及电子信息技术领域,尤其涉及一种内存虚拟化的方法及装置。
背景技术
目前,在使用虚拟机时,需要能使客户机操作系统看到的内存空间布局与在真实物理机器环境下相同,这就必须要对内存进行虚拟化。内存被虚拟化后,一般会包含多级地址空间映射,并形成地址映射层次,其中包括GVA(Guest Virtual Address,客户机虚拟地址)层、GPA(Guest Physical Address,客户机物理地址)层、HVA(Host Virtual Address,宿主机虚拟地址)层、HPA(Host Physical Address,宿主机物理地址)层。其中,HVA层到HPA层的映射则由宿主机操作系统维护,并记录在宿主机的Host页表中。并且在现有技术中常用影子页表技术实现映射关系的快速查找。例如:当虚拟机运行guest代码时,host硬件的页表基址寄存器指向一个影子页表,在影子页表中存储了GVA层到HPA层的直接映射,对于影子页表的维护由虚拟机管理软件(Virtual Machine Monitor,VMM)完成。
但是,很多情况下需要随着具体运行环境的变化频繁地改变影子页表的中记载的地址映射关系,例如:客户机改变了GVA层上的地址到GPA层上的地址之间的映射关系。这就需要通过宿主机的系统内核或加载VMM配套的内核模块,才能够实现对于影子页表的修改。因此在现有技术中对于影子页表的操作属于需要动用宿主机的系统内核的特权操作,又由于不同的宿主机经常会使用不同的操作系统或体系结构,对于不同的操作系统或体系结构的特权操作的方式也不相同,因此在一个宿主机上运行的基于影子页表技术的虚拟机,难以直接运行在另一个操作系统或体系结构不同的宿主机上,技术人员需要花费时间和精力来重新制定针对另一个操作系统或体系结构的给予影子页表技术的特权操作的方式,才能保证基于影子页表技术的虚拟机能够在另一个操作系统不同的宿主机上运行,限制了虚拟机在不同的系统平台上的迁移使用。
发明内容
本发明的实施例提供一种内存虚拟化的方法及装置,能够在需要修改映射关系时,避免使用宿主机的内核修改映射关系。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供一种内存虚拟化的方法,用于一种计算设备,所述计算设备至少包括内存和硬盘,所述内存的地址映射层次包括客户机虚拟地址(GVA)层、客户机物理地址(GPA)层、宿主机虚拟地址(HVA)层、宿主机物理地址(HPA)层,所述方法包括:
建立所述HVA层到硬盘的存储空间之间的映射关系;
为所述客户机的进程在所述HVA层中分配地址空间,并建立所述GVA层到所述HVA层中的被分配的地址空间之间的映射关系;
建立访存指令指向的所述HVA层中的被分配的地址空间上的地址到所述硬盘的存储空间之间的映射关系;
从所述宿主机获取目标数据,所述目标数据是由所述宿主机根据所述访存指令获取的数据。
结合第一方面,在第一方面的第一种可能的实现方式中,所述为所述客户机的进程在所述HVA层中分配地址空间,并建立所述GVA层到所述HVA层中的被分配地址空间之间的映射关系,包括:
确定所述GVA层上的地址为a;
为所述客户机的进程分配所述HVA层上的地址空间,所述HVA层上的地址空间的起始地址为b,并建立所述GVA层上的地址a到所述HVA层上的地址b+a之间的映射关系。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,为所述客户机的进程分配的所述HVA层上的地址空间的起始地址为b,所述访存指令指向所述HVA层上的地址a+b;
所述建立访存指令指向的所述HVA层中的被分配的地址空间上的地址与所述硬盘的存储空间之间的映射关系,包括:
确定所述访存指令指向的所述GVA层上的地址a,并根据所述GVA层到所述HVA层之间的映射关系,确定所述GVA层上的地址a对应的所述HVA层上的地址x;
根据所述HVA层到所述硬盘的存储空间之间的映射关系,确定所述HVA层上的地址x对应的所述硬盘的存储空间上的地址z;
建立所述访存指令指向的所述HVA层上的地址a+b到所述硬盘的存储空间上的地址z之间的映射关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所;,未经华为技术有限公司;中国科学院计算技术研究所;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310752024.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:群集级数据一致性模型和协议
- 下一篇:电子装置及其数据维护方法