[发明专利]一种基于软件模拟的USB硬件虚拟化方法有效
申请号: | 202011423363.8 | 申请日: | 2020-12-08 |
公开(公告)号: | CN112506818B | 公开(公告)日: | 2022-05-31 |
发明(设计)人: | 颜亮;文刚;刘栋;赖韬 | 申请(专利权)人: | 中国电子科技集团公司第三十研究所 |
主分类号: | G06F13/10 | 分类号: | G06F13/10 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 贾年龙 |
地址: | 610000 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 软件 模拟 usb 硬件 虚拟 方法 | ||
本发明公开了一种基于软件模拟的USB硬件虚拟化方法,包括以下步骤:S1、在操作系统启动时自动加载USB主机控制器驱动和配套的应用程序;S2、为配套的应用程序设置必要参数;S3、将USB硬件接入操作系统,通过主机控制驱动自动根据物理设备的信息虚拟出多个USB虚拟设备;S4、通过操作系统识别出多个USB虚拟设备并添加到设备列表。本发明改进了传统的USB设备虚拟化技术,支持一个设备同时虚拟出多个,最高可支持128个功能完全相同的硬件设备,每一个虚拟出的硬件设备可同时独立工作,互不影响。
技术领域
本发明涉及USB硬件虚拟化技术领域,具体涉及一种基于软件模拟的USB硬件虚拟化方法。
背景技术
USB硬件设备虚拟化是解决连接在主机的USB硬件设备在远程的其它系统上使用的一种通用技术。一般的实现方案为通过网络的方式,将USB设备定向到其它系统,如运行在主机的虚拟机系统、主机连接的云终端系统、局域网内其它主机等。现有的实现方案如USBRedirector、USBIP等都已实现通过网络的方式,通过安装在主机与远程主机的程序,将连接在主机的USB设备重定向到远程的系统,在远程操作系统无需做任何特殊配置即可使用重定向的虚拟USB设备。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于软件模拟的USB硬件虚拟化方法解决了主机端与虚拟机系统无法同时使用USB设备,一个硬件设备无法同时映射到多个不同的系统的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种基于软件模拟的USB硬件虚拟化方法,包括以下步骤:
S1、在操作系统启动时自动加载USB主机控制器驱动和配套的应用程序;
S2、为配套的应用程序设置必要参数;
S3、将USB硬件接入操作系统,通过主机控制驱动自动根据物理设备的信息虚拟出多个USB虚拟设备;
S4、通过操作系统识别出多个USB虚拟设备并添加到设备列表。
进一步地:所述步骤S2中的必要参数包括:需要虚拟化的硬件设备信息,如PID和VID;需要虚拟的硬件个数;虚拟硬件的硬件设备信息,如PID、VID、物理序列号、名称和描述信息。
进一步地:所述USB虚拟设备的具体使用流程为:
A、通过应用程序根据PID和VID信息枚举USB虚拟设备;
B、根据需要通过应用程序选择一个USB虚拟设备;
C、通过应用程序以使用物理设备的方式使用USB虚拟设备。
进一步地:所述步骤C的具体步骤为:
C1、通过USB虚拟化的主机控制驱动获取应用程序发送的USB请求,将请求路由到物理设备中;
C2、通过物理设备响应该USB请求,并通过主机控制驱动将响应结果写入USB虚拟设备的输出端口;
C3、通过应用程序获取到主机控制驱动提交的响应结果并使用。
进一步地:所述应用程序可将USB虚拟硬件再次提供给USB映射软件,USB映射软件可任意选择一个虚拟设备并映射到其它操作系统,实现同一个USB硬件在多个不同操作系统中使用。
进一步地:对所述USB请求进行细粒度的切片管理与协同,适应简单和复杂的USB硬件,保证多个USB虚拟硬件并发访问时无差错的响应。
进一步地:所述对USB请求进行细粒度的切片管理与协同具体为:
针对无状态机的单次请求,主机控制驱动内部实现请求队列,当响应完成后再执行下一个请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第三十研究所,未经中国电子科技集团公司第三十研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011423363.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智慧城市市政河道治理系统及其使用方法
- 下一篇:一种正极板栅的制备方法