[发明专利]一种虚拟机监视器、虚拟机系统及其内存处理方法有效
| 申请号: | 200710304035.4 | 申请日: | 2007-12-24 |
| 公开(公告)号: | CN101470633A | 公开(公告)日: | 2009-07-01 |
| 发明(设计)人: | 汤良 | 申请(专利权)人: | 联想(北京)有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/455;G06F12/02 |
| 代理公司: | 北京银龙知识产权代理有限公司 | 代理人: | 许 静 |
| 地址: | 100085北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 虚拟机 监视器 系统 及其 内存 处理 方法 | ||
技术领域
本发明涉及虚拟机技术,特别是涉及一种虚拟机监视器、虚拟机系统及其内存处理方法。
背景技术
在现有的虚拟化过程中,都有一个通用的虚拟设备平台,包括虚拟声卡、虚拟显卡等,由虚拟机监视器(Virtual Machine Monitor,VMM)将客户操作系统(Guest OS,GOS)对虚拟设备平台中的虚拟设备的访问通过服务操作系统(Service OS,SOS)或者主机操作系统(Host OS)访问到真实的硬件上。
上述的架构无法解决多个GOS对真实硬件的共享问题,因此,在上述通用的虚拟化平台中,不论真实硬件平台是什么,虚拟化出来的设备都一致,虽然这样对于各个客户操作系统都适用,但会出现如下问题:
虚拟机系统显示的硬件设备与真实的硬件设备不一致,用户无法看到真实的硬件;
真实硬件的某些特性无法使用,如显卡硬件加速特性、声卡的高级特性等。
为解决上述问题的存在,现有技术中提供了一种虚拟机系统及其硬件设备访问方法,其公开了下述的虚拟机系统。
为了解决系统内存与硬件作DMA(Direct Memory Access,直接存储器访问)操作的问题,将原来运行在低端内存的虚拟机监视器的地址从低端内存移到高端内存,使GOS的物理内存地址与系统的物理内存地址(及机器地址)保持一一对应,以实现GOS的DMA传输。
然而,上述的虚拟机系统及其硬件设备访问方法仅能解决一个GOS的DMA传输问题,在虚拟机系统中存在多个GOS时,无法实现所有的GOS的DMA传输问题。
发明内容
本发明实施例的目的是提供一种虚拟机监视器、虚拟机系统及其内存处理方法,在虚拟机系统存在多个GOS,使所有的GOS都能实现DMA传输。
为了实现上述目的,本发明实施例提供了一种虚拟机监视器,其中,包括:
分配模块,用于分别为多个客户操作系统中的每个客户操作系统分配物理内存;
第一设置模块,用于设置所述每个客户操作系统对应的所述物理内存中的可用物理内存,所述每个客户操作系统对应的所述可用物理内存的地址没有交叉;
第一映射模块,用于在所述每个客户操作系统对应的可用物理内存与第一机器内存之间建立一一对应的第一映射关系,所述第一机器内存的地址与所述每个客户操作系统对应的可用物理内存的地址相同。
优选地,上述的虚拟机监视器还包括:
第二设置模块,用于设置所述客户操作系统对应的E820表,将所述客户操作系统的所述物理内存中所述可用物理内存之外的物理内存配置为不可用物理内存。
优选地,上述的虚拟机监视器还包括:
第二映射模块,用于在所述每个客户操作系统的不可用物理内存与第二机器内存之间建立第二映射关系。
优选地,上述的虚拟机监视器还包括:
第三映射模块,用于在第二客户操作系统的用于启动的物理内存与第三机器内存之间建立第三映射关系,其中,所述第二客户操作系统的可用物理内存地址的起始值大于零。
为了更好的实现上述目的,本发明实施例还提供了一种虚拟机系统,包括多个客户操作系统和虚拟机监视器,其中,所述虚拟机监视器包括:
分配模块,用于分别为多个客户操作系统中的每个客户操作系统分配物理内存;
第一设置模块,用于设置所述每个客户操作系统对应的所述物理内存中的可用物理内存,所述每个客户操作系统对应的所述可用物理内存的地址没有交叉;
第一映射模块,用于在所述每个客户操作系统对应的可用物理内存与第一机器内存之间建立一一对应的第一映射关系,所述第一机器内存的地址与所述每个客户操作系统对应的可用物理内存的地址相同。
优选地,上述的虚拟机系统中还包括:
第二设置模块,用于设置所述客户操作系统对应的E820表,将所述客户操作系统的所述物理内存中所述可用物理内存之外的物理内存配置为不可用物理内存。
优选地,上述的虚拟机系统中还包括:
第二映射模块,用于在所述每个客户操作系统的不可用物理内存与第二机器内存之间建立第二映射关系。
优选地,上述的虚拟机系统中还包括:
第三映射模块,用于建立第二客户操作系统的用于启动的物理内存与第三机器内存之间的第三映射关系;
所述第二客户操作系统的可用物理内存地址的起始值大于零。
为了更好的实现上述目的,本发明实施例还提供了一种虚拟机系统的内存处理方法,其中,包括:
分别为多个客户操作系统中的每个客户操作系统分配物理内存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710304035.4/2.html,转载请声明来源钻瓜专利网。





