本发明专利技术提供一种计算机及管理硬件设备的方法,其中计算机包括:硬件平台;第一操作模块,安装有第一操作系统;虚拟机管理模块,安装有虚拟机管理器;第二操作模块,安装有第二操作系统,第二操作系统安装在虚拟机管理器上;第一操作模块包括后端驱动控制模块,用于在检测到有卸载硬件设备的请求时,产生第一触发信号;第二操作模块包括前端驱动控制模块,用于获取所述第一触发信号,并根据第一触发信号获取第二操作系统对硬件设备的虚拟硬件设备的使用状态,产生使用状态结果;当使用状态结果表明第二操作系统正在使用虚拟硬件设备时,通知后端驱动控制模块对硬件设备不进行卸载。本发明专利技术保证能根据第二操作系统对设备的使用状态将设备安全地移除。
【技术实现步骤摘要】
本专利技术涉及计算机领域,特别是指。
技术介绍
在计算机领域的虚拟机
中,如图1所示,虚拟机系统通常包括安装在计 算机硬件平台上的虚拟机管理器(如S皿的Virtual Box)以及多个操作系统,其中一个操 作系统为Host OS,即主操作系统,其余为Guest 0S,即客户操作系统,在虚拟机环境下,用 户经常会用到硬件设备尤其是各种外插设备的虚拟化,如硬件平台中外插一个USB设备, 该USB设备可以被Host OS直接访问,而Guest OS访问的则是该USB设备的虚拟USB设备, 在Guest OS中虚拟一个USB控制器,当外插USB设备需要切换到Guest OS时,就需要把该 USB设备连接到虚拟USB控制器上,Guest OS就会自动发现该USB设备,并加载该USB设备 的驱动。 然而,当用户在Host OS工作时,如果需要立即移除该USB设备,如点击"安全弹 出设备",或者按下笔记本DOCK(扩展坞)设备上的UNDOCK按钮,不管Guest OS是否正在 使用该虚拟USB设备,Host OS都不会提示该设备正在被使用,而是直接硬卸载,这样如果 Guest OS正在对该设备的操作结果都没有保存,严重时,会引起Guest OS对该虚拟USB设 备的操作失败或者死锁。 当然,为了保证在Host OS中移除该设备时,不致出现上述问题,可以先切换到 Guest OS中,将该虚拟USB设备的驱动卸载,然后再切换到Host 0S,再移除该USB设备,但 这样用户每次在移除外插设备时,都需要在Host OS和Guest OS之间反复切换,非常不方 便。 专利技术人在实现本专利技术的过程中,发现现有技术中至少存在如下问题 在Host OS中需要移除硬件设备时,都是在Host OS中硬卸载,这样常常造成Guest OS对该硬件设备的虚拟硬件设备操作结果没有保存,严重时会导致Guest OS的操作失败或者死锁。
技术实现思路
本专利技术要解决的技术问题是提供,使第一操作系统可以根据第二操作系统对虚拟硬件设备的使用状态结果对硬件设备进行移除操作,减少用户在第一操作系统和第二操作系统之间的切换以及在第二操作系统中手动卸载虚拟硬件设备的操作,保证在第一操作系统中能够根据该第二操作系统对虚拟硬件设备的使用状态安全地将硬件设备移除,提高虚拟机的易用性。 为解决上述技术问题,本专利技术的实施例提供技术方案如下 —方面,提供一种计算机,包括 硬件平台,具有硬件设备; 第一操作模块,位于所述硬件平台之上,安装有第一操作系统; 虚拟机管理模块,安装有虚拟机管理器; 第二操作模块,安装有第二操作系统,所述第二操作系统安装在所述虚拟机管理 器上;所述第一操作模块包括 后端驱动控制模块,用于在检测到有卸载所述硬件设备的请求时,产生第一触发 信号; 所述第二操作模块包括 前端驱动控制模块,用于获取所述第一触发信号,并根据所述第一触发信号获取 所述第二操作系统对所述硬件设备的虚拟硬件设备的使用状态,产生使用状态结果;当所 述使用状态结果表明所述第二操作系统使用所述虚拟硬件设备时,产生一通知,并发送到 所述第一操作系统,所述第一操作系统在接收到所述通知后继续使用所述硬件设备。 优选的,所述前端驱动控制模块包括 前端驱动模块,用于获取所述第一触发信号,并根据所述第一触发信号产生对所 述虚拟硬件设备的卸载请求; 前端应用管理模块,用于根据所述卸载请求,获取所述第二操作系统对所述虚拟硬件设备的使用状态,产生使用状态结果;当所述使用状态结果表明所述第二操作系统使用所述虚拟硬件设备时,产生一通知,并发送到所述第一操作系统,所述第一操作系统接收到所述通知后继续使用所述硬件设备。 优选的,所述前端应用管理模块包括 获取模块,用于获取所述第二操作系统对所述虚拟硬件设备的使用状态,产生使 用状态结果; 第一处理模块,用于在所述使用状态结果表明所述第二操作系统使用所述虚拟硬 件设备时,产生一通知,并发送到所述第一操作系统,所述第一操作系统在接收到所述通知 后继续使用所述硬件设备; 第二处理模块,用于在所述使用状态结果表明所述虚拟硬件设备空闲时,对所述 虚拟硬件设备进行卸载,卸载成功后,产生一通知,并发送到所述第一操作系统,所述第一 操作系统接收到所述通知后对所述硬件设备进行卸载。 优选的,所述第二处理模块具体为 API函数处理模块,用于在所述使用状态结果表明所述虚拟硬件设备空闲时,通过调用API函数对所述虚拟硬件设备进行卸载,卸载成功后,产生一通知,并发送到所述第一操作系统,所述第一操作系统接收到所述通知后对所述硬件设备进行卸载。 优选的,所述后端驱动控制模块包括设备管理器,用于对所述硬件设备执行卸载操作。 优选的,所述硬件平台具有外插硬件设备的接口,所述硬件设备为外插硬件设 备; 所述后端驱动控制模块还包括 第一驱动加载模块,用于在检测到有外插硬件设备插入所述外插硬件设备的接口 时,加载所述外插硬件设备的驱动,产生第二触发信号; 所述前端驱动控制模块还包括 第二驱动加载模块,用于根据所述第二触发信号加载所述外插硬件设备的虚拟外插硬件设备的驱动。 优选的,所述虚拟机管理模块和所述第二操作模块均安装在所述第一操作模块 中。本专利技术的实施例还提供一种管理硬件设备的方法,应用于虚拟机系统,包括 获取第一操作系统根据移除硬件设备的请求而产生的第一触发信号; 根据所述第一触发信号获取第二操作系统对所述硬件设备的虚拟硬件设备的使用状态,产生使用状态结果; 所述使用状态结果表明所述第二操作系统使用所述虚拟硬件设备时,产生一通 知; 发送所述通知到所述第一操作系统; 所述第一操作系统接收到所述通知后继续使用所述硬件设备。 优选的,上述方法还包括 在所述使用状态结果表明所述虚拟硬件设备空闲时,对所述虚拟硬件设备进行卸 载; 对所述虚拟硬件设备卸载成功后,产生一通知,并发送到所述第一操作系统,所述第一操作系统接收到所述通知后对所述硬件设备进行卸载。优选的,所述对所述虚拟硬件设备进行卸载的步骤具体为 通过调用API函数对所述虚拟硬件设备进行卸载。 本专利技术的实施例具有以下有益效果 上述方案通过第一操作模块中的后端驱动控制模块,将根据第一操作系统中移除 硬件设备的请求而产生的触发信号传输到第二操作系统,第二操作系统根据当前对该硬件 设备的虚拟硬件设备的使用状态,产生使用状态结果,当使用状态结果表明该虚拟硬件设 备使用时,通知第一操作系统不能移除该硬件设备,继续使用,使得第二操作系统对虚拟硬 件设备的操作在虚拟硬件设备被卸载之前能够得到保存,避免由于第一操作系统对该硬件 设备的硬卸载而致第二操作系统的操作失败或者死锁;同时减少用户在第一操作系统和第 二操作系统之间的切换以及在第二操作系统中手动卸载虚拟硬件设备的操作,保证在第一 操作系统中能够根据该第二操作系统对该虚拟硬件设备的使用状态安全地将硬件设备移 除,提高虚拟机的易用性。附图说明 图1为现有计算机虚拟架构示意图; 图2为本专利技术的实施例计算机虚拟架构示意图; 图3为图2所示计算机虚拟架构中的前端驱动控制模块具体结构示意图; 图4为图3所示计算机虚拟架构中的前端应用管理模块具体结构示意图; 图5为图2所示计算机虚拟架构的另一具本文档来自技高网...
【技术保护点】
一种计算机,包括:硬件平台,具有硬件设备;第一操作模块,位于所述硬件平台之上,安装有第一操作系统;虚拟机管理模块,安装有虚拟机管理器;第二操作模块,安装有第二操作系统,所述第二操作系统安装在所述虚拟机管理器上;其特征在于,所述第一操作模块包括:后端驱动控制模块,用于在检测到有卸载所述硬件设备的请求时,产生第一触发信号;所述第二操作模块包括:前端驱动控制模块,用于获取所述第一触发信号,并根据所述第一触发信号获取所述第二操作系统对所述硬件设备的虚拟硬件设备的使用状态,产生使用状态结果;当所述使用状态结果表明所述第二操作系统使用所述虚拟硬件设备时,生成一通知,并发送到所述第一操作系统;其中,在所述第一操作系统接收到所述通知后,所述第一操作系统继续使用所述硬件设备。
【技术特征摘要】
【专利技术属性】
技术研发人员:陈博,席振新,陈军,刘春梅,
申请(专利权)人:北京联想软件有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。