[发明专利]一种虚拟机系统及被动硬件设备访问方法有效
申请号: | 200910086782.4 | 申请日: | 2009-06-30 |
公开(公告)号: | CN101937407A | 公开(公告)日: | 2011-01-05 |
发明(设计)人: | 汤良;林洋;昌盛 | 申请(专利权)人: | 联想(北京)有限公司 |
主分类号: | G06F13/12 | 分类号: | G06F13/12 |
代理公司: | 北京银龙知识产权代理有限公司 11243 | 代理人: | 许静 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟机 系统 被动 硬件 设备 访问 方法 | ||
技术领域
本发明涉及虚拟机技术,特别是一种虚拟机系统及被动硬件设备访问方法。
背景技术
现有的虚拟机可以使用硬件直接访问、硬件模拟、驱动前后端等方式对硬件设备进行访问。
现有的虚拟机系统中,如果采用硬件模拟或驱动前后端的方式来实现对硬件的访问,都存在对LINUX系统的驱动依赖性比较大和对新的硬件平台兼容性比较差等问题,详细说明如下。
采用硬件模拟的方式来实现对硬件的访问时,由于管理系统是LINUX,这样对LINUX系统的驱动依赖性比较大,对新的硬件平台兼容性比较差,另外性能比较差。
而采用驱动前后端的方式来实现对硬件的访问时,需要在Windows加入驱动,大大加大了虚拟机产品的工作量,同时对LINUX系统的驱动依赖性也比较大,对新的硬件平台兼容性比较差。
因此,为了解决上述问题的存在,出现了使用硬件直接访问的方式来实现对硬件的访问,这种方式不依赖于LINUX系统的驱动,而且对新的硬件平台兼容性比较好,然而,发明人在实现本发明实施例的过程中发现,使用硬件直接访问的方式来实现对硬件的访问存在如下的问题:
现有的虚拟机系统中,不管硬件是被动硬件设备还是主动设备,任意一个GOS(Guest Operation System,客户操作系统)采用硬件直接访问的方式对硬件进行访问时,GOS要求该设备是被其独占的,因此,在多个系统要求同时访问同一个硬件设备时,从操作系统层面来看,除了一个操作系统,其它的操作系统都无法访问该硬件设备。
发明内容
本发明实施例的目的是提供一种一种虚拟机系统及被动硬件设备访问方法,使得从操作系统层面上来看,虚拟机中的多个系统可以同时访问同一个被动硬件设备。
为了实现上述目的,本发明实施例提供了一种虚拟机系统,包括:至少两个客户操作系统、虚拟机监视器和能被所述至少两个客户操作系统访问的被动硬件设备,所述虚拟机监视器具体包括:
缓存模块;
访问通道,用于所述至少两个客户操作系统与所述被动硬件设备之间进行交互;
命令接收模块,用于接收从所述至少两个客户操作系统中的第一客户操作系统发送来的第一访问命令;
访问处理模块,用于判断所述访问通道的状态是否为空闲,在所述访问通道的状态为空闲时,使所述第一客户操作系统通过所述访问通道与所述被动硬件设备交互,执行所述第一访问命令,在所述访问通道的状态为占用时,将所述第一访问命令存储到所述缓存模块,并在所述访问通道的状态转变为空闲时,使所述第一客户操作系统通过所述访问通道与所述被动硬件设备交互,执行存储在所述缓存模块中的所述第一访问命令。
上述的虚拟机系统,其中,所述虚拟机监视器还包括:
通道状态设置模块,用于设置所述访问通道的状态为空闲或占用;
从所述访问处理模块执行一条所述访问命令开始到所述访问命令执行完成期间,所述通道状态设置模块设置所述访问通道的状态为占用状态,并在所述访问命令执行完成之后,将所述访问通道的状态修改为空闲状态。
上述的虚拟机系统,其中,所述虚拟机监视器还包括:
执行结果返回模块,用于将所述访问处理模块执行所述第一访问命令的执行结果返回对应的客户操作系统。
上述的虚拟机系统,其中,在从所述被动硬件设备同时接收到中断和设备状态空闲指示时,所述通道状态设置模块判断所述访问命令执行完成。
上述的虚拟机系统,其中,在所述第一访问命令包括两条或两条以上的指令时,所述访问处理模块具体包括:
判断单元,用于判断所述访问通道的当前状态,获取一判断结果;
第一执行单元,用于在所述判断结果指示所述访问通道为空闲状态或占用所述访问通道的客户操作系统为所述第一客户操作系统时,通过所述访问通道与所述被动硬件设备交互,执行当前接收到的所述指令;
缓存处理单元,用于在所述判断结果指示所述访问通道为占用状态,且占用所述访问通道的客户操作系统不是所述第一客户操作系统时,将当前接收到的所述指令存储到所述缓存模块;
第二执行单元,用于在所述访问通道的状态转变为空闲时,通过所述访问通道与所述被动硬件设备交互,执行存储在所述缓存模块中的所述指令。
为了实现上述目的,本发明实施例还提供了一种被动硬件设备访问方法,用于虚拟机系统中,所述虚拟机系统包括至少两个客户操作系统和虚拟机监视器,所述被动硬件设备访问方法包括:
接收所述至少两个客户操作系统中的第一客户操作系统发送来的第一访问命令;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910086782.4/2.html,转载请声明来源钻瓜专利网。