欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種計算機及管理硬件設(shè)備的方法

文檔序號:6472178閱讀:275來源:國知局
專利名稱:一種計算機及管理硬件設(shè)備的方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機領(lǐng)域,特別是指一種計算機及管理硬件設(shè)備的方法。
背景技術(shù)
在計算機領(lǐng)域的虛擬機技術(shù)領(lǐng)域中,如圖1所示,虛擬機系統(tǒng)通常包括安裝在計 算機硬件平臺上的虛擬機管理器(如S皿的Virtual Box)以及多個操作系統(tǒng),其中一個操 作系統(tǒng)為Host OS,即主操作系統(tǒng),其余為Guest 0S,即客戶操作系統(tǒng),在虛擬機環(huán)境下,用 戶經(jīng)常會用到硬件設(shè)備尤其是各種外插設(shè)備的虛擬化,如硬件平臺中外插一個USB設(shè)備, 該USB設(shè)備可以被Host OS直接訪問,而Guest OS訪問的則是該USB設(shè)備的虛擬USB設(shè)備, 在Guest OS中虛擬一個USB控制器,當(dāng)外插USB設(shè)備需要切換到Guest OS時,就需要把該 USB設(shè)備連接到虛擬USB控制器上,Guest OS就會自動發(fā)現(xiàn)該USB設(shè)備,并加載該USB設(shè)備 的驅(qū)動。 然而,當(dāng)用戶在Host OS工作時,如果需要立即移除該USB設(shè)備,如點擊"安全彈 出設(shè)備",或者按下筆記本DOCK(擴展塢)設(shè)備上的UNDOCK按鈕,不管Guest OS是否正在 使用該虛擬USB設(shè)備,Host OS都不會提示該設(shè)備正在被使用,而是直接硬卸載,這樣如果 Guest OS正在對該設(shè)備的操作結(jié)果都沒有保存,嚴(yán)重時,會引起Guest OS對該虛擬USB設(shè) 備的操作失敗或者死鎖。 當(dāng)然,為了保證在Host OS中移除該設(shè)備時,不致出現(xiàn)上述問題,可以先切換到 Guest OS中,將該虛擬USB設(shè)備的驅(qū)動卸載,然后再切換到Host 0S,再移除該USB設(shè)備,但 這樣用戶每次在移除外插設(shè)備時,都需要在Host OS和Guest OS之間反復(fù)切換,非常不方 便。 發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題 在Host OS中需要移除硬件設(shè)備時,都是在Host OS中硬卸載,這樣常常造成
Guest OS對該硬件設(shè)備的虛擬硬件設(shè)備操作結(jié)果沒有保存,嚴(yán)重時會導(dǎo)致Guest OS的操作
失敗或者死鎖。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種計算機及管理硬件設(shè)備的方法,使第一操作
系統(tǒng)可以根據(jù)第二操作系統(tǒng)對虛擬硬件設(shè)備的使用狀態(tài)結(jié)果對硬件設(shè)備進行移除操作,減
少用戶在第一操作系統(tǒng)和第二操作系統(tǒng)之間的切換以及在第二操作系統(tǒng)中手動卸載虛擬
硬件設(shè)備的操作,保證在第一操作系統(tǒng)中能夠根據(jù)該第二操作系統(tǒng)對虛擬硬件設(shè)備的使用
狀態(tài)安全地將硬件設(shè)備移除,提高虛擬機的易用性。 為解決上述技術(shù)問題,本發(fā)明的實施例提供技術(shù)方案如下 —方面,提供一種計算機,包括 硬件平臺,具有硬件設(shè)備; 第一操作模塊,位于所述硬件平臺之上,安裝有第一操作系統(tǒng);
虛擬機管理模塊,安裝有虛擬機管理器; 第二操作模塊,安裝有第二操作系統(tǒng),所述第二操作系統(tǒng)安裝在所述虛擬機管理 器上;所述第一操作模塊包括 后端驅(qū)動控制模塊,用于在檢測到有卸載所述硬件設(shè)備的請求時,產(chǎn)生第一觸發(fā) 信號; 所述第二操作模塊包括 前端驅(qū)動控制模塊,用于獲取所述第一觸發(fā)信號,并根據(jù)所述第一觸發(fā)信號獲取 所述第二操作系統(tǒng)對所述硬件設(shè)備的虛擬硬件設(shè)備的使用狀態(tài),產(chǎn)生使用狀態(tài)結(jié)果;當(dāng)所 述使用狀態(tài)結(jié)果表明所述第二操作系統(tǒng)使用所述虛擬硬件設(shè)備時,產(chǎn)生一通知,并發(fā)送到 所述第一操作系統(tǒng),所述第一操作系統(tǒng)在接收到所述通知后繼續(xù)使用所述硬件設(shè)備。
優(yōu)選的,所述前端驅(qū)動控制模塊包括 前端驅(qū)動模塊,用于獲取所述第一觸發(fā)信號,并根據(jù)所述第一觸發(fā)信號產(chǎn)生對所 述虛擬硬件設(shè)備的卸載請求; 前端應(yīng)用管理模塊,用于根據(jù)所述卸載請求,獲取所述第二操作系統(tǒng)對所述虛擬
硬件設(shè)備的使用狀態(tài),產(chǎn)生使用狀態(tài)結(jié)果;當(dāng)所述使用狀態(tài)結(jié)果表明所述第二操作系統(tǒng)使
用所述虛擬硬件設(shè)備時,產(chǎn)生一通知,并發(fā)送到所述第一操作系統(tǒng),所述第一操作系統(tǒng)接收
到所述通知后繼續(xù)使用所述硬件設(shè)備。 優(yōu)選的,所述前端應(yīng)用管理模塊包括 獲取模塊,用于獲取所述第二操作系統(tǒng)對所述虛擬硬件設(shè)備的使用狀態(tài),產(chǎn)生使 用狀態(tài)結(jié)果; 第一處理模塊,用于在所述使用狀態(tài)結(jié)果表明所述第二操作系統(tǒng)使用所述虛擬硬 件設(shè)備時,產(chǎn)生一通知,并發(fā)送到所述第一操作系統(tǒng),所述第一操作系統(tǒng)在接收到所述通知 后繼續(xù)使用所述硬件設(shè)備; 第二處理模塊,用于在所述使用狀態(tài)結(jié)果表明所述虛擬硬件設(shè)備空閑時,對所述 虛擬硬件設(shè)備進行卸載,卸載成功后,產(chǎn)生一通知,并發(fā)送到所述第一操作系統(tǒng),所述第一 操作系統(tǒng)接收到所述通知后對所述硬件設(shè)備進行卸載。
優(yōu)選的,所述第二處理模塊具體為 API函數(shù)處理模塊,用于在所述使用狀態(tài)結(jié)果表明所述虛擬硬件設(shè)備空閑時,通過
調(diào)用API函數(shù)對所述虛擬硬件設(shè)備進行卸載,卸載成功后,產(chǎn)生一通知,并發(fā)送到所述第一
操作系統(tǒng),所述第一操作系統(tǒng)接收到所述通知后對所述硬件設(shè)備進行卸載。 優(yōu)選的,所述后端驅(qū)動控制模塊包括設(shè)備管理器,用于對所述硬件設(shè)備執(zhí)行卸載操作。 優(yōu)選的,所述硬件平臺具有外插硬件設(shè)備的接口,所述硬件設(shè)備為外插硬件設(shè) 備; 所述后端驅(qū)動控制模塊還包括 第一驅(qū)動加載模塊,用于在檢測到有外插硬件設(shè)備插入所述外插硬件設(shè)備的接口 時,加載所述外插硬件設(shè)備的驅(qū)動,產(chǎn)生第二觸發(fā)信號;
所述前端驅(qū)動控制模塊還包括 第二驅(qū)動加載模塊,用于根據(jù)所述第二觸發(fā)信號加載所述外插硬件設(shè)備的虛擬外插硬件設(shè)備的驅(qū)動。 優(yōu)選的,所述虛擬機管理模塊和所述第二操作模塊均安裝在所述第一操作模塊 中。
本發(fā)明的實施例還提供一種管理硬件設(shè)備的方法,應(yīng)用于虛擬機系統(tǒng),包括 獲取第一操作系統(tǒng)根據(jù)移除硬件設(shè)備的請求而產(chǎn)生的第一觸發(fā)信號; 根據(jù)所述第一觸發(fā)信號獲取第二操作系統(tǒng)對所述硬件設(shè)備的虛擬硬件設(shè)備的使
用狀態(tài),產(chǎn)生使用狀態(tài)結(jié)果; 所述使用狀態(tài)結(jié)果表明所述第二操作系統(tǒng)使用所述虛擬硬件設(shè)備時,產(chǎn)生一通 知; 發(fā)送所述通知到所述第一操作系統(tǒng); 所述第一操作系統(tǒng)接收到所述通知后繼續(xù)使用所述硬件設(shè)備。
優(yōu)選的,上述方法還包括 在所述使用狀態(tài)結(jié)果表明所述虛擬硬件設(shè)備空閑時,對所述虛擬硬件設(shè)備進行卸 載; 對所述虛擬硬件設(shè)備卸載成功后,產(chǎn)生一通知,并發(fā)送到所述第一操作系統(tǒng),所述
第一操作系統(tǒng)接收到所述通知后對所述硬件設(shè)備進行卸載。
優(yōu)選的,所述對所述虛擬硬件設(shè)備進行卸載的步驟具體為 通過調(diào)用API函數(shù)對所述虛擬硬件設(shè)備進行卸載。 本發(fā)明的實施例具有以下有益效果 上述方案通過第一操作模塊中的后端驅(qū)動控制模塊,將根據(jù)第一操作系統(tǒng)中移除 硬件設(shè)備的請求而產(chǎn)生的觸發(fā)信號傳輸?shù)降诙僮飨到y(tǒng),第二操作系統(tǒng)根據(jù)當(dāng)前對該硬件 設(shè)備的虛擬硬件設(shè)備的使用狀態(tài),產(chǎn)生使用狀態(tài)結(jié)果,當(dāng)使用狀態(tài)結(jié)果表明該虛擬硬件設(shè) 備使用時,通知第一操作系統(tǒng)不能移除該硬件設(shè)備,繼續(xù)使用,使得第二操作系統(tǒng)對虛擬硬 件設(shè)備的操作在虛擬硬件設(shè)備被卸載之前能夠得到保存,避免由于第一操作系統(tǒng)對該硬件 設(shè)備的硬卸載而致第二操作系統(tǒng)的操作失敗或者死鎖;同時減少用戶在第一操作系統(tǒng)和第 二操作系統(tǒng)之間的切換以及在第二操作系統(tǒng)中手動卸載虛擬硬件設(shè)備的操作,保證在第一 操作系統(tǒng)中能夠根據(jù)該第二操作系統(tǒng)對該虛擬硬件設(shè)備的使用狀態(tài)安全地將硬件設(shè)備移 除,提高虛擬機的易用性。


圖1為現(xiàn)有計算機虛擬架構(gòu)示意圖; 圖2為本發(fā)明的實施例計算機虛擬架構(gòu)示意圖; 圖3為圖2所示計算機虛擬架構(gòu)中的前端驅(qū)動控制模塊具體結(jié)構(gòu)示意圖; 圖4為圖3所示計算機虛擬架構(gòu)中的前端應(yīng)用管理模塊具體結(jié)構(gòu)示意圖; 圖5為圖2所示計算機虛擬架構(gòu)的另一具體結(jié)構(gòu)示意圖; 圖6為圖5所示計算機的第二處理模塊具體結(jié)構(gòu)示意圖; 圖7為圖2所示計算機的又一具體架構(gòu)示意圖; 圖8為圖2所示計算機的又一具體架構(gòu)示意圖; 圖9為本發(fā)明的實施例管理硬件設(shè)備的方法流程示意圖。
具體實施例方式
為使本發(fā)明的實施例要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合 附圖及具體實施例進行詳細(xì)描述。 本發(fā)明的實施例針對現(xiàn)有技術(shù)中,當(dāng)?shù)诙僮飨到y(tǒng)使用一硬件設(shè)備的虛擬硬件設(shè) 備時,如果第一操作系統(tǒng)需要卸載該硬件設(shè)備,直接在第一操作系統(tǒng)中移除該硬件設(shè)備,相 對于第二操作系統(tǒng)來講,都是硬卸載,此時第二操作系統(tǒng)正在對該虛擬硬件設(shè)備執(zhí)行操作, 如打開該虛擬硬件設(shè)備上的文檔或者修改文檔,該硬件設(shè)備被移除,使得第二操作系統(tǒng)當(dāng) 前所打開的文檔不能保存,嚴(yán)重時導(dǎo)致第二操作系統(tǒng)操作失敗或者死鎖的問題,提供一種 計算機及管理硬件設(shè)備的方法。 如圖2所示,本發(fā)明的實施例計算機,包括 硬件平臺,具有硬件設(shè)備;該硬件設(shè)備既可以包括計算機通常所包括的基本設(shè)備, 如主板、聲卡、顯卡、內(nèi)存、CPU、硬盤、光驅(qū)等,當(dāng)然還可以包括外插設(shè)備,如可以是插入主板 上的PCI插槽的PCI設(shè)備,可以插入計算機USB接口的USB外插設(shè)備,串口設(shè)備,并口設(shè)備 等. 第一操作模塊,位于所述硬件平臺之上,安裝有第一操作系統(tǒng);該第一操作系統(tǒng)可 以為Host 0S,如Windows系統(tǒng),Windows XP系統(tǒng),VISTA系統(tǒng),Unix系統(tǒng)等;
虛擬機管理模塊,安裝有虛擬機管理器VMM ; 第二操作模塊,安裝有第二操作系統(tǒng),所述第二操作系統(tǒng)安裝在所述虛擬機管理 器上;該第二操作系統(tǒng)可以為Guest 0S,如Windows系統(tǒng),Windows XP系統(tǒng)、VISTA系統(tǒng)、 Unix系統(tǒng)等;該第二操作系統(tǒng)對底層硬件設(shè)備的訪問,都是基于虛擬機管理器為該第二操 作系統(tǒng)虛擬的硬件設(shè)備的訪問,真實的底層硬件設(shè)備被第一操作系統(tǒng)直接使用;其中,
所述第一操作模塊包括 后端驅(qū)動控制模塊,用于在檢測到有卸載所述硬件設(shè)備的請求時,產(chǎn)生第一觸發(fā) 信號; 所述第二操作模塊包括 前端驅(qū)動控制模塊,用于獲取所述第一觸發(fā)信號,并根據(jù)所述第一觸發(fā)信號獲取
所述第二操作系統(tǒng)對所述硬件設(shè)備的虛擬硬件設(shè)備的使用狀態(tài),產(chǎn)生使用狀態(tài)結(jié)果;當(dāng)所
述使用狀態(tài)結(jié)果表明所述第二操作系統(tǒng)使用所述虛擬硬件設(shè)備時,產(chǎn)生一通知,并發(fā)送到
所述第一操作系統(tǒng),所述第一操作系統(tǒng)接收到所述通知后繼續(xù)使用所述硬件設(shè)備。 該實施例通過在第一操作模塊中增加后端驅(qū)動控制模塊,該后端驅(qū)動控制模塊在
第一操作系統(tǒng)中檢測到有移除某一硬件設(shè)備的請求時,會產(chǎn)生第一觸發(fā)信號,該第一觸發(fā)
信號通過虛擬機管理器被傳輸?shù)降诙僮飨到y(tǒng)中,該第二操作模塊也同樣增加有前端驅(qū)動
控制模塊,該前端驅(qū)動控制模塊在接收到第一觸發(fā)信號后,會根據(jù)當(dāng)前第二操作系統(tǒng)對該
硬件設(shè)備的虛擬硬件設(shè)備的使用狀態(tài)產(chǎn)生使用狀態(tài)結(jié)果,該使用狀態(tài)如可以是虛擬硬件
設(shè)備正在被使用;也可以是,該虛擬硬件設(shè)備空閑;當(dāng)使用狀態(tài)結(jié)果表明虛擬硬件設(shè)備正
在被使用,不能卸載,則該第一操作系統(tǒng)也停止對該硬件設(shè)備的移除操作,繼續(xù)使用;如果
使用狀態(tài)表明虛擬硬件設(shè)備空閑,可以卸載,該第二操作系統(tǒng)對該虛擬硬件設(shè)備執(zhí)行卸載,
成功后,則該第一操作系統(tǒng)就可以對該硬件設(shè)備執(zhí)行移除操作,這樣使硬件設(shè)備可以安全地被卸載,避免了第二操作系統(tǒng)正在使用該虛擬硬件設(shè)備時,該硬件設(shè)備被第一操作系統(tǒng) 移除了,導(dǎo)致第二操作系統(tǒng)操作失敗或死鎖的問題。 如圖3所示,在上述圖2所示計算機虛擬架構(gòu)的基礎(chǔ)上,上述前端驅(qū)動控制模塊具 體包括 前端驅(qū)動模塊,用于獲取所述第一觸發(fā)信號,并根據(jù)所述第一觸發(fā)信號產(chǎn)生對所 述虛擬硬件設(shè)備的卸載請求;該前端驅(qū)動模塊負(fù)責(zé)第二操作系統(tǒng)所使用的虛擬硬件設(shè)備的 驅(qū)動管理,如可以產(chǎn)生卸載虛擬硬件設(shè)備的卸載請求等; 前端應(yīng)用管理模塊,用于根據(jù)所述卸載請求,獲取所述第二操作系統(tǒng)對所述虛擬 硬件設(shè)備的使用狀態(tài),產(chǎn)生使用狀態(tài)結(jié)果,當(dāng)所述使用狀態(tài)結(jié)果表明所述第二操作系統(tǒng)使 用所述虛擬硬件設(shè)備時,產(chǎn)生一通知,并發(fā)送到所述第一操作系統(tǒng),所述第一操作系統(tǒng)接收 到所述通知后對所述硬件設(shè)備不進行卸載,繼續(xù)使用。 該前端應(yīng)用管理模塊在接收到前端驅(qū)動模塊的對虛擬硬件設(shè)備的卸載請求時,嘗 試去刪除該虛擬硬件設(shè)備,此時,若該虛擬硬件設(shè)備正在被使用,則該前端應(yīng)用管理模塊就 會返回一個不可卸載的通知,如虛擬設(shè)備正在被使用,不能卸載,請等待;若該虛擬硬件 設(shè)備空閑,則該前端應(yīng)用管理模塊就會將該虛擬硬件設(shè)備從第二操作系統(tǒng)中刪除,并返回 一個可以卸載的通知,如可以卸載,并卸載成功。 第一操作模塊中的后端驅(qū)動控制模塊根據(jù)該前端應(yīng)用管理返回的通知對底層的
硬件設(shè)備執(zhí)行相應(yīng)的移除操作,如使用狀態(tài)為正在使用,不能卸載,則該第一操作模塊的
第一操作系統(tǒng)就會停止對該硬件設(shè)備的移除操作;如使用狀態(tài)為設(shè)備空閑,可以卸載,并
卸載成功,則該第一操作系統(tǒng)就會繼續(xù)執(zhí)行移除該硬件設(shè)備的操作。使該硬件設(shè)備可以安
全地被移除,不會出現(xiàn)第二操作系統(tǒng)對虛擬硬件設(shè)備操作失敗或者死鎖的現(xiàn)象。 當(dāng)然上述前端驅(qū)動模塊在接收到第一觸發(fā)信號后,還可以判斷該前端應(yīng)用管理模
塊是否存在,若不存在,則假設(shè)分配給該第二操作系統(tǒng)的虛擬硬件設(shè)備沒有被正在使用,則
直接向后端驅(qū)動控制模塊返回可以卸載的消息,若存在,則假設(shè)分配給該第二操作系統(tǒng)的
虛擬硬件設(shè)備有可能正在被使用,則產(chǎn)生一卸載該虛擬硬件設(shè)備的請求,發(fā)送給前端應(yīng)用
管理模塊,并等待前端應(yīng)用管理模塊對該虛擬硬件設(shè)備的返回結(jié)果。
如圖4所示,在上述實施例的基礎(chǔ)上,上述前端應(yīng)用管理模塊包括 獲取模塊,用于獲取所述第二操作系統(tǒng)對所述虛擬硬件設(shè)備的使用狀態(tài),產(chǎn)生使
用狀態(tài)結(jié)果;該使用狀態(tài)為,如該虛擬硬件設(shè)備正在被使用或者空閑; 第一處理模塊,用于在所述使用狀態(tài)結(jié)果表明所述第二操作系統(tǒng)正在使用所述虛 擬硬件設(shè)備時,產(chǎn)生一通知,并發(fā)送到所述第一操作系統(tǒng),所述第一操作系統(tǒng)接收到所述通 知后對所述硬件設(shè)備不進行卸載,繼續(xù)使用所述硬件設(shè)備; 第二處理模塊,用于在所述使用狀態(tài)結(jié)果表明所述虛擬硬件設(shè)備空閑時,對所述 虛擬硬件設(shè)備進行卸載,卸載成功后,產(chǎn)生一通知,并發(fā)送到所述第一操作系統(tǒng),所述第一 操作系統(tǒng)接收到所述通知后可以對所述硬件設(shè)備進行卸載。
如圖5所示,所述第二處理模塊具體為 API函數(shù)處理模塊,用于在所述使用狀態(tài)結(jié)果表明所述虛擬硬件設(shè)備空閑時,通過 調(diào)用API函數(shù)對所述虛擬硬件設(shè)備進行卸載,卸載成功后通知所述第一操作系統(tǒng)可以對所 述硬件設(shè)備進行卸載。如該第二操作系統(tǒng)為Windows操作系統(tǒng)時,該API函數(shù)處理模塊,通
8過調(diào)用Windows API (ApplicationProgramming Interface,應(yīng)用程序接口 ),安全卸載該虛 擬硬件設(shè)備的驅(qū)動以及Windows的系統(tǒng)文件驅(qū)動以及底層設(shè)備的內(nèi)核驅(qū)動等。
如圖6所示,在上述實施例的基礎(chǔ)上,上述后端驅(qū)動控制模塊包括
設(shè)備管理器,用于對所述硬件設(shè)備執(zhí)行相應(yīng)的操作; 如當(dāng)上述硬件平臺具有外插硬件設(shè)備的接口,所述硬件設(shè)備為外插硬件設(shè)備;則 該設(shè)備管理器可以為如PnP(即插即用)設(shè)備管理器;
因此,如圖7所示,上述后端驅(qū)動控制模塊還包括 第一驅(qū)動加載模塊,用于在檢測到有外插硬件設(shè)備插入所述外插硬件設(shè)備的接口 時,加載所述外插硬件設(shè)備的驅(qū)動,產(chǎn)生第二觸發(fā)信號;
上述前端驅(qū)動控制模塊還包括 第二驅(qū)動加載模塊,用于根據(jù)所述第二觸發(fā)信號加載所述外插硬件設(shè)備的虛擬外 插硬件設(shè)備的驅(qū)動。 如圖8所示,本發(fā)明的實施例的計算機,其中,所述虛擬機管理模塊和所述第二操 作模塊均安裝在所述第一操作模塊中。也就是說,該第二操作系統(tǒng)運行虛擬機管理器上,虛 擬機管理器運行在第一操作系統(tǒng)中,即通常Type II類型的虛擬計算機;當(dāng)然也可以應(yīng)用 到Type I類型的虛擬計算機中,此時,第一操作模塊,第二操作模塊均安裝在虛擬管理模塊 之上,該虛擬管理模塊安裝在硬件平臺之上,也就是說,第一操作系統(tǒng)和第二操作系統(tǒng)均運 行在虛擬機管理器上,該虛擬機管理器運行在硬件平臺上。 另外,上述所有實施例中,第一操作系統(tǒng)和第二操作系統(tǒng)為描述方便而所用,并不 用于限定是Host OS或者是Guest 0S,上述實施例中,以第一操作系統(tǒng)為Host OS,第二操作 系統(tǒng)為Guest OS為例進行描述;對于第一操作系統(tǒng)是Guest 0S,第二操作系統(tǒng)為Host OS 也同樣適用,對兩個操作均為Guest OS也同樣適用,即在第一Guest OS中安裝后端驅(qū)動控 制模塊,在第二 Guest OS中安裝前端驅(qū)動控制模塊,對設(shè)備進行前后端安全聯(lián)動卸載。
綜上,本發(fā)明的實施例通過在Host OS設(shè)置后端驅(qū)動控制模塊,當(dāng)GuestOS正在使 用虛擬硬件設(shè)備如USB設(shè)備時候,如果后端驅(qū)動控制模塊需要卸載該USB設(shè)備,現(xiàn)有技術(shù)沒 有這種通信機制,而本發(fā)明的上述實施例的后端驅(qū)動控制模塊將卸載該USB設(shè)備的請求, 先傳輸?shù)紾uest 0S, Guest OS根據(jù)當(dāng)前對該USB設(shè)備的使用狀態(tài),根據(jù)該使用狀態(tài)通知第 一操作系統(tǒng)是否對該USB設(shè)備執(zhí)行卸載或者移除操作,使得Guest OS對USB設(shè)備的操作結(jié) 果能夠得到保存,避免由于Host OS對該USB設(shè)備的硬卸載而致Guest OS的操作失敗或者 死鎖; 另外,用戶在Host OS環(huán)境中移除分配給Guest OS使用但Guest OS中未使用的 USB設(shè)備,即空閑的USB設(shè)備,能夠讓用戶較少切換到Guest OS和在Guest OS中手動卸載 USB設(shè)備的兩個操作,提高虛擬機的用戶使用性。 如圖9所示,本發(fā)明的實施例還提供一種管理硬件設(shè)備的方法,應(yīng)用于虛擬機系 統(tǒng),特別是Type II虛擬機系統(tǒng),該虛擬機系統(tǒng)中,第二操作系統(tǒng)安裝在虛擬機管理器中,第 二操作系統(tǒng)和虛擬機管理器均運行在第一操作系統(tǒng)中,該方法包括 步驟S91,獲取第一操作系統(tǒng)根據(jù)移除硬件設(shè)備的請求而產(chǎn)生的第一觸發(fā)信號,該 第一操作系統(tǒng)可以為如虛擬計算機中的Host OS; 步驟S92,根據(jù)所述第一觸發(fā)信號獲取第二操作系統(tǒng)對所述硬件設(shè)備的虛擬硬件設(shè)備的使用狀態(tài),產(chǎn)生使用狀態(tài)結(jié)果;該第二操作系統(tǒng)可以為如虛擬計算機中的Guest
OS ; 步驟S93,所述使用狀態(tài)結(jié)果表明所述第二操作系統(tǒng)使用所述虛擬硬件設(shè)備時,產(chǎn) 生一通知,并發(fā)送所述通知到所述第一操作系統(tǒng),所述第一操作系統(tǒng)接收到所述通知后對 所述硬件設(shè)備不進行卸載,繼續(xù)使用;具體來講,如果使用狀態(tài)結(jié)果為正在使用,不能卸 載,則通知該第一操作系統(tǒng)也就停止對該硬件設(shè)備的移除操作;如果使用狀態(tài)為設(shè)備空 閑,可以卸載并卸載成功,則通知第一操作也可以對該硬件設(shè)備執(zhí)行移除操作。其中,上述 方法還可包括 S94,在所述使用狀態(tài)結(jié)果表明所述虛擬硬件設(shè)備空閑時,對所述虛擬硬件設(shè)備進 行卸載; S95,對所述虛擬硬件設(shè)備卸載成功后,產(chǎn)生一通知,并發(fā)送所述通知到所述第一
操作系統(tǒng),所述第一操作系統(tǒng)接收到所述通知后,可以對所述硬件設(shè)備進行卸載。 而上述S94具體為 在所述使用狀態(tài)結(jié)果表明所述虛擬硬件設(shè)備空閑時,通過調(diào)用API函數(shù)對所述虛 擬硬件設(shè)備進行卸載。 上述方法實施例通過將根據(jù)第一操作系統(tǒng)中卸載一硬件設(shè)備的請求而產(chǎn)生的第 一觸發(fā)信號,先傳輸?shù)紾uest 0S, Guest OS根據(jù)當(dāng)前對該硬件設(shè)備的虛擬硬件設(shè)備的使用 狀態(tài),通知Host OS根據(jù)該Guest OS對該虛擬硬件設(shè)備的使用狀態(tài),對該硬件設(shè)備執(zhí)行卸 載或者移除操作,使得Guest OS對虛擬硬件設(shè)備的操作結(jié)果能夠保存,避免由于Host OS 對該硬件設(shè)備的硬卸載而致Guest OS的操作失敗或者死鎖; 另外,用戶在Host OS環(huán)境中移除分配給Guest OS使用,但Guest OS中未使用的 硬件設(shè)備,即空閑的硬件設(shè)備,能夠讓用戶較少切換到Guest OS和在Guest OS中手動卸載 虛擬硬件設(shè)備的兩個操作,提高虛擬機的用戶使用性。 上述所有實施例中,第一操作系統(tǒng)和第二操作系統(tǒng)為描述方便而所用,并不用于 限定是Host 0S或者是Guest 0S,上述實施例中,以第一操作系統(tǒng)為Host OS,第二操作系統(tǒng) 為Guest 0S為例進行描述;對于第一操作系統(tǒng)是GuestOS,第二操作系統(tǒng)為Host OS也同樣 適用,對兩個操作均為Guest OS也同樣適用,即在第一 Guest OS中產(chǎn)生第一觸發(fā)信號,在 第二 Guest OS中檢測對虛擬硬件設(shè)備的使用狀態(tài),實現(xiàn)對設(shè)備進行前后端安全聯(lián)動卸載。
以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也 應(yīng)視為本發(fā)明的保護范圍。
權(quán)利要求
一種計算機,包括硬件平臺,具有硬件設(shè)備;第一操作模塊,位于所述硬件平臺之上,安裝有第一操作系統(tǒng);虛擬機管理模塊,安裝有虛擬機管理器;第二操作模塊,安裝有第二操作系統(tǒng),所述第二操作系統(tǒng)安裝在所述虛擬機管理器上;其特征在于,所述第一操作模塊包括后端驅(qū)動控制模塊,用于在檢測到有卸載所述硬件設(shè)備的請求時,產(chǎn)生第一觸發(fā)信號;所述第二操作模塊包括前端驅(qū)動控制模塊,用于獲取所述第一觸發(fā)信號,并根據(jù)所述第一觸發(fā)信號獲取所述第二操作系統(tǒng)對所述硬件設(shè)備的虛擬硬件設(shè)備的使用狀態(tài),產(chǎn)生使用狀態(tài)結(jié)果;當(dāng)所述使用狀態(tài)結(jié)果表明所述第二操作系統(tǒng)使用所述虛擬硬件設(shè)備時,生成一通知,并發(fā)送到所述第一操作系統(tǒng);其中,在所述第一操作系統(tǒng)接收到所述通知后,所述第一操作系統(tǒng)繼續(xù)使用所述硬件設(shè)備。
2. 根據(jù)權(quán)利要求1所述的計算機,其特征在于,所述前端驅(qū)動控制模塊包括 前端驅(qū)動模塊,用于獲取所述第一觸發(fā)信號,并根據(jù)所述第一觸發(fā)信號產(chǎn)生對所述虛擬硬件設(shè)備的卸載請求;前端應(yīng)用管理模塊,用于根據(jù)所述卸載請求,獲取所述第二操作系統(tǒng)對所述虛擬硬件 設(shè)備的使用狀態(tài),產(chǎn)生使用狀態(tài)結(jié)果;當(dāng)所述使用狀態(tài)結(jié)果表明所述第二操作系統(tǒng)使用所 述虛擬硬件設(shè)備時,產(chǎn)生一通知,并發(fā)送到所述第一操作系統(tǒng),所述第一操作系統(tǒng)接收到所 述通知后,繼續(xù)使用所述硬件設(shè)備。
3. 根據(jù)權(quán)利要求2所述的計算機,其特征在于,所述前端應(yīng)用管理模塊包括 獲取模塊,用于獲取所述第二操作系統(tǒng)對所述虛擬硬件設(shè)備的使用狀態(tài),產(chǎn)生使用狀態(tài)結(jié)果;第一處理模塊,用于在所述使用狀態(tài)結(jié)果表明所述第二操作系統(tǒng)使用所述虛擬硬件設(shè) 備時,產(chǎn)生一通知,并發(fā)送到所述第一操作系統(tǒng),所述第一操作系統(tǒng)接收到所述通知后繼續(xù) 使用所述硬件設(shè)備;第二處理模塊,用于在所述使用狀態(tài)結(jié)果表明所述虛擬硬件設(shè)備空閑時,對所述虛擬 硬件設(shè)備進行卸載,卸載成功后,產(chǎn)生一通知,并發(fā)送到所述第一操作系統(tǒng),所述第一操作 系統(tǒng)接收到所述通知后對所述硬件設(shè)備進行卸載。
4. 根據(jù)權(quán)利要求3所述的計算機,其特征在于,所述第二處理模塊具體為API函數(shù)處理模塊,用于在所述使用狀態(tài)結(jié)果表明所述虛擬硬件設(shè)備空閑時,通過調(diào)用 API函數(shù)對所述虛擬硬件設(shè)備進行卸載,卸載成功后,產(chǎn)生一通知,并發(fā)送到所述第一操作 系統(tǒng),所述第一操作系統(tǒng)接收到所述通知后對所述硬件設(shè)備進行卸載。
5. 根據(jù)權(quán)利要求l所述的計算機,其特征在于,所述后端驅(qū)動控制模塊包括設(shè)備管理 器,用于對所述硬件設(shè)備執(zhí)行卸載操作。
6. 根據(jù)權(quán)利要求l-5任一項所述的計算機,其特征在于,所述硬件平臺具有外插硬件 設(shè)備的接口,所述硬件設(shè)備為外插硬件設(shè)備;所述后端驅(qū)動控制模塊還包括第一驅(qū)動加載模塊,用于在檢測到有外插硬件設(shè)備插入所述外插硬件設(shè)備的接口時, 加載所述外插硬件設(shè)備的驅(qū)動,產(chǎn)生第二觸發(fā)信號; 所述前端驅(qū)動控制模塊還包括第二驅(qū)動加載模塊,用于根據(jù)所述第二觸發(fā)信號加載所述外插硬件設(shè)備的虛擬外插硬 件設(shè)備的驅(qū)動。
7. 根據(jù)權(quán)利要求1所述的計算機,其特征在于,所述虛擬機管理模塊和所述第二操作 模塊均安裝在所述第一操作模塊中。
8. —種管理硬件設(shè)備的方法,應(yīng)用于虛擬機系統(tǒng),其特征在于,包括 獲取第一操作系統(tǒng)根據(jù)卸載硬件設(shè)備的請求而產(chǎn)生的第一觸發(fā)信號; 根據(jù)所述第一觸發(fā)信號獲取第二操作系統(tǒng)對所述硬件設(shè)備的虛擬硬件設(shè)備的使用狀態(tài),產(chǎn)生使用狀態(tài)結(jié)果;當(dāng)所述使用狀態(tài)結(jié)果表明所述第二操作系統(tǒng)正在使用所述虛擬硬件設(shè)備時,產(chǎn)生一通知;發(fā)送所述通知到所述第一操作系統(tǒng);所述第一操作系統(tǒng)接收到所述通知后繼續(xù)使用所述硬件設(shè)備。
9. 根據(jù)權(quán)利要求8所述的方法,其特征在于,還包括在所述使用狀態(tài)結(jié)果表明所述虛擬硬件設(shè)備空閑時,對所述虛擬硬件設(shè)備進行卸載; 對所述虛擬硬件設(shè)備卸載成功后,產(chǎn)生一通知,并發(fā)送到所述第一操作系統(tǒng),所述第一 操作系統(tǒng)在接收到所述通知后對所述硬件設(shè)備進行卸載。
10. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述對所述虛擬硬件設(shè)備進行卸載的步 驟具體為通過調(diào)用API函數(shù)對所述虛擬硬件設(shè)備進行卸載。
全文摘要
本發(fā)明提供一種計算機及管理硬件設(shè)備的方法,其中計算機包括硬件平臺;第一操作模塊,安裝有第一操作系統(tǒng);虛擬機管理模塊,安裝有虛擬機管理器;第二操作模塊,安裝有第二操作系統(tǒng),第二操作系統(tǒng)安裝在虛擬機管理器上;第一操作模塊包括后端驅(qū)動控制模塊,用于在檢測到有卸載硬件設(shè)備的請求時,產(chǎn)生第一觸發(fā)信號;第二操作模塊包括前端驅(qū)動控制模塊,用于獲取所述第一觸發(fā)信號,并根據(jù)第一觸發(fā)信號獲取第二操作系統(tǒng)對硬件設(shè)備的虛擬硬件設(shè)備的使用狀態(tài),產(chǎn)生使用狀態(tài)結(jié)果;當(dāng)使用狀態(tài)結(jié)果表明第二操作系統(tǒng)正在使用虛擬硬件設(shè)備時,通知后端驅(qū)動控制模塊對硬件設(shè)備不進行卸載。本發(fā)明保證能根據(jù)第二操作系統(tǒng)對設(shè)備的使用狀態(tài)將設(shè)備安全地移除。
文檔編號G06F9/455GK101770389SQ200810247318
公開日2010年7月7日 申請日期2008年12月29日 優(yōu)先權(quán)日2008年12月29日
發(fā)明者劉春梅, 席振新, 陳軍, 陳博 申請人:北京聯(lián)想軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
禹城市| 英德市| 伊春市| 攀枝花市| 广河县| 岱山县| 静安区| 卢湾区| 正宁县| 武陟县| 汽车| 隆子县| 龙陵县| 余姚市| 宣城市| 当雄县| 盐山县| 含山县| 五原县| 南召县| 甘洛县| 姚安县| 万宁市| 佛坪县| 八宿县| 普兰县| 汶上县| 承德市| 金寨县| 页游| 淳化县| 和林格尔县| 遂川县| 邢台市| 长沙县| 孟州市| 新疆| 福安市| 体育| 新巴尔虎左旗| 巴中市|