The mapping method, a virtual machine memory device and data transmission device, wherein, the method includes: obtaining the address information for the first memory allocation of the first virtual machine (101); the address information corresponding to the virtual physical memory page for the second virtual machine (102), the second virtual machine is a virtual machine the need for data transmission with the first virtual machine; according to the address information of the first memory address information and the physical memory, the relation between the first memory space linear address and the physical memory of the memory address (103). This method can improve data transmission rate and reduce power consumption.
【技术实现步骤摘要】
【国外来华专利技术】一种虚拟机内存的映射方法、装置及数据传输设备
本专利技术涉及计算机
,尤其涉及一种虚拟机内存的映射方法、装置及数据传输设备。
技术介绍
xen是一个基于开源软件组织的虚拟机监控器(virtualmachinemonitor,简称为“VMM”),其可以允许在单一设备上同时运行多个操作系统实例。xen平台为虚拟机提供了半虚拟化网卡,其由客户操作系统里的虚拟网卡前端(简称“前端”,即frontend)和虚拟网卡后端(简称“后端”,即backend)两部分构成,该虚拟网卡前端和虚拟网卡后端之间能够通过xen提供的hypercall(超级调用)进行内存页的授权拷贝或授权映射,从而完成数据传输。例如,从前端来看,在虚拟网卡接收方向(即前端接收后端发送的数据时),是通过前端将用于接收数据的内存页的信息传给后端,使得后端在接收到数据需要传输到前端时,能够通过xen提供的授权拷贝机制将数据复制到前端提供的内存页中;在虚拟网卡发送方向(即前端向后端发送数据时),是前端将存有待发送数据的内存页的信息传给后端,后端通过xen提供的授权拷贝机制,将数据从前端提供的内存页中拷贝到后端对 ...
【技术保护点】
一种虚拟机内存的映射方法,其特征在于,包括:获取为第一虚拟机分配的第一内存空间的地址信息;获取第二虚拟机的虚拟页面对应的物理内存的地址信息,所述第二虚拟机为需要与所述第一虚拟机进行数据传输的虚拟机;根据所述第一内存空间的地址信息与所述物理内存的地址信息,建立所述第一内存空间的线性地址与所述物理内存的内存地址的映射关系。
【技术特征摘要】
【国外来华专利技术】1.一种虚拟机内存的映射方法,其特征在于,包括:获取为第一虚拟机分配的第一内存空间的地址信息;获取第二虚拟机的虚拟页面对应的物理内存的地址信息,所述第二虚拟机为需要与所述第一虚拟机进行数据传输的虚拟机;根据所述第一内存空间的地址信息与所述物理内存的地址信息,建立所述第一内存空间的线性地址与所述物理内存的内存地址的映射关系。2.根据权利要求1所述的方法,其特征在于,所述第一内存空间的地址信息包括所述第一内存空间的长度值,所述长度值指示的所述第一内存空间的内存大小与所述第二虚拟机的所有虚拟页面对应的虚拟内存的内存大小相同。3.根据权利要求1或2所述的方法,其特征在于,所述物理内存的地址信息包括至少一个物理页面的主机页序号MFN;所述获取第二虚拟机的虚拟页面对应的物理内存的地址信息,包括:根据存储的第二虚拟机的虚拟页面对应的虚机页序列号PFN与MFN的映射关系,确定出所述第二虚拟机中每一个PFN对应的MFN;所述根据所述第一内存空间的地址信息与所述物理内存的地址信息,建立所述第一内存空间的线性地址与所述物理内存的内存地址的映射关系,包括:确定所述第二虚拟机中每一个PFN对应的虚拟页面在所述第一内存空间对应的线性地址,并建立确定出的线性地址与该PFN对应的MFN的映射关系。4.根据权利要求3所述的方法,其特征在于,所述第一虚拟机和所述第二虚拟机的类型均为半虚拟化PV类型,所述第一内存空间的地址信息还包括所述第一内存空间的基地址;所述确定所述第二虚拟机中每一个PFN对应的虚拟页面在所述第一内存空间对应的线性地址,包括:根据所述第一内存空间的基地址、所述第二虚拟机的各虚拟页面的PFN、每一个虚拟页面的内存大小,确定出所述第二虚拟机中每一个PFN对应的虚拟页面在所述第一内存空间对应的线性地址。5.根据权利要求4所述的方法,其特征在于,在所述确定所述第二虚拟机中每一个PFN对应的虚拟页面在所述第一内存空间对应的线性地址,并建立确定出的线性地址与该PFN对应的MFN的映射关系之后,所述方法还包括:检测所述第二虚拟机的各虚拟页面对应的PFN与MFN的映射关系是否发生变更;若任一虚拟页面对应的PFN与MFN的映射关系发生变更,则获取映射关系发生变更的PFN及其对应的MFN,确定出该PFN在所述第一内存空间对应的线性地址,并将该PFN对应的MFN更新为与确定出的该第一内存空间对应的线性地址具有映射关系的MFN。6.根据权利要求3所述的方法,其特征在于,所述第一虚拟机和所述第二虚拟机的类型均为硬件虚拟化HVM类型;所述方法还包括:获取为第一虚拟机分配的第二内存空间的地址信息,所述第二内存空间的地址信息包括所述第二内存空间的基地址;所述确定所述第二虚拟机中每一个PFN对应的虚拟页面在所述第一内存空间对应的线性地址,并建立确定出的线性地址与该PFN对应的MFN的映射关系,包括:根据所述第二内存空间的基地址、所述第二虚拟机的各虚拟页面的PFN、每一个虚拟页面的页面大小,确定出所述第二虚拟机中每一个PFN对应的虚拟页面在所述第二内存空间对应的线性地址,并建立确定出的线性地址与该PFN对应的MFN的映射关系;建立所述第二内存空间的线性地址与所述第一内存空间的线性地址的映射关系,以将所述第二虚拟机的各虚拟页面对应的MFN映射到所述第一内存空间。7.根据权利要求6所述的方法,其特征在于,在所述确定所述第二虚拟机中每一个PFN对应的虚拟页面在所述第一内存空间对应的线性地址,并建立确定出的线性地址与该PFN对应的MFN的映射关系之后,所述方法还包括:检测所述第二虚拟机的各虚拟页面对应的PFN与MFN的映射关系是否发生变更;若任一虚拟页面对应的PFN与MFN的映射关系发生变更,则获取映射关系发生变更的PFN及其对应的MFN,确定出该PFN在所述第二内存空间对应的线性地址,并将该PFN对应的MFN更新为与确定出的该第二内存空间对应的线性地址具有映射关系的MFN。8.根据权利要求6所述的方法,其特征在于,所述方法还包括:当创建所述第一虚拟机时,为所述第一虚拟机分配所述第二内存空间,并将所述第二内存空间的类型设置为保留类型。9.根据权利要求6-8任一项所述的方法,其特征在于,所述第二内存空间的地址信息还包括所述第二内存空间的长度值,所述长度值指示的所述第二内存空间的内存大小与所述第二虚拟机的所有虚拟页面对应的虚拟内存的内存大小相同。10.根据权利要求1-9任一项所述的方法,其特征在于,所述第二虚拟机是通过所述第一虚拟机发送的虚拟机标识确定的。11.一种虚拟机内存的映射装置,其特征在于,包括:获取单元,用于获取为第一虚拟机分配的第一内存空间的地址信息;所述获取单元...
【专利技术属性】
技术研发人员:庄毓新,于洲,张磊强,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。