[发明专利]虚拟机系统中的USB设备访问方法、装置及控制系统有效
申请号: | 200810101649.7 | 申请日: | 2008-03-10 |
公开(公告)号: | CN101533375A | 公开(公告)日: | 2009-09-16 |
发明(设计)人: | 席振新;陈军;林洋 | 申请(专利权)人: | 联想(北京)有限公司 |
主分类号: | G06F13/12 | 分类号: | G06F13/12;G06F9/455 |
代理公司: | 北京银龙知识产权代理有限公司 | 代理人: | 许 静 |
地址: | 100085北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 系统 中的 usb 设备 访问 方法 装置 控制系统 | ||
技术领域
本发明涉及虚拟机技术领域,特别是一种虚拟机系统中的USB设备访问 方法、装置及控制系统。
背景技术
在现有的虚拟机系统中,用户经常需要接触外插USB设备的虚拟化。现 有的虚拟机系统中的外插USB设备的虚拟化比较常用的一种解决方案为DM (Device Module,设备模型)方案。
采用上述的DM方案的虚拟机系统如图1所示,其中以一个GOS(Guest Operation System,客户操作系统)为例进行说明,当然该GOS可以是多个。 如图1所示,在SOS(Service Operation System,服务操作系统)中设置有与 GOS对应的DM,在此,即为模拟USB主机控制器,为GOS提供模拟的USB 主机控制器。
GOS启动时,扫描总线的操作为VMM(Virtual Machine Monitor,虚拟机 监视器)截获后,转发给模拟USB主机控制器,由模拟USB主机控制器给 GOS注册虚拟USB设备,GOS中的应用程序通过设置于GOS的USB驱动、 USB集线器、USB主机控制器访问虚拟USB设备时,被VMM拦截,VMM 将访问数据通过接口模块发送到模拟USB主机控制器,由模拟USB主机控制 器对访问数据进行转换后,发送到真实USB控制器驱动,由真实USB控制器 驱动将数据进行处理后发送到真实USB设备。
然而,结合上述的描述和图1可以发现,上述的DM方案中,一次USB 的传输需要经历的模块太多,导致USB传输的过程太多,而且在USB传输的 处理过程中,多个模块都需要被调用才能执行其功能,所以大大影响了USB 设备的性能。
发明内容
本发明的目的是提供一种虚拟机系统中的USB设备访问方法、装置及系 统,提高虚拟机系统中USB设备访问的性能。
为了实现上述目的,本发明实施例提供了一种虚拟USB集线器,包括:
接口模块,用于从USB设备驱动接收IO请求包;
第一发送模块,用于从所述IO请求包提取第一USB请求块数据包,并将 所述第一USB请求块数据包包装成底层能够识别的第二USB请求块数据包后 发送到虚拟机监视器;
第一接收模块,用于根据所述第一USB请求块将从所述虚拟机监视器接 收到的第一数据包组装成符合操作系统要求的第三USB请求块数据包,并发 送到所述USB设备驱动;
所述第一数据包为真实USB控制器驱动根据第四USB请求块数据包对真 实USB设备操作所得到的数据包;
所述第四USB请求块数据包由所述第二USB请求块数据包转换得到。
优选的,上述的虚拟USB集线器,还包括:
队列处理模块,用于将所述第一发送模块当前发送的所述第一USB请求 块数据包放入到等待工作队列;
所述第一接收模块具体包括:
接收单元,用于从所述虚拟机监视器接收所述第一数据包;
查找单元,用于从所述等待工作队列中查找与所述第一数据包相对应的第 一USB请求块数据包;
组装单元,用于根据查找得到的所述第一USB请求块数据包,将所述第 一数据包组装成所述第三USB请求块数据包;
发送单元,用于将所述第三USB请求块数据包发送到所述USB设备驱动。
优选的,上述的虚拟USB集线器,还包括:
第一管理模块,用于通过所述虚拟机监视器接收USB设备到来事件或拔 除事件,并在接收到所述到来事件时创建相应的USB设备,并通知客户操作 系统的即插即用管理器,在接收到所述拔除事件时直接通知所述即插即用管理 器。
为了实现上述目的,本发明实施例还提供了一种USB调度器,包括:
第二接收模块,用于通过虚拟机监视器从虚拟USB集线器接收第二USB 请求块数据包;
格式转换模块,用于将所述第二USB请求块数据包转换为真实USB控制 器驱动能识别的第四USB请求块数据包;
第二发送模块,用于将所述第四USB请求块数据包发送给设置于所述服 务操作系统的真实USB控制器驱动,并将从所述真实USB控制器驱动接收到 的第一数据包通过所述虚拟机监视器返回给所述虚拟USB集线器;
所述第一数据包为所述真实USB控制器驱动根据所述第四USB请求块数 据包对真实USB设备操作后所得到的数据包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810101649.7/2.html,转载请声明来源钻瓜专利网。