虚拟机的内存地址分配方法以及装置制造方法及图纸

技术编号:15982565 阅读:23 留言:0更新日期:2017-08-12 05:37
本申请公开了一种虚拟机的内存地址分配方法以及装置,虚拟机运行在宿主机上,宿主机包含包括有掉电保护的物理内存区域,虚拟机包括有掉电保护的虚拟内存区域,所述方法包括:宿主机确定虚拟机产生缺页中断的虚拟内存地址属于有掉电保护的虚拟内存区域;宿主机从有掉电保护的物理内存区域为虚拟内存地址分配宿主机的物理内存地址。上述方法能够有效提高分配的效率。

【技术实现步骤摘要】
虚拟机的内存地址分配方法以及装置
本申请涉及内存领域,特别是涉及一种虚拟机的内存地址分配方法以及装置。
技术介绍
在现有技术中,宿主机要为虚拟机有掉电保护需求的虚拟内存地址从有掉电保护的物理内存区域分配宿主机的物理内存地址,必须经过三次映射。首先,将有掉电保护的物理内存区域的物理内存地址映射为字符设备,然后,将字符设备再映射为外部设备互连总线(英文:PeripheralComponentInterconnect,简称:PCI)设备,最后,将PCI设备映射到虚拟机的虚拟内存地址。但是,在这种方式下,必须经过三次映射才能实现为虚拟机有掉电保护需求的虚拟内存地址分配宿主机有掉电保护的物理内存地址,但分配效率低下。
技术实现思路
本专利技术的目的在于提供了一种虚拟机的内存地址分配方法以及装置,能够提高为虚拟机有掉电保护需求的虚拟内存地址分配宿主机有掉电保护的物理内存地址的效率。第一方面,当虚拟机产生缺页中断时,宿主机确定虚拟机产生缺页中断的虚拟内存地址属于有掉电保护的虚拟内存区域,并从有掉电保护的物理内存区域为虚拟机的虚拟内存地址分配宿主机的物理内存地址。宿主机在确定虚拟机产生缺页中断的虚拟内存地址属于有掉电保护的虚拟内存区域后,直接为虚拟机的虚拟内存地址从有掉电保护的物理内存区域分配宿主机的物理内存地址,提高了为虚拟机有掉电保护需求的虚拟内存地址分配宿主机有掉电保护的物理内存地址的效率。结合第一方面,在第一方面的第一种可能的实施方式中,所述宿主机存储有所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息,在虚拟机产生缺页中断时,宿主机根据产生缺页中断的虚拟内存地址查询所述信息,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域。结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,虚拟机的配置文件中存储有虚拟内存区域地址为有掉电保护的虚拟内存区域的信息,在虚拟机产生缺页中断时,宿主机根据产生缺页中断的虚拟内存地址查询所述配置文件中的信息,确定所述虚拟内存地址属于所述有掉电保护的虚拟内存区域。结合第一方面的第一种可能的实施方式,在第一方面的第三种可能的实施方式中,所述宿主机和虚拟机的共享文件中存储有虚拟内存区域地址为有掉电保护的虚拟内存区域的信息,在虚拟机产生缺页中断时,宿主机根据产生缺页中断的虚拟内存地址查询所述共享文件中的信息,确定所述虚拟内存地址属于所述有掉电保护的虚拟内存区域。在本实施方式中,共享文件是宿主机和虚拟机均可以访问的,所以,在宿主机确定虚拟内存区域地址为有掉电保护的虚拟内存区域的信息之后,虚拟机还可以根据自己的实际情况对虚拟内存区域地址为有掉电保护的虚拟内存区域的信息进行修改。结合第一方面,在第一方面的第四种可能的实施方式中,宿主机预先存储所述有虚拟机中的进程需要访问的有掉电保护的虚拟内存地址的信息,在虚拟机产生缺页中断时,宿主机根据产生缺页中断的虚拟内存地址查询所述信息,确定所述虚拟内存地址属于所述有掉电保护的虚拟内存区域。结合第一方面至第四种可能的实施方式中的任意一种,在第一方面的第五种可能的实施方式中,所述宿主机从所述有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址,具体包括:所述宿主机建立所述虚拟内存地址与所述宿主机的物理内存地址的映射关系。结合第一方面至第四种可能的实施方式中的任意一种,在第一方面的第六种可能的实施方式中,所述宿主机从所述有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址,具体包括:所述宿主机建立所述虚拟机的物理内存地址与所述宿主机的物理内存地址的映射关系;其中,所述虚拟内存地址映射到所述虚拟机的物理内存地址。第二方面,本专利技术提供了一种宿主机,所述宿主机用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。其中一种实现方式,具体地,虚拟机运行在宿主机上,所述宿主机包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域,所述宿主机包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。另一种实现方式,宿主机包括处理器和内存,虚拟机运行在所述宿主机上,所述宿主机的内存包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域,所述处理器与所述内存通信,所述处理器用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。另一种实现方式,所述宿主机包括内存管理单元(英文:MemoryManagementUnit,简称:MMU)和内存,虚拟机运行在所述宿主机上,所述宿主机的内存包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域,所述MMU与所述内存通信,所述MMU用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体的,本专利技术中的宿主机为服务器。第三方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。附图说明图1是本专利技术实施例的一种应用场景;图2是本专利技术实施例提供的一种虚拟机的内存地址分配方法的流程图;图3是本专利技术实施例提供的一种宿主机的结构示意图;图4是本专利技术实施例提供的另一种宿主机的结构示意图;图5是本专利技术实施例提供的又一种宿主机的结构示意图。具体实施方式下面结合附图和实施例对本专利技术进行详细描述。如图1所示,下面先对虚拟机的内存地址分配方法运行的环境进行描述。其中,虚拟机120运行在宿主机110上,宿主机110包括有掉电保护的物理内存区域111,虚拟机120包括有掉电保护的虚拟内存区域121。宿主机110可以是服务器、工作站、便携式电脑、台式电脑、平板电脑等。有掉电保护的物理内存区域111为宿主机110的物理内存中的部分或者全部,存储到有掉电保护的物理内存区域111的数据能够在在发生掉电时依然不丢失,具体可以通过备电设备将有掉电保护的物理内存区域111中的数据保存到非易失性设备中,或者本专利技术实施例中,有掉电保护的物理内存区域111是指提供该掉电保护的物理内存区域的内存设备为非易失性内存设备,发生掉电后该内存设备中的数据不丢失。有掉电保护的虚拟内存区域121为虚拟机120的虚拟内存中的部分或者全部,有掉电保护的虚拟内存区域121在分配宿主机110的物理内存地址时,将会分配有掉电保护的物理内存区域111的物理内存地址。如图2所示,在步骤210中:当虚拟机产生缺页中断时,宿主机确定虚拟机产生缺页中断的虚拟内存地址是否属于有掉电保护的虚拟内存区域,如果属于有掉电保护的虚拟内存区域,进入步骤220:宿主机从有掉电保护的物理内存区域为虚拟机的虚拟内存地址分配宿主机的物理内存地址;如果不属于有掉电保护的虚拟内存区域,进入步骤230:宿主机为虚拟机的虚拟内存地址从没有掉电保护的物理内存区域分配宿主机的物理内存地址。本专利技术实施例中,宿主机在确定虚拟机产生缺页中断的虚拟内存地址属于有掉电保护的虚拟内存区域后,直接为虚拟机的虚拟内存地址从有掉电保护的物理内存区域分配宿主机的物理内存地址,提高了为虚拟机有掉电保护需求的虚拟内存地址分配宿主机有掉电保护的物理内存地址的效率。在本专利技术的一具体实施例中,虚拟内存区域地址为有掉电保护的虚拟内存区域的信息可以是:有掉电保护的虚拟本文档来自技高网...
虚拟机的内存地址分配方法以及装置

【技术保护点】
一种虚拟机的内存地址分配方法,其特征在于,虚拟机运行在宿主机上,所述宿主机包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域,所述方法包括:所述宿主机确定所述虚拟机产生缺页中断的虚拟内存地址属于所述有掉电保护的虚拟内存区域;所述宿主机从所述有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址。

【技术特征摘要】
1.一种虚拟机的内存地址分配方法,其特征在于,虚拟机运行在宿主机上,所述宿主机包括有掉电保护的物理内存区域,所述虚拟机包括有掉电保护的虚拟内存区域,所述方法包括:所述宿主机确定所述虚拟机产生缺页中断的虚拟内存地址属于所述有掉电保护的虚拟内存区域;所述宿主机从所述有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址。2.根据权利要求1所述的方法,其特征在于,所述宿主机存储有所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息;所述宿主机确定所述虚拟机产生缺页中断的虚拟内存地址为属于所述有掉电保护的虚拟内存区域,具体包括:所述宿主机根据所述虚拟内存地址查询所述信息,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域。3.根据权利要求2所述的方法,其特征在于,所述虚拟机的配置文件中存储有所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息;所述宿主机根据所述虚拟内存地址查询所述信息,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域,具体包括:所述宿主机根据所述虚拟内存地址查询所述虚拟机的配置文件,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域。4.根据权利要求2所述的方法,其特征在于,所述宿主机和虚拟机的共享文件中存储有所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息;所述宿主机根据所述虚拟内存地址查询所述信息,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域,具体包括:所述宿主机根据所述虚拟内存地址查询所述共享文件,确定所述虚拟内存地址为属于所述有掉电保护的虚拟内存区域。5.根据权利要求2-4任一权利要求所述的方法,其特征在于,所述虚拟内存区域地址为有掉电保护的虚拟内存区域的信息具体为:所述有掉电保护的虚拟内存区域的起始地址以及长度,或者,所述有掉电保护的虚拟内存区域的起始地址和结束地址,或者,有掉电保护的虚拟内存区域的结束地址和长度。6.根据权利要求1所述的方法,其特征在于,所述宿主机存储所述有虚拟机中的进程需要访问的有掉电保护的虚拟内存地址的信息;所述宿主机确定所述虚拟机产生缺页中断的虚拟内存地址属于所述有掉电保护的虚拟内存区域,具体包括:所述宿主机根据所述虚拟内存地址查询所述信息,确定所述虚拟内存地址为所述进程访问的虚拟内存地址。7.根据权利要求1至6任一所述的方法,其特征在于,所述宿主机从所述有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址,具体包括:所述宿主机建立所述虚拟内存地址与所述宿主机的物理内存地址的映射关系。8.根据权利要求1至6任一所述的方法,其特征在于,所述宿主机从所述有掉电保护的物理内存区域为所述虚拟内存地址分配所述宿主机的物理内存地址,具体包括:所述宿主机建立所述虚拟机的物理内存地址与所述宿主机的物理内存地址的映射关系;其中,所述虚拟内存地址映射到所述虚拟机的物理内存地址。9.一种宿主机...

【专利技术属性】
技术研发人员:高蒙刘昆鹏
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1