一种内存虚拟化方法、装置以及介质制造方法及图纸

技术编号:37818351 阅读:13 留言:0更新日期:2023-06-09 09:50
本申请公开了一种内存虚拟化方法、装置以及介质,根据虚拟机启动参数确认并获取虚拟机所需的内存大小;通过客户机的内存分配,在虚拟机内部引入新的地址空间;建立映射关系以将地址空间映射至宿主机虚拟地址空间;建立多级页表存储映射关系。相对于当前技术中,每次查看该物理地址实际对应哪一个虚拟地址都需要从所有虚拟地址中的第一个开始判断直至找到对应的虚拟地址,由于虚拟机的物理地址的数量庞大,导致查找的时间成本较高,降低了宿主机的工作效率。采用本技术方案,在建立映射关系时,采用多级页表存储映射关系,通过映射关系分级,提高宿主机虚拟地址与虚拟机物理地址映射关系的查找效率,减少查找的时间成本,提高虚拟机的运行性能。虚拟机的运行性能。虚拟机的运行性能。

【技术实现步骤摘要】
一种内存虚拟化方法、装置以及介质


[0001]本申请涉及虚拟化
,特别是涉及一种内存虚拟化方法、装置以及介质。

技术介绍

[0002]在传统的虚拟化技术中,一台实体宿主机可以同时管理多个虚拟机,虚拟机启动之后,用户可以应用该虚拟机的虚拟地址进行读写等操作,用户执行上述操作时,宿主机会将用户使用的虚拟地址模拟在自身的物理地址上进行管理,进而确定该虚拟地址的空间在宿主机上实际占用的物理地址的空间。进行模拟时需要进行地址转换,首先宿主机通过VMM(Virtual Machine Monitor,虚拟机监控器)将虚拟机的虚拟地址转换为虚拟机的物理地址,然后将虚拟机的物理地址转换为自身的虚拟地址,将自身的虚拟地址转换为自身的物理地址以便于确定实际占用的物理地址的空间。
[0003]在虚拟机启动时,宿主机会通过自身虚拟地址的空间为虚拟机首先分配一个可使用的虚拟机的物理地址的空间,宿主机的虚拟地址和虚拟机的物理地址存在对应关系,该对应关系为虚拟机需要多大的物理地址的空间,宿主机就会通过自身相同大小的虚拟地址的空间为其分配,但是对应关系中并不存在宿主机的虚拟地址和虚拟机的物理地址的一一对应的关系。
[0004]现有技术中,用户使用虚拟机的虚拟地址的空间时,虚拟机的物理地址到宿主机的虚拟地址的转换的具体实现是,确定虚拟机的物理地址之后,查找上述对应关系中宿主机的所有虚拟地址,查看该物理地址实际对应哪一个虚拟地址,每次查找都需要从所有虚拟地址中的第一个开始判断直至找到对应的虚拟地址,由于虚拟机的物理地址的数量庞大,查找的时间成本较高,降低了宿主机的工作效率。
[0005]由此可见,如何提高宿主机虚拟地址与虚拟机物理地址映射关系的查找效率,减少查找的时间成本,提高虚拟机的运行性能是本领域技术人员亟待解决的问题。

技术实现思路

[0006]本申请的目的是提供一种内存虚拟化方法、装置以及介质,用于提高虚拟地址与物理地址映射关系的查找效率,减少查找的时间成本,提高虚拟机的运行性能。
[0007]为解决上述技术问题,本申请提供一种内存虚拟化方法,包括:
[0008]根据虚拟机启动参数确认并获取虚拟机所需的内存大小;
[0009]通过客户机的内存分配,在虚拟机内部引入新的地址空间;
[0010]建立映射关系以将所述地址空间映射至宿主机虚拟地址空间;
[0011]建立多级页表存储所述映射关系。
[0012]优选的,所述建立多级页表存储所述映射关系包括:
[0013]根据所述虚拟机使用的内存大小建立二级表进行映射关系的存储;
[0014]一级页表中存储客户机的物理内存范围,并根据内存大小分段存储;
[0015]二级页表中用于存储所述一级页表中物理内存对应的地址映射关系。
[0016]优选的,所述二级页表以树形结构工具存储使用的映射关系。
[0017]优选的,所述二级页表以红黑树的形式存储使用的映射关系。
[0018]优选的,在检测到读取映射关系的情况下,对红黑树的节点进行插入操作。
[0019]优选的,根据映射关系使用的频率对红黑树中的节点进行排序。
[0020]优选的,还包括:对所述红黑树进行动态平衡处理。
[0021]为解决上述技术问题,本申请还提供一种内存虚拟化装置,包括:
[0022]确认模块,用于根据虚拟机启动参数确认并获取虚拟机所需的内存大小;
[0023]分配模块,用于通过客户机的内存分配,在虚拟机内部引入新的地址空间;
[0024]映射模块,用于建立映射关系以将所述地址空间映射至宿主机虚拟地址空间;
[0025]存储模块,用于建立多级页表以存储所述映射关系。
[0026]为解决上述技术问题,本申请还提供另一种内存虚拟化装置,包括存储器,用于存储计算机程序;
[0027]处理器,用于执行所述计算机程序时实现如上述的内存虚拟化方法的步骤。
[0028]为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的内存虚拟化方法的步骤。
[0029]本申请所提供的内存虚拟化方法,根据虚拟机启动参数确认并获取虚拟机所需的内存大小;通过客户机的内存分配,在虚拟机内部引入新的地址空间;建立映射关系以将地址空间映射至宿主机虚拟地址空间;建立多级页表存储映射关系。相对于当前技术中,确定虚拟机的物理地址之后,查找对应关系中宿主机的所有虚拟地址,查看该物理地址实际对应哪一个虚拟地址,每次查找都需要从所有虚拟地址中的第一个开始判断直至找到对应的虚拟地址,由于虚拟机的物理地址的数量庞大,导致查找的时间成本较高,降低了宿主机的工作效率。采用本技术方案,在建立映射关系时,采用多级页表存储映射关系,通过映射关系分级,提高宿主机虚拟地址与虚拟机物理地址映射关系的查找效率,减少查找的时间成本,提高虚拟机的运行性能。
[0030]此外,本申请所提供的内存虚拟化装置以及介质,根据虚拟机启动参数确认并获取虚拟机所需的内存大小;通过客户机的内存分配,在虚拟机内部引入新的地址空间;建立映射关系以将地址空间映射至宿主机虚拟地址空间;建立多级页表存储映射关系。相对于当前技术中,确定虚拟机的物理地址之后,查找对应关系中宿主机的所有虚拟地址,查看该物理地址实际对应哪一个虚拟地址,每次查找都需要从所有虚拟地址中的第一个开始判断直至找到对应的虚拟地址,由于虚拟机的物理地址的数量庞大,导致查找的时间成本较高,降低了宿主机的工作效率。采用本技术方案,在建立映射关系时,采用多级页表存储映射关系,通过映射关系分级,提高宿主机虚拟地址与虚拟机物理地址映射关系的查找效率,减少查找的时间成本,提高虚拟机的运行性能。
附图说明
[0031]为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1为本申请实施例提供的一种内存虚拟化方法的流程图;
[0033]图2为本申请实施例提供的一种内存虚拟化装置的结构图;
[0034]图3为本申请实施例提供的另一种内存虚拟化装置的结构图。
具体实施方式
[0035]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
[0036]在传统的虚拟化技术中,一台实体宿主机可以同时管理多个虚拟机,虚拟机启动之后,用户可以应用该虚拟机的虚拟地址进行读写等操作,用户执行上述操作时,宿主机会将用户使用的虚拟地址模拟在自身的物理地址上进行管理,进而确定该虚拟地址的空间本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存虚拟化方法,其特征在于,包括:根据虚拟机启动参数确认并获取虚拟机所需的内存大小;通过客户机的内存分配,在虚拟机内部引入新的地址空间;建立映射关系以将所述地址空间映射至宿主机虚拟地址空间;建立多级页表存储所述映射关系。2.根据权利要求1所述的内存虚拟化方法,其特征在于,所述建立多级页表存储所述映射关系包括:根据所述虚拟机使用的内存大小建立二级表进行映射关系的存储;一级页表中存储客户机的物理内存范围,并根据内存大小分段存储;二级页表中用于存储所述一级页表中物理内存对应的地址映射关系。3.根据权利要求2所述的内存虚拟化方法,其特征在于,所述二级页表以树形结构工具存储使用的映射关系。4.根据权利要求3所述的内存虚拟化方法,其特征在于,所述二级页表以红黑树的形式存储使用的映射关系。5.根据权利要求4所述的内存虚拟化方法,其特征在于,在检测到读取映射关系的情况下,对红黑树的节点进行插入操作。6.根...

【专利技术属性】
技术研发人员:孙京本孙明刚刘清林
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1