[发明专利]Xen虚拟化系统的全映射方法及装置在审
申请号: | 201410416150.0 | 申请日: | 2014-08-22 |
公开(公告)号: | CN105373413A | 公开(公告)日: | 2016-03-02 |
发明(设计)人: | 刘熠;汪翼;吴冬凌 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 秦莹 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | xen 虚拟 系统 映射 方法 装置 | ||
技术领域
本发明涉及Xen虚拟化系统领域,特别是涉及一种Xen虚拟化系统的全映射方法及装置。
背景技术
随着硬件虚拟化技术的发展,中央处理器(CentralProcessingUnit,简称为CPU)虚拟化已经比较成熟,不会成为虚拟化系统性能的瓶颈了。但是,对于输入/输出(Input/Output,简称为I/O)设备虚拟化来说,在很多场景下仍然是制约虚拟化系统性能的瓶颈。I/O设备虚拟化主要包括虚拟网络设备和虚拟磁盘设备。
研究表明,Xen虚拟化系统中域(Domain)之间的内存映射是耗费时间和资源较多的操作,而现有虚拟网络设备和磁盘设备在工作过程中存在着大量的授权表操作及内存映射,因此减少Domain间内存映射次数可极大提高Xen虚拟化系统的性能。
图1是现有技术中Xen虚拟化系统中I/O虚拟化前后端交互的示意图,因为虚拟网络设备和磁盘设备在前后端进行通信时具有类似的步骤,描述简洁起见,下面只针对虚拟磁盘设备进行介绍,如图1所示:
当客户操作系统(DomainU,简称为DomU)的文件系统中有I/O请求时,现有技术流程是:步骤1,前端驱动收到I/O请求;步骤2,首先分配授权表(granttable)的授权引用(grantreference);步骤3,DomU通过事件通道通知给宿主操作系统(Domain0,简称为Dom0);步骤4,Dom0从共享I/O环中取出前端设备发来的读写请求。然后对于每个段(segment),通过page_to_pfn、pfn_to_mfn将页(page)转换为物理页框(MachineFrameNumber,以下简称mfn),取出一个空闲的授权引用,授权后端访问该page。当I/O请求完成后,删除之前对该page的授权。步骤5,Dom0后端收到I/O请求后,根据请求类型,映射(map)到Dom0自己的内存空间,然后根据请求建立bio请求,最后将bio请求提交给真实的物理设备进行处理。其中,bio用来描述单一的I/O请求,它记录了一次I/O操作所必需的相关信息,例如,用于I/O操作的数据缓存位置、I/O操作的块设备起始扇区、是读操作还是写操作等等。在上述处理过程中,后端映射和解映射前端的共享页面是一个非常消耗时间及资源的操作。因此,急需解决现有的Xen虚拟化系统中半虚拟化磁盘驱动和半虚拟化网络驱动中Domain间内存映射带来的较大开销,而导致的虚拟化系统性能不高的问题。
鉴于现有技术的上述缺陷,本发明要解决的问题是提供一种虚拟网络设备和磁盘设备的全映射的方法,以减少Domain间内存映射的次数,提高Xen虚拟化系统的性能。
发明内容
鉴于现有技术中Xen虚拟化系统中半虚拟化磁盘驱动和半虚拟化网络驱动中Domain间内存映射带来的较大开销,而导致的虚拟化系统性能不高的问题,提出了本发明以便提供一种Xen虚拟化系统的全映射方法及装置。
本发明提供一种Xen虚拟化系统的全映射方法,包括:
在宿主操作系统初始化时,建立物理页框与宿主操作系统虚拟地址的对应关系,将所有机器物理内存地址映射到自己的虚拟地址空间;
接收前端输入/输出请求,通过对应关系获取相应物理页框对应的页面,并进行输入/输出请求提交。
优选地,在宿主操作系统初始化时,建立物理页框与宿主操作系统虚拟地址的对应关系,将所有机器物理内存地址映射到自己的虚拟地址空间具体包括:
在宿主操作系统初始化时,遍历所有的内存块,对于随机存取存储器类型的内存块,将每个内存块的起始物理地址对应的物理页框和结束物理地址对应的物理页框保存在一个数组中,建立物理页框物理页框与宿主操作系统虚拟地址的对应关系;
将所有机器物理内存地址映射到操作系统内核的虚拟地址空间,更新映射需要的配置结构。
优选地,接收前端输入/输出请求,通过对应关系获取相应物理页框对应的页面,并进行输入/输出请求提交具体包括:
当客户操作系统的文件系统中有输入/输出请求时,通过超级调用获取段所在页面的物理页框,并将物理页框放置到输入/输出共享环的seg结构中;
宿主操作系统前端驱动通过事件通道告知宿主操作系统后端由输入/输出请求到来;
宿主操作系统后端取出存放在seg结构中的物理页框,根据对应关系获取物理页框对应的页面,并进行输入/输出请求提交。
优选地,通过超级调用获取段所在页面的mfn具体包括:
在Xen中增加一个超级调用号,其中,Xen是一个开放源代码虚拟机监视器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410416150.0/2.html,转载请声明来源钻瓜专利网。