CN101751274A - 一种虚拟机系统及其通用串行总线设备的卸载方法 - Google Patents
一种虚拟机系统及其通用串行总线设备的卸载方法 Download PDFInfo
- Publication number
- CN101751274A CN101751274A CN200810240172A CN200810240172A CN101751274A CN 101751274 A CN101751274 A CN 101751274A CN 200810240172 A CN200810240172 A CN 200810240172A CN 200810240172 A CN200810240172 A CN 200810240172A CN 101751274 A CN101751274 A CN 101751274A
- Authority
- CN
- China
- Prior art keywords
- usb
- equipment
- gos
- module
- unloading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明提供了一种虚拟机系统及其通用串行总线设备的卸载方法,该系统包括宿主操作系统HOS和客户操作系统GOS,第二USB驱动模块,包括一卸载单元;第一定向模块,将第二USB物理设备定向到第二USB驱动模块,第二USB物理设备为通过扩展坞设备接入且需要在GOS中使用的设备;第二USB驱动模块,将第一定向模块定向过来的第二USB物理设备加载为通过扩展坞设备接入的第二虚拟USB设备;事件监控模块,在检测到在有扩展坞设备卸载请求时,向GOS发送一通知;事件模拟模块,基于通知,针对所述第二虚拟USB设备,产生卸载命令,由卸载单元基于卸载命令去卸载第二虚拟USB设备。本发明实现了虚拟机系统中扩展坞设备卸载事件的自动处理。
Description
技术领域
本发明涉及虚拟技术领域,特别是一种虚拟机系统及其通用串行总线设备的卸载方法。
背景技术
然而,由于计算机主机上外部接口布局的有限性,一旦在某些时刻有很多的外部设备需要同时与计算机主机进行通信,就可能存在外部接口不足,这种现象在笔记本电脑上体现的尤为明显。
为了解决上述的问题,现在很多的计算机主机都可以提供一个扩展坞(Dock)接口,通过该扩展坞接口可以连接扩展的外部设备,其中该外部设备包括USB(Universal Serial Bus,通用串行总线)设备。
操作系统设计里面也有Dock设备和Dock设备卸载事件的处理机制。当按下设置于计算机上的Dock设备卸载按钮时,操作系统就会自动询问并卸载Dock设备上的所有设备,对于USB设备而言,如果Dock设备上的USB设备正在使用,就不能够正常卸载,此时操作系统会自动提示卸载失败,如果Dock设备上的USB设备没有使用,就能够自动卸载成功。
现有的虚拟机系统中,如图1所示,USB物理设备插入主机的USB接口或Dock设备的USB接口后,HOS(Host Operation System,宿主操作系统)中的真实USB控制器驱动模块为真实USB设备加载后端驱动,并通知HOS中的模拟USB主机控制器虚拟出相同的USB设备供GOS(Guest OperationSystem,客户操作系统)使用。
发明人在实现本发明实施例的过程中,发现现有技术中在虚拟机系统中使用Dock设备卸载事件来进行USB设备的卸载至少存在如下问题:
由于HOS是在硬件层虚拟整个USB控制器,和操作系统无关,无法知道GOS中对某个具体USB设备的设备驱动的使用状态,所以在Dock设备卸载事件触发后,现有的虚拟机系统一般采用以下两种方式来实现卸载:
第一种方式是由HOS强行卸载Dock设备上的所有USB物理设备,相当于手动拔出一个USB物理设备;或者
第二种方式是由用户进入GOS,手动卸载Dock设备上的USB物理设备,然后返回HOS进行Dock设备卸载事件的处理。
从以上方式可以看出,在第一种方式下,一旦USB物理设备还在被GOS使用,则有可能损坏USB物理设备中的数据,而第二种方式下,需要用户进行多次操作,非常繁琐。
发明内容
本发明实施例的目的是提供一种虚拟机系统及其通用串行总线设备的卸载方法,安全合理地卸载通过Dock设备接入的USB物理设备。
为了实现上述目的,本发明实施例提供了一种虚拟机系统,包括宿主操作系统HOS和客户操作系统GOS,所述虚拟机系统还包括:
第二USB驱动模块,设置于所述GOS,所述第二USB驱动模块包括有一卸载单元;
第一定向模块,设置于所述HOS,用于将第二通用串行总线USB物理设备定向到所述第二USB驱动模块,所述第二USB物理设备为通过扩展坞设备接入且需要在所述GOS中使用的USB物理设备;
所述第二USB驱动模块,用于将所述第一定向模块定向过来的所述第二USB物理设备加载为第二虚拟USB设备,所述第二虚拟USB设备为通过Dock接入的设备;
事件监控模块,设置于所述HOS,用于在检测到在有Dock设备卸载请求时,向所述GOS发送一通知;
事件模拟模块,设置于所述GOS,基于所述通知,针对所述第二虚拟USB设备,产生卸载命令;
其中,所述卸载单元,用于基于所述卸载命令去卸载所述第二虚拟USB设备。
上述的系统,其中,还包括:
第二定向模块,设置于所述HOS,用于将所述USB物理设备中通过主板USB接口接入,且需要在所述GOS中使用的第一USB物理设备定向到第一USB驱动模块;
所述第一USB驱动模块,设置于所述GOS,用于将所述第二定向模块定向过来的所述第一USB物理设备加载为第一虚拟USB设备。
上述的系统,其中,还包括:
第一判断模块,用于判断所述第一USB物理设备和第二USB物理设备是否在所述GOS中使用,并在所述USB物理设备在所述GOS中使用时,触发所述第一定向模块和第二定向模块。
上述的系统,其中,述第一定向模块中还包括:
事件管理单元,用于将所述第二USB驱动模块对所述第二虚拟USB设备的卸载结果通知即插即用管理器,以完成Dock设备卸载事件的处理。
为了实现上述目的,本发明实施例还提供了一种虚拟机系统的通用串行总线设备的卸载方法,所述通用串行总线设备为通过扩展坞设备接入,且在所述虚拟机系统的客户操作系统GOS中使用的第二通用串行总线USB物理设备,且所述第二USB物理设备通过所述扩展坞设备接入后被宿主操作系统HOS信号定向到所述GOS中的第二USB驱动模块,所述方法包括:
所述第二USB驱动模块将所述第二USB物理设备加载为第二虚拟USB设备;
配置所述第二虚拟USB设备为通过扩展坞接入的设备;
所述GOS基于接收到的通知,针对所述第二虚拟USB设备,产生卸载命令;所述通知是所述HOS在检测到扩展坞设备卸载请求时发送的;
所述第二USB驱动模块基于所述卸载命令,卸载所述第二虚拟USB设备。
上述的方法,还包括:
所述HOS将通过主板USB接口接入,且需要在所述GOS中使用的第一USB物理设备定向到所述GOS中的第一USB驱动模块;
所述第一USB驱动模块将所述第一USB物理设备加载为第一虚拟USB设备。
上述的方法,还包括:
所述HOS中的即插即用管理器根据所述第二USB驱动模块对所述第二虚拟USB设备的卸载结果完成所述Dock设备卸载事件的处理。
本发明实施例具有以下的有益效果:
本发明实施例中,由于通过Dock设备接入的USB设备被定向到GOS中专用于通过Dock设备接入的USB设备的驱动模块,并被配置为通过Dock设备接入的USB设备,而在按下DOCK按钮时,在HOS的通知下,GOS能够与专用于通过Dock设备接入的USB设备的驱动模块一起执行卸载操作,并自动返回结果,所以不用用户返回GOS去手动卸载,同时还避免了强行卸载而导致的数据损害问题。
附图说明
图1为现有的虚拟机系统的结构示意图;
图2为本发明实施例的虚拟机系统的结构示意图;
图3为本发明实施例的方法的结构示意图。
具体实施方式
本发明实施例的一种虚拟机系统及其通用串行总线设备的卸载方法中,HOS区分插入需要在GOS中使用的USB设备的接入类型,在USB设备来自Dock设备时,并将该USB设备定向到GOS中支持Dock USB接口的前端驱动模块,由GOS中支持Dock USB接口的前端驱动模块加载来自Dock设备的USB设备的驱动,在HOS监测到Dock设备卸载事件时,将其通知GOS,由GOS的PNP管理器实现支持Dock USB接口的前端驱动模块的卸载和USB设备的卸载,HOS的PNP管理器根据GOS的卸载结果完成Dock设备卸载事件的处理。
本发明实施例的虚拟机系统如图1所示,包括宿主操作系统HOS、客户操作系统GOS和主板,所述主板上设置有Dock设备接口和USB设备接口,其中,还包括:
真实USB驱动模块,设置于HOS,与接入所述主板的USB物理设备交互;
第一判断模块,用于判断所述USB物理设备是否在GOS中使用,并在所述判断结果指示所述USB物理设备在GOS中使用时触发定向模块;
定向模块,设置于HOS,用于在所述判断结果指示所述USB物理设备在GOS中使用时,将所述USB物理设备中的通过主板USB接口接入的第一USB物理设备定向到第一驱动模块,将通过Dock设备接入的第二USB物理设备定向到第二驱动模块;
所述第一USB驱动模块,设置于GOS,用于将所述定向模块定向过来的所述第一USB物理设备加载为第一虚拟USB设备;
所述第二USB驱动模块,设置于GOS,用于将所述定向模块定向过来的所述第二USB物理设备加载为第二虚拟USB设备,并在Dock设备卸载事件触发时,根据PNP管理器的通知卸载所述第二虚拟USB设备;所述第二虚拟USB设备被配置为通过Dock接入的设备;
事件监控模块,设置于HOS,用于检测所述HOS中的Dock设备卸载事件(Dock设备卸载请求),并在检测到所述Dock设备卸载事件时通知GOS;
事件模拟模块,设置于GOS的BIOS系统中,并在接收到所述事件监控模块发送的通知后,模拟并触发所述扩展坞设备卸载事件;也就是基于事件监控模块发送的通知,针对所述第二虚拟USB设备,产生卸载命令,该卸载命令就是由事件模拟模块模拟并触发的扩展坞设备卸载事件;
所述第二USB驱动模块,基于该卸载命令(也就是Dock设备卸载事件触发时),根据PNP管理器的通知卸载所述第二虚拟USB设备。
设置于定向模块中的事件管理单元,用于将所述第二USB驱动模块对所述第二虚拟USB设备的卸载结果通知PNP(Plug and Play,即插即用)管理器,以完成Dock设备卸载事件的处理。
其中,事件管理单元获取所述第二USB驱动模块对所述第二虚拟USB设备的卸载结果可以是主动获取的方式,也可以是第二USB驱动模块在Dock设备卸载事件处理结束后主动通知。
配置所述第二USB驱动模块上的第二虚拟USB设备为通过Dock接入的设备可以由事件模拟模块来完成,当然也可以是其它单独设置的模块来完成。
下面对事件管理单元获取卸载结果的过程详细描述如下。
事件模拟模块在GOS完成Dock设备卸载事件后,能够知道GOS的卸载结果,而且事件模拟模块在Dock设备卸载事件没有完成时,也能知道Dock设备卸载事件什么时候处理完毕。
而第二USB驱动模块在其USB设备驱动卸载后,也能够知道卸载结果,但是在USB设备驱动不能卸载时,就不知道其是不能卸载还是正在卸载过程中,所以所述第二USB驱动模块在被事件管理单元询问时,需要询问事件模拟模块Dock设备卸载事件是否除了完成,如果已经完成,则第二USB驱动模块判断第二虚拟USB设备的卸载结果,并返回,如果没有完成,则等待Dock设备卸载事件完成后,再判断第二虚拟USB设备的卸载结果,并返回。
页:6
下面对本发明实施例的方法进行说明,如图3所示,本发明实施例的方法包括:
步骤301,HOS将通过Dock设备接入,且需要在GOS中使用的第二USB物理设备定向到GOS中的专用于Dock USB接口的第二驱动模块;
当然,在步骤301之前,USB设备插入到DOCK设备的USB接口上面时,HOS就会自动加载第一定向模块,生成一个定向模块的实例,由该定向模块来进行定向。
步骤302,所述第二USB驱动模块将所述第一定向模块定向过来的所述第二USB设备加载为第二虚拟USB设备;,本步骤之后,GOS中的应用程序就可以通过该第二驱动模块和所述第二USB物理设备进行数据交互;
步骤303,GOS配置所述第二驱动模块上的所述虚拟USB设备为通过Dock接入的设备;通过在ACPI(Advanced Configuration and Power Interface,高级配置与电源接口)中配置将所述虚拟USB设备为通过Dock接入的设备。
步骤304,HOS监测到Dock设备卸载事件,通知GOS;
步骤305,GOS接收到通知时模拟并触发所述扩展坞设备卸载事件;
步骤306,基于所述模拟的扩展坞设备卸载事件,GOS与所述第二驱动模块共同执行卸载所述虚拟USB设备的操作;
其中,该共同执行卸载所述虚拟USB设备的操作具体如下所述:
如果虚拟USB设备正在使用,则直接提示无法卸载,卸载结果为失败,否则首先由第二驱动模块卸载虚拟USB设备,然后由GOS卸载第二驱动模块,卸载结果为成功。
步骤307,HOS根据所述卸载所述虚拟USB设备的操作的卸载结果完成Dock设备卸载事件的处理。
在卸载所述虚拟USB设备的操作的卸载结果为卸载成功时,还需要由HOS卸载定向模块。
在此,该卸载所述虚拟USB设备的操作的卸载结果可以由GOS主动通知HOS,也可以由HOS去主动获取。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种虚拟机系统,包括宿主操作系统HOS和客户操作系统GOS,其特征在于,所述虚拟机系统还包括:
第二通用串行总线USB驱动模块,设置于所述GOS,所述第二USB驱动模块包括有一卸载单元;
第一定向模块,设置于所述HOS,用于将第二USB物理设备定向到所述第二USB驱动模块,所述第二USB物理设备为通过扩展坞设备接入且需要在所述GOS中使用的USB物理设备;
所述第二USB驱动模块,用于将所述第一定向模块定向过来的所述第二USB物理设备加载为第二虚拟USB设备,所述第二虚拟USB设备为通过扩展坞设备接入的设备;
事件监控模块,设置于所述HOS,用于在检测到在有扩展坞设备卸载请求时,向所述GOS发送一通知;
事件模拟模块,设置于所述GOS,基于所述通知,针对所述第二虚拟USB设备,产生卸载命令;
其中,所述卸载单元用于基于所述卸载命令去卸载所述第二虚拟USB设备。
2.根据权利要求1所述的系统,其特征在于,还包括:
第二定向模块,设置于所述HOS,用于将所述USB物理设备中通过主板USB接口接入,且需要在所述GOS中使用的第一USB物理设备定向到第一USB驱动模块;
所述第一USB驱动模块,设置于所述GOS,用于将所述第二定向模块定向过来的所述第一USB物理设备加载为第一虚拟USB设备。
3.根据权利要求2所述的系统,其特征在于,还包括:
第一判断模块,用于判断所述第一USB物理设备和第二USB物理设备是否在所述GOS中使用,并在所述USB物理设备在所述GOS中使用时,触发所述第一定向模块和第二定向模块。
4.根据权利要求1所述的系统,其特征在于,所述第一定向模块中还包括:
事件管理单元,用于将所述第二USB驱动模块对所述第二虚拟USB设备的卸载结果通知即插即用管理器,以完成所述扩展坞设备卸载请求的处理。
5.一种虚拟机系统的通用串行总线设备的卸载方法,所述通用串行总线设备为通过扩展坞设备接入,且在所述虚拟机系统的客户操作系统GOS中使用的第二通用串行总线USB物理设备,且所述第二USB物理设备通过所述扩展坞设备接入后,被宿主操作系统HOS定向到所述GOS中的第二USB驱动模块,所述方法包括:
所述第二USB驱动模块将所述第二USB物理设备加载为第二虚拟USB设备;
配置所述第二虚拟USB设备为通过扩展坞接入的设备;
所述GOS基于接收到的通知,针对所述第二虚拟USB设备,产生卸载命令;所述通知是所述HOS在检测到扩展坞设备卸载请求时发送的;
所述第二USB驱动模块基于所述卸载命令,卸载所述第二虚拟USB设备。
6.根据权利要求5所述的方法,其特征在于,还包括:
所述HOS将通过主板USB接口接入,且需要在所述GOS中使用的第一USB物理设备定向到所述GOS中的第一USB驱动模块;
所述第一USB驱动模块将所述第一USB物理设备加载为第一虚拟USB设备。
7.根据权利要求5或6所述的方法,其特征在于,还包括:
所述HOS中的即插即用管理器根据所述第二USB驱动模块对所述第二虚拟USB设备的卸载结果完成所述扩展坞设备卸载请求的处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810240172A CN101751274B (zh) | 2008-12-18 | 2008-12-18 | 一种虚拟机系统及其通用串行总线设备的卸载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810240172A CN101751274B (zh) | 2008-12-18 | 2008-12-18 | 一种虚拟机系统及其通用串行总线设备的卸载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101751274A true CN101751274A (zh) | 2010-06-23 |
CN101751274B CN101751274B (zh) | 2012-10-10 |
Family
ID=42478290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810240172A Active CN101751274B (zh) | 2008-12-18 | 2008-12-18 | 一种虚拟机系统及其通用串行总线设备的卸载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101751274B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339264A (zh) * | 2011-09-19 | 2012-02-01 | 深圳航天东方红海特卫星有限公司 | 一种星载电子系统设备即插即用控制方法及系统 |
CN102385525A (zh) * | 2010-08-30 | 2012-03-21 | 联想(北京)有限公司 | 一种虚拟机系统及虚拟机系统中卸载扩展坞设备的方法 |
CN103970582A (zh) * | 2013-01-28 | 2014-08-06 | 联想(北京)有限公司 | Usb设备模拟方法 |
CN104317759A (zh) * | 2014-10-15 | 2015-01-28 | 国云科技股份有限公司 | 一种支持虚拟机usb存储设备热插拔的方法 |
CN106168903A (zh) * | 2016-06-30 | 2016-11-30 | 国云科技股份有限公司 | 一种管理usb和自动挂载到虚拟机的方法 |
CN106502721A (zh) * | 2016-09-26 | 2017-03-15 | 华为技术有限公司 | 一种命令卸载方法、装置及物理机 |
CN107239321A (zh) * | 2017-05-18 | 2017-10-10 | 中国科学院软件研究所 | 一种基于薄虚拟机监控器的usb存储设备安全访问控制方法 |
CN107943560A (zh) * | 2017-11-27 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种通用串行总线设备的挂载方法及挂载装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100504899C (zh) * | 2006-08-29 | 2009-06-24 | 联想(北京)有限公司 | 一种软件看门狗系统和方法 |
-
2008
- 2008-12-18 CN CN200810240172A patent/CN101751274B/zh active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102385525A (zh) * | 2010-08-30 | 2012-03-21 | 联想(北京)有限公司 | 一种虚拟机系统及虚拟机系统中卸载扩展坞设备的方法 |
CN102385525B (zh) * | 2010-08-30 | 2015-03-04 | 联想(北京)有限公司 | 一种虚拟机系统及虚拟机系统中卸载扩展坞设备的方法 |
CN102339264A (zh) * | 2011-09-19 | 2012-02-01 | 深圳航天东方红海特卫星有限公司 | 一种星载电子系统设备即插即用控制方法及系统 |
CN103970582A (zh) * | 2013-01-28 | 2014-08-06 | 联想(北京)有限公司 | Usb设备模拟方法 |
CN104317759A (zh) * | 2014-10-15 | 2015-01-28 | 国云科技股份有限公司 | 一种支持虚拟机usb存储设备热插拔的方法 |
CN106168903A (zh) * | 2016-06-30 | 2016-11-30 | 国云科技股份有限公司 | 一种管理usb和自动挂载到虚拟机的方法 |
CN106502721A (zh) * | 2016-09-26 | 2017-03-15 | 华为技术有限公司 | 一种命令卸载方法、装置及物理机 |
CN107239321A (zh) * | 2017-05-18 | 2017-10-10 | 中国科学院软件研究所 | 一种基于薄虚拟机监控器的usb存储设备安全访问控制方法 |
CN107239321B (zh) * | 2017-05-18 | 2020-08-21 | 中国科学院软件研究所 | 一种基于薄虚拟机监控器的usb存储设备安全访问控制方法 |
CN107943560A (zh) * | 2017-11-27 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种通用串行总线设备的挂载方法及挂载装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101751274B (zh) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101751274B (zh) | 一种虚拟机系统及其通用串行总线设备的卸载方法 | |
US20220222192A1 (en) | Host-safe firmware upgrade of a pci express device | |
CN101770389B (zh) | 一种计算机及管理硬件设备的方法 | |
CN102081581B (zh) | 电源管理系统及方法 | |
CN102439565B (zh) | 启动恢复的方法和装置 | |
EP2270675B1 (en) | Information processing apparatus and control method thereof | |
CN112463689B (zh) | 一种ocp卡热插拔装置、方法及计算机可读存储介质 | |
US7634649B2 (en) | Device initiated mode switching | |
EP2798428B1 (en) | Apparatus and method for managing operation of a mobile device | |
WO2020001150A1 (zh) | 一种即时提示SATA和NVMe设备在位变化的方法、系统及介质 | |
US7114067B2 (en) | Method of efficiently detecting whether a device is connected to an information processing system by detecting short circuits to predetermined signal lines of an IDE interface | |
CN102385525B (zh) | 一种虚拟机系统及虚拟机系统中卸载扩展坞设备的方法 | |
US6892263B1 (en) | System and method for hot swapping daughtercards in high availability computer systems | |
WO2015139431A1 (zh) | 一种稳定热插拔驱动方法、装置及一种支持热插拔设备 | |
CN114691223B (zh) | 一种通过网络传输bios日志的方法及装置 | |
US20060031654A1 (en) | Boot methods and systems | |
JP2002215398A (ja) | 情報処理装置、その使用方法及びプログラム | |
CN1632769B (zh) | Linux操作系统下IDE设备热插/拔系统及实现方法 | |
US20040030821A1 (en) | Portable and interface exchangeable storage system and method for executing the same | |
US11113227B2 (en) | Erasing device for long-term memory devices | |
CN107169378B (zh) | 一种计算机开机加密的方法和设备 | |
US20110208503A1 (en) | Apparatus and method for emulating removal and insertion of a plug-in device | |
US8250276B2 (en) | Online deletion of devices | |
TWI275998B (en) | IDE apparatus hot-plug system and implementation method under Linux operating system | |
JPH07271473A (ja) | コンピュータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |