一种共享内存的访问方法、装置、设备和存储介质制造方法及图纸

技术编号:34631961 阅读:21 留言:0更新日期:2022-08-24 15:04
本发明专利技术实施例公开了一种共享内存的访问方法,包括:将指定的真实物理内存地址配置为预留真实物理内存地址,预留真实物理内存地址对应预留内存区域;创建虚拟机时,构建每个虚拟机所对应的扩展页表;向各虚拟机提供访问预留内存区域的标准接口;当接收到虚拟机侧调用标准接口发起的共享内存访问请求时,根据扩展页表中的对应关系访问预留内存区域。通过配置多个虚拟机所共用的一个固定区域作为共享真实物理内存地址,并提供所对应的标准接口,从而不同虚拟机中的进程,即使运行在不同的操作系统上,也可以根据所提供的标准接口,实现对位于固定区域的共享内存进行访问,从而实现了高效的虚拟机间数据交换。高效的虚拟机间数据交换。高效的虚拟机间数据交换。

【技术实现步骤摘要】
一种共享内存的访问方法、装置、设备和存储介质


[0001]本专利技术实施例涉及通信
,尤其涉及一种共享内存的访问方法、装置、设备和存储介质。

技术介绍

[0002]传统计算机系统中,通常在一台计算机设备中会配置安装多个虚拟机,不同虚拟机中的进程都有自己的虚拟地址,并根据虚拟地址确定所匹配的虚拟物理内存地址,并根据所确定的虚拟物理内存地址实现对该虚拟机所对应的真实物理内存地址的访问。
[0003]但由于不同虚拟机中的进程,运行在不同的操作系统上,虽然每个虚拟机分别都分配有自身所独有的一段真实物理内存地址,但运行在不同虚拟机上的进程无法通过标准的应用程序编程接口,对不同虚拟机中位于固定区域的共享内存进行访问,从而无法提供高效的虚拟机间数据交换。

技术实现思路

[0004]本专利技术实施例提供了一种共享内存的访问方法、装置、设备和存储介质,以实现对多个虚拟机共享内存的访问。
[0005]第一方面,本专利技术实施例提供了一种共享内存的访问方法,包括:将指定的真实物理内存地址作为预留真实物理内存地址,所述预留真实物理内存地址对应预留内存区域;
[0006]创建虚拟机时,构建每个虚拟机所对应的扩展页表,其中,每个所述扩展页表中包含所述预留真实物理内存地址与共享虚拟物理内存地址的对应关系;
[0007]向各所述虚拟机提供访问预留内存区域的标准接口;
[0008]当接收到所述虚拟机侧调用所述标准接口发起的共享内存访问请求时,根据所述扩展页表中的对应关系访问所述预留内存区域
[0009]第二方面,本专利技术实施例提供了一种共享内存的访问装置,包括:配置模块,用于将指定的真实物理内存地址作为预留真实物理内存地址,所述预留真实物理内存地址对应预留内存区域;
[0010]扩展页表构建模块,用于创建虚拟机时,构建每个虚拟机所对应的扩展页表,其中,每个所述扩展页表中包含所述预留真实物理内存地址与共享虚拟物理内存地址的对应关系;
[0011]标准接口提供模块,用于向各所述虚拟机提供访问预留内存区域的标准接口;
[0012]共享内存访问模块,用于当接收到所述虚拟机侧调用所述标准接口发起的共享内存访问请求时,根据所述扩展页表中的对应关系访问所述预留内存区域。
[0013]第三方面,本专利技术实施例提供了一种计算机设备,计算机设备包括:
[0014]一个或多个处理器;
[0015]存储装置,用于存储一个或多个程序,
[0016]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理
器实现如上所述的共享内存的访问方法。
[0017]第四方面,本专利技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的共享内存的访问方法。
[0018]本专利技术实施例的技术方案,通过配置多个虚拟机所共用的一个固定区域作为共享真实物理内存地址,并提供所对应的标准接口,从而不同虚拟机中的进程,即使运行在不同的操作系统上,也可以根据所提供的标准接口,实现对位于固定区域的共享内存进行访问,从而实现了高效的虚拟机间数据交换。
附图说明
[0019]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0020]图1是本专利技术实施例一提供的共享内存的访问方法的流程图;
[0021]图2是本专利技术实施例一提供的共享内存的访问方法的应用场景示意图;
[0022]图3是本专利技术实施例二提供的共享内存的访问方法的流程图;
[0023]图4是本专利技术实施例三提供的共享内存的访问装置的结构示意图;
[0024]图5是本专利技术实施例四提供的计算机设备的结构示意图。
具体实施方式
[0025]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0026]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0027]实施例一
[0028]图1为本专利技术实施例一提供的一种共享内存的访问方法的流程图,本实施例可适用于对计算机设备中的共享内存进行访问的情况,该方法可以由本专利技术实施例中的共享内存的访问装置来执行,该装置可以采用硬件和/或软件的形式实现。如图1所示,该方法包括:
[0029]步骤S101,将指定的真实物理内存地址作为预留真实物理内存地址,预留真实物理内存地址对应预留内存区域。
[0030]可选的,将指定的真实物理内存地址作为预留真实物理内存地址,包括:预先在计算机系统的内核启动参数中写入指定的真实物理内存地址;在内核启动时,根据启动参数将指定的真实物理内存地址作为预留真实物理内存地址。
[0031]其中,在计算机设备中包括多个真实物理内存地址,因此本实施方式中会预先在计算机系统的内核启动参数中写入所指定的真实物理内存地址。并在内核启动时,根据启动参数将所指定的真实物理内存地址作为预留真实物理内存地址,并且还会设置预留真实物理内存地址的访问权限,访问权限包括禁止计算机操作系统对预留内存区域的访问。
[0032]例如,计算机设备所包含的真实物理内存地址为000

fff,则可以根据用户指令将000

eee的地址区间作为指定的真实物理内存地址,并将所指定的真实物理内存地址000

eee写入计算机系统的内核启动参数memmap中,在内核启动时,会根据计算机系统内核启动参数memmap中所包含的指定的真实物理内存地址000

eee,将所指定的真实物理内存地址作为预留真实物理内存地址,并对预留真实物理内存地址所对应区域的访问权限进行设定。当然,本实施方式中仅是举例说明,而并不对预留真实物理内存地址的区间范围进行限定。
[0033]步骤S102,创建虚拟机时,构建每个虚拟机所对应的扩展页表。
[0034]其中,每个扩展页表中包含预留真实物理内存地址本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种共享内存的访问方法,其特征在于,应用于计算机操作系统,包括:将指定的真实物理内存地址作为预留真实物理内存地址,所述预留真实物理内存地址对应预留内存区域;创建虚拟机时,构建每个虚拟机所对应的扩展页表,其中,每个所述扩展页表中包含所述预留真实物理内存地址与共享虚拟物理内存地址的对应关系;向各所述虚拟机提供访问预留内存区域的标准接口;当接收到所述虚拟机侧调用所述标准接口发起的共享内存访问请求时,根据所述扩展页表中的对应关系访问所述预留内存区域。2.根据权利要求1所述的方法,其特征在于,所述当接收到所述虚拟机调用所述标准接口发起的共享内存访问请求时,根据所述扩展页表中的对应关系访问所述预留内存区域,包括:确定所述虚拟机的共享虚拟地址;在接收到虚拟机中的应用通过调用所述标准接口对所述共享虚拟地址的访问请求时,通过查询地址映射表获取共享虚拟物理内存地址,其中,所述地址映射表中包含共享虚拟地址与共享虚拟物理内存地址的对应关系;通过查询所述扩展页表获取与所述共享虚拟物理内存地址所匹配的预留真实物理内存地址,并对所述预留真实物理内存地址所对应的预留内存区域进行访问。3.根据权利要求1所述的方法,其特征在于,所述将指定的真实物理内存地址作为预留真实物理内存地址之后,还包括:设置所述预留真实物理内存地址的访问权限,所述访问权限包括禁止所述计算机操作系统对所述预留内存区域的访问;创建虚拟机时,还包括:将所述虚拟机的共享虚拟物理内存地址配置为保留区域,并设置所述共享虚拟物理内存地址的访问权限,所述访问权限包括禁止虚拟机中的操作系统对所述保留区域的访问。4.根据权利要求2所述的方法,其特征在于,所述确定所述虚拟机的共享虚拟地址,包括:根据用户的登录请求确定所述指定虚拟机,通过所述指定虚拟机中的应用接收共享虚拟地址获取请求;通过所述指定虚拟机中的内核驱动根据所述共享虚拟地址获取请求,对所述指定虚拟机中所包含的虚拟地址进行筛选,确定出所述共享虚拟地址;建立所述共享虚拟地址与共享虚拟物理内存地址的对应关系,并将所述对应关系保存到所述指定虚拟机的地址映射表中。5.根据权利要求4所述的方法,其特征在于,所述在接收到虚拟机中的应用...

【专利技术属性】
技术研发人员:张朝鹏
申请(专利权)人:科东广州软件科技有限公司
类型:发明
国别省市:

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

1