專利名稱:一種計算機以及信息處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機領(lǐng)域,特別是指一種計算機以及信息處理方法。
背景技術(shù):
在計算機虛擬機技術(shù)領(lǐng)域中,如圖1所示,虛擬機系統(tǒng)通常包括安裝在計算機硬 件平臺上的虛擬機管理器(如Xen中的Hypervisor)以及多個操作系統(tǒng),其中一個操作系 統(tǒng)為Domain O,其余為Guest 0S,即客戶操作系統(tǒng),在虛擬機環(huán)境下,真實硬件設(shè)備即物理 設(shè)備通常安裝在硬件平臺中,該真實硬件設(shè)備能夠被Domain O直接訪問,但Guest OS必須 通過該Domain 0訪問虛擬機管理器為該Guest OS分配的虛擬設(shè)備,從而實現(xiàn)Guest OS對 底層設(shè)備的通信。 圖1中所示的現(xiàn)有Guest OS訪問底層硬件設(shè)備的流程,主要包括 1) Guest OS對虛擬設(shè)備進行訪問,該Guest OS的訪問請求指令傳輸至虛擬機管理
器Hypervisor中的端口處理模塊; 2)Hypervisor中的端口處理模塊將端口訪問信息轉(zhuǎn)發(fā)到Domain 0中的虛擬設(shè)備 端口處理模塊; 3)對于不需要訪問虛擬硬件的指令,虛擬設(shè)備端口處理模塊直接對該指令處理后 返回給Hypervisor ; 4)Hypervisor中的端口處理模塊將端口訪問指令的處理結(jié)果返回給GuestOS ;
5)對于需要訪問虛擬硬件的指令,Domain 0中虛擬設(shè)備端口處理模塊發(fā)送指令 給Domain 0中的虛擬設(shè)備驅(qū)動; 6) Domain 0中的虛擬設(shè)備驅(qū)動發(fā)送指令給虛擬硬件; 7)虛擬硬件執(zhí)行指令后向Domain 0中的虛擬設(shè)備驅(qū)動返回結(jié)果; 8)Domain 0中的虛擬設(shè)備驅(qū)動將結(jié)果轉(zhuǎn)發(fā)給虛擬設(shè)備端口處理模塊。 發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題 Xen使用Domain 0來管理其它Guest OS的設(shè)備,Guest OS中對虛擬硬件設(shè)備
的訪問由Hypervisor轉(zhuǎn)發(fā)給Domain 0處理,Domain 0處理后向Hypervisor返回結(jié)果,
Hypervisor將結(jié)果返回Guest 0S,當Guest OS同時有多個操作指令進行處理,每一個操作
指令都需要傳輸給Domain 0進行處理,造成后面的操作指令等待時間較長,使Guest OS的
訪問效率非常低,例如當存在磁盤操作時,音頻設(shè)備操作由于阻塞出現(xiàn)爆音。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種計算機以及信息處理方法,使虛擬機管理器 快速向Guest OS返回非硬件設(shè)備操作指令的處理結(jié)果,縮短了 Guest OS對設(shè)備訪問的等 待時間,使Guest OS能夠及時處理其它設(shè)備的訪問請求,提高單個Guest OS的訪問效率。
為解決上述技術(shù)問題,本發(fā)明的實施例提供技術(shù)方案如下
—種計算機,包括
硬件平臺,具有虛擬硬件設(shè)備; 虛擬機管理模塊,位于所述硬件平臺之上,安裝有虛擬機管理器;
第一操作模塊,位于所述硬件平臺之上,安裝有第一操作系統(tǒng); 第二操作模塊,安裝有第二操作系統(tǒng),所述第二操作系統(tǒng)安裝在所述虛擬機管理 器上;所述虛擬機管理模塊包括 處理模塊,用于獲取所述第二操作系統(tǒng)的操作指令,在所述操作指令是非虛擬硬 件操作指令時,直接對所述非虛擬硬件操作指令進行處理,產(chǎn)生一處理結(jié)果,并將所述處理 結(jié)果返回給所述第二操作系統(tǒng);在所述操作指令是虛擬硬件操作指令時,將所述操作指令 傳輸給所述第一操作系統(tǒng)進行處理,并將所述第一操作系統(tǒng)返回的處理結(jié)果返回給所述第 二操作系統(tǒng)。 優(yōu)選的,所述處理模塊包括 獲取模塊,用于獲取所述第二操作系統(tǒng)的操作指令; 判斷模塊,用于判斷所述獲取模塊所獲取的操作指令是否是非虛擬硬件操作指 令,產(chǎn)生一判斷結(jié)果; 第一處理模塊,用于在所述判斷結(jié)果為所述操作指令是非虛擬硬件操作指令時, 直接對所述非虛擬硬件操作指令進行處理,產(chǎn)生一處理結(jié)果,并將所述處理結(jié)果返回給所 述第二操作系統(tǒng); 第二處理模塊,用于在所述判斷結(jié)果為所述操作指令是虛擬硬件操作指令時,將
所述虛擬硬件操作指令傳輸給所述第一操作系統(tǒng)進行處理,并將所述第一操作系統(tǒng)返回的
處理結(jié)果返回給所述第二操作系統(tǒng)。 優(yōu)選的,所述虛擬機管理模塊還包括 共享內(nèi)存,用于存儲在所述第一操作模塊和所述虛擬機管理模塊間共享的虛擬硬 件信息; 所述第一處理模塊接收到非虛擬硬件操作指令后,根據(jù)所述共享內(nèi)存中的虛擬硬
件信息,直接對所述非虛擬硬件操作指令進行處理,產(chǎn)生一處理結(jié)果,并將所述處理結(jié)果返
回給所述第二操作系統(tǒng)。
優(yōu)選的,所述第一操作模塊包括 第三處理模塊,用于接收所述第二處理模塊傳送的所述虛擬硬件操作指令,并將 對所述虛擬硬件的操作結(jié)果返回給所述第二處理模塊; 第一驅(qū)動模塊,用于安裝所述虛擬硬件設(shè)備的驅(qū)動,根據(jù)所述第三處理模塊接收
的所述虛擬硬件操作指令,對所述虛擬硬件設(shè)備進行操作,產(chǎn)生一操作結(jié)果,并將所述操作
結(jié)果返回給所述第三處理模塊。
優(yōu)選的,所述第二操作模塊包括 第二驅(qū)動模塊,用于向所述虛擬機管理器發(fā)送操作指令或者接收所述虛擬機管理 器返回的處理結(jié)果。 優(yōu)選的,所述第三處理模塊為虛擬硬件設(shè)備端口處理模塊。
—種信息處理方法,包括
獲取第二操作系統(tǒng)的操作指令; 在所述操作指令是非虛擬硬件操作指令時,直接對所述非虛擬硬件操作指令進行
5處理,產(chǎn)生一處理結(jié)果,并將所述處理結(jié)果返回給所述第二操作系統(tǒng); 在所述操作指令是虛擬硬件操作指令時,將所述虛擬硬件操作指令傳輸給所述第 一操作系統(tǒng)進行處理,并將所述第一操作系統(tǒng)返回的處理結(jié)果返回給所述第二操作系統(tǒng)。
優(yōu)選的,所述在所述操作指令是非虛擬硬件操作指令時,直接對所述非虛擬硬件 操作指令進行處理,產(chǎn)生一處理結(jié)果,并將所述處理結(jié)果返回給所述第二操作系統(tǒng)的步驟 具體為 根據(jù)共享內(nèi)存中的虛擬硬件信息,直接對所述非虛擬硬件操作指令進行處理,產(chǎn) 生一處理結(jié)果,并將所述處理結(jié)果返回給所述第二操作系統(tǒng)。 優(yōu)選的,將所述虛擬硬件操作指令傳輸給所述第一操作系統(tǒng)進行處理,并將所述
第一操作系統(tǒng)返回的處理結(jié)果返回給所述第二操作系統(tǒng)的步驟包括 將所述虛擬硬件操作指令,以中斷形式發(fā)送給所述第一操作系統(tǒng); 接收所述第一操作系統(tǒng)根據(jù)所述虛擬硬件操作指令對虛擬硬件設(shè)備進行操作的
操作結(jié)果; 將所述操作結(jié)果返回給所述第二操作系統(tǒng)。
本發(fā)明的實施例具有以下有益效果 上述技術(shù)方案通過在虛擬機管理器中設(shè)置處理模塊,對第二操作系統(tǒng)發(fā)出的非虛 擬硬件操作指令進行攔截,并對這些非虛擬硬件操作指令直接進行處理,將處理結(jié)果返回 至第二操作系統(tǒng);將第二操作系統(tǒng)的虛擬硬件操作指令,通過第一操作系統(tǒng),對虛擬硬件設(shè) 備進行訪問處理,并將最后的處理結(jié)果返回至第二操作系統(tǒng),使第二操作系統(tǒng)縮短了對特 定虛擬硬件設(shè)備的訪問的等待時間,提高了第二操作系統(tǒng)的訪問效率,改進了單個第二操 作系統(tǒng)的性能;同時,對于虛擬機管理器,減少了與第一操作系統(tǒng)之間的調(diào)度次數(shù),從而提 高了整個計算機的性能。
圖1為現(xiàn)有的基于虛擬技術(shù)的計算機的架構(gòu)示意圖;
圖2為本發(fā)明的實施例計算機的整體架構(gòu)示意圖;
圖3為圖2所示計算機的一具體架構(gòu)意示圖;
圖4為本發(fā)明的實施例信息處理方法的流程示意圖。
具體實施例方式
為使本發(fā)明的實施例要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合 附圖及具體實施例進行詳細描述。 本發(fā)明的實施例針對現(xiàn)有技術(shù)中基于虛擬技術(shù)的計算機中,虛擬操作系統(tǒng)(Guest OS)的所有操作指令,包括對底層硬件設(shè)備的操作指令和不是對底層硬件設(shè)備的操作指令, 都需要傳輸給主操作系統(tǒng)(Domain 0)進行處理,這樣使對底層硬件設(shè)備的操作指令等待 時間較長,Guest OS的訪問效率低的問題,提供一種使Guest OS的非虛擬硬件設(shè)備操作指 令得到及時處理,且Guest OS的訪問效率高的計算機及信息處理方法。
如圖2所示,本發(fā)明的實施例計算機,包括 硬件平臺,具有虛擬硬件設(shè)備;該硬件平臺包括真實的物理硬件,其中,具有為該計算機每個操作系統(tǒng)虛擬出來的虛擬硬件設(shè)備,如計算機的真實物理硬盤只有一個,而對 于計算機的多個操作系統(tǒng)來講,該物理硬盤可被虛擬出多個磁盤區(qū)域,每一個操作系統(tǒng)可 根據(jù)其權(quán)限對分配給該操作系統(tǒng)的磁盤區(qū)域進行操作; 虛擬機管理模塊,位于所述硬件平臺之上,安裝有虛擬機管理器,如Xen的 Hypervisor ; 第一操作模塊,位于所述硬件平臺之上,安裝有第一操作系統(tǒng),如Domain0操作系 統(tǒng); 第二操作模塊,安裝有第二操作系統(tǒng),如Guest 0S,所述第二操作系統(tǒng)安裝在所述 虛擬機管理器上;當然該計算機架構(gòu)中,還可以有多個第二操作模塊,每個第二操作模塊中 可安裝一 Guest OS,每一個Guest OS都安裝在虛擬機管理器上;
上述虛擬機管理模塊包括 處理模塊,用于獲取所述第二操作系統(tǒng)的操作指令,在所述操作指令是非虛擬硬 件操作指令時,直接對所述非虛擬硬件操作指令進行處理,產(chǎn)生一處理結(jié)果,并將所述處理 結(jié)果返回給所述第二操作系統(tǒng);在所述操作指令是虛擬硬件操作指令時,將所述操作指令 傳輸給所述第一操作系統(tǒng)進行處理,并將所述第一操作系統(tǒng)返回的處理結(jié)果返回給所述第 二操作系統(tǒng)。 該實施例中,虛擬機管理器的處理模塊在收到第二操作系統(tǒng)的操作指令后,對于 不需要調(diào)用設(shè)備驅(qū)動的指令,即非虛擬硬件操作指令,直接處理后返回處理結(jié)果給第二操 作系統(tǒng),而不是將任何指令都轉(zhuǎn)發(fā)給第一操作系統(tǒng)進行處理,縮短了第二操作系統(tǒng)的特定 指令的訪問等待時間,使第二操作系統(tǒng)及時處理排在非虛擬硬件操作指令后面的其他對底 層硬件設(shè)備的訪問請求,提高了第二操作系統(tǒng)的訪問效率,改進了單個第二操作系統(tǒng)的性 能;另外,由于非虛擬硬件操作指令不再轉(zhuǎn)發(fā)給第一操作系統(tǒng)處理,虛擬機管理器減少了其 與第一操作系統(tǒng)之間的調(diào)度,從而提高了整個計算機的性能。 如圖3所示,為上述圖2所示實施例的一具體架構(gòu)示意圖,該實施例中,虛擬機管 理器中的處理模塊具體包括 獲取模塊,用于獲取所述第二操作系統(tǒng)的操作指令; 判斷模塊,用于判斷所述獲取模塊所獲取的操作指令是否是非虛擬硬件操作指 令,產(chǎn)生一判斷結(jié)果; 第一處理模塊,用于在所述判斷結(jié)果為,所述操作指令是非虛擬硬件操作指令時, 直接對所述非虛擬硬件操作指令進行處理,產(chǎn)生一處理結(jié)果,并將所述處理結(jié)果返回給所 述第二操作系統(tǒng); 第二處理模塊,用于在所述判斷結(jié)果為,所述操作指令是虛擬硬件操作指令時,將 所述虛擬硬件操作指令傳輸給所述第一操作系統(tǒng)進行處理,并將所述第一操作系統(tǒng)返回的 處理結(jié)果返回給所述第二操作系統(tǒng)。
另外,該虛擬機管理器還包括 共享內(nèi)存,用于存儲在所述第一操作模塊和所述虛擬機管理模塊間共享的虛擬硬 件信息; 所述第一處理模塊接收到非虛擬硬件操作指令后,根據(jù)所述共享內(nèi)存中的虛擬硬 件信息,直接對所述非虛擬硬件操作指令進行處理,產(chǎn)生一處理結(jié)果,并將所述處理結(jié)果返回給所述第二操作系統(tǒng)。 以硬盤為例,對該硬盤進行操作時,該非虛擬硬件操作指令可以為讀取該硬盤 的屬性和狀態(tài)信息,或者對硬盤的屬性和狀態(tài)的設(shè)置,該共享內(nèi)存中存儲有該硬盤的屬 性或者狀態(tài)信息,包括如廠商信息,硬盤序列號,最大扇區(qū)數(shù),傳輸模式,寫緩存enalbe/ disable,預(yù)讀enable/disable等,處理模塊接收到該非虛擬硬件操作指令后,通過讀取共 享內(nèi)存中的硬盤的上述信息,就可得到處理結(jié)果,該處理模塊直接將該處理結(jié)果返回給第 二操作系統(tǒng),該非虛擬硬件操作指令就不會再傳輸給第一操作系統(tǒng)進行處理,減小了后面 的訪問設(shè)備的等待時間,提高了效率; 以音頻/視頻設(shè)備為例,如果第二操作系統(tǒng)需要讀取一光盤中的音頻/視頻,則需 要調(diào)用第一操作系統(tǒng)中的光盤驅(qū)動,對該虛擬光驅(qū)進行訪問,這時,第二操作系統(tǒng)的指令為 虛擬硬件操作指令;而對于那些查看該音頻/視頻設(shè)備的屬性信息以及狀態(tài)信息的指令, 則為非虛擬硬件操作指令,該共享內(nèi)存中存儲有該音頻/視頻設(shè)備的相關(guān)信息,包括該音 頻/視頻設(shè)備的屬性信息以及狀態(tài)信息等;該處理模塊根據(jù)該非虛擬硬件操作指令直接對 該共享內(nèi)存進行讀取,就可向第二操作系統(tǒng)返回正確的操作結(jié)果; 但是,如,第二操作系統(tǒng)讀取光驅(qū)中的光盤中的內(nèi)容時,就會向虛擬機管理器發(fā)出 一虛擬硬件操作指令,由于該共享內(nèi)存中的信息滿足不了該虛擬硬件操作指令的讀寫要 求,因為這種虛擬硬件操作指令,必須要傳輸?shù)接布脚_中的硬件設(shè)備,才能返回正確的操 作結(jié)果,因此,該虛擬硬件操作指令需要傳輸給第一操作系統(tǒng),由第一操作系統(tǒng)對硬件平臺 中的虛擬光驅(qū)進行處理,即,讀取光盤中的內(nèi)容,并將最后的處理結(jié)果返回第二操作系統(tǒng);
而對于第二操作系統(tǒng)查看該光盤相關(guān)內(nèi)容屬性信息的操作指令,S卩非虛擬硬件操 作指令,或者上述讀取硬盤屬性信息的操作指令,虛擬機管理器中的處理模塊只要去共享 內(nèi)存中讀取,而不需要再傳輸給第一操作系統(tǒng)進行處理,這樣就使排在該查看音頻設(shè)備屬 性信息的操作指令或者讀取硬盤屬性信息等非虛擬硬件操作指令后面的虛擬硬件操作指 令(如對音頻/視頻文件的讀寫操作指令),不需要等待前面的查看音頻設(shè)備的操作指令處 理后,再得到響應(yīng),而是虛擬機管理器中的處理模塊得知該指令是虛擬硬件操作指令,直接 將該指令傳輸給第一操作系統(tǒng)進行處理,使該虛擬硬件操作指令得到及時響應(yīng),提高了第 二操作系統(tǒng)的特定設(shè)備的操作指令的訪問效率,改進了第二操作系統(tǒng)的性能;同時,非虛擬 硬件操作指令由虛擬機管理器中的處理模塊直接根據(jù)共享內(nèi)存中的相關(guān)信息進行處理,返 回處理結(jié)果,使虛擬機管理器減少了與第一操作系統(tǒng)之間的調(diào)度次數(shù),從而提高了整機的 性能。 另外,上述實施例中的第一操作模塊包括 第三處理模塊,用于接收所述第二處理模塊傳送的所述虛擬硬件操作指令,并將 對所述虛擬硬件的操作結(jié)果返回給所述第二處理模塊; 第一驅(qū)動模塊,用于安裝所述虛擬硬件設(shè)備的驅(qū)動,根據(jù)所述第三處理模塊接收 的所述虛擬硬件操作指令,對所述虛擬硬件設(shè)備進行操作,產(chǎn)生一操作結(jié)果,并將所述操作 結(jié)果返回給所述第三處理模塊。 該第三處理模塊可以為QEMU中的虛擬設(shè)備端口處理模塊;該QEMU是一套可以在 Windows操作系統(tǒng)中仿真出另一套操作系統(tǒng)的仿真軟件模塊。因為它可以在系統(tǒng)中仿真出 一顆虛擬的CPU,然后將要仿真的操作系統(tǒng)交給這顆虛擬CPU去處理,所以能夠達到同一平臺能同時執(zhí)行兩種操作系統(tǒng)的目的; 該第一驅(qū)動模塊中安裝的虛擬硬件設(shè)備的驅(qū)動,針對不同的虛擬硬件設(shè)備,其驅(qū)
動也有所不同,如光盤驅(qū)動或者網(wǎng)卡驅(qū)動等。 另外,在第二操作模塊中,也可包括 第二驅(qū)動模塊,用于向所述虛擬機管理器發(fā)送操作指令,包括虛擬硬件操作指令 和非虛擬硬件操作指令,或者接收所述虛擬機管理器返回的,根據(jù)虛擬硬件操作指令或者 非虛擬硬件操作指令進行操作的處理結(jié)果。 在上述的所有實施例中,第一操作系統(tǒng)和第二操作系統(tǒng)僅為描述方便所用,而不
用于限定是Domain 0操作系統(tǒng)或者Guest 0S,即第二操作系統(tǒng)也可以為Domain 0操作系
統(tǒng),而第一操作系統(tǒng)也可以為Guest OS,但此時,第一操作系統(tǒng)可以為多個。 綜上,本發(fā)明的實施例通過在虛擬機管理器中設(shè)置處理模塊,對第二操作系統(tǒng)發(fā)
出的非虛擬硬件操作指令進行攔截,并對這些非虛擬硬件操作指令直接進行處理,將處理
結(jié)果返回至第二操作系統(tǒng);只將第二操作系統(tǒng)對底層虛擬硬件設(shè)備進行訪問的操作指令,
即虛擬硬件操作指令,通過主操作系統(tǒng),如第一操作系統(tǒng),對虛擬硬件設(shè)備進行訪問處理,
并將最后的處理結(jié)果返回至第二操作系統(tǒng),使排在非虛擬硬件操作指令后面的虛擬硬件操
作指令能夠得到及時的處理,縮短了第二操作系統(tǒng)對特定虛擬硬件設(shè)備的訪問的等待時
間,提高了第二操作系統(tǒng)的訪問效率,改進了單個第二操作系統(tǒng)的性能,同時,對于虛擬機
管理器,減少了與第一操作系統(tǒng)之間的調(diào)度次數(shù),從而提高了整個計算機的性能。 如圖4所示,本發(fā)明的實施例還提供一種信息處理方法,包括 步驟S41,獲取第二操作系統(tǒng)的操作指令; 步驟S42,在所述操作指令是非虛擬硬件操作指令時,直接對所述非虛擬硬件操作
指令進行處理,產(chǎn)生一處理結(jié)果,并將所述處理結(jié)果返回給所述第二操作系統(tǒng); 步驟S43,在所述操作指令是虛擬硬件操作指令時,將所述虛擬硬件操作指令傳輸
給所述第一操作系統(tǒng)進行處理,并將所述第一操作系統(tǒng)返回的處理結(jié)果返回給所述第二操
作系統(tǒng)。 該方法中,獲取第二操作系統(tǒng)的操作指令后,對于不需要調(diào)用設(shè)備驅(qū)動的指令,即 非虛擬硬件操作指令,直接處理后返回處理結(jié)果給第二操作系統(tǒng),而不是將任何指令都轉(zhuǎn) 發(fā)給第一操作系統(tǒng)進行處理,縮短了第二操作系統(tǒng)的特定指令的訪問等待時間,使第二操 作系統(tǒng)及時處理排在非虛擬硬件操作指令后面的其他對底層硬件設(shè)備的訪問請求,提高了 第二操作系統(tǒng)的訪問效率,改進了單個第二操作系統(tǒng)的性能;另外,由于非虛擬硬件操作指 令不再轉(zhuǎn)發(fā)給第一操作系統(tǒng)處理,虛擬機管理器減少了其與第一操作系統(tǒng)之間的調(diào)度,從 而提高了整個計算機的性能。
在上述的步驟S42具體為 根據(jù)保存的所述虛擬硬件信息,直接對所述非虛擬硬件操作指令進行處理,產(chǎn)生 一處理結(jié)果,并將所述處理結(jié)果返回給所述第二操作系統(tǒng); 以硬盤為例,對該硬盤進行操作時,該非虛擬硬件操作指令可以為讀取該硬盤的 屬性和狀態(tài)信息,或者對硬盤的屬性和狀態(tài)的設(shè)置,該共享內(nèi)存中的信息包括硬盤的屬 性或者狀態(tài)信息,包括如廠商信息,硬盤序列號,最大扇區(qū)數(shù),傳輸模式,寫緩存enalbe/ disable,予頁讀enable/disable等;
9
上述步驟S43具體包括 將所述虛擬硬件操作指令,以中斷形式發(fā)送給所述第一操作系統(tǒng); 所述第一操作系統(tǒng)接收到該虛擬硬件操作指令后,將該指令傳輸給虛擬硬件設(shè)備
的驅(qū)動模塊,該驅(qū)動模塊根據(jù)所述虛擬硬件操作指令對虛擬硬件設(shè)備進行操作,產(chǎn)生一操
作結(jié)果, 接收該操作結(jié)果,并將該操作結(jié)果通過虛擬機管理器返回給所述第二操作系統(tǒng)。 綜上,對第二操作系統(tǒng)發(fā)出的非虛擬硬件操作指令進行攔截,并根據(jù)共享內(nèi)存中
的虛擬設(shè)備相關(guān)信息對這些非虛擬硬件操作指令直接進行處理,將處理結(jié)果返回至第二操
作系統(tǒng);只將第二操作系統(tǒng)對底層虛擬硬件設(shè)備進行訪問的操作指令,即虛擬硬件操作指
令,通過主操作系統(tǒng),如第一操作系統(tǒng),對虛擬硬件設(shè)備進行訪問處理,并將最后的處理結(jié)
果返回至第二操作系統(tǒng),使排在非虛擬硬件操作指令后面的虛擬硬件操作指令能夠得到及
時的處理,縮短了第二操作系統(tǒng)對特定虛擬硬件設(shè)備的訪問的等待時間,提高了第二操作
系統(tǒng)的訪問效率,改進了單個第二操作系統(tǒng)的性能,同時,對于虛擬機管理器,減少了與第
一操作系統(tǒng)之間的調(diào)度次數(shù),從而提高了整個計算機的處理效率和性能。
以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員
來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也
應(yīng)視為本發(fā)明的保護范圍。
10
權(quán)利要求
一種計算機,包括硬件平臺,具有虛擬硬件設(shè)備;虛擬機管理模塊,位于所述硬件平臺之上,安裝有虛擬機管理器;第一操作模塊,位于所述硬件平臺之上,安裝有第一操作系統(tǒng);第二操作模塊,安裝有第二操作系統(tǒng),所述第二操作系統(tǒng)安裝在所述虛擬機管理器上;其特征在于,所述虛擬機管理模塊包括處理模塊,用于獲取所述第二操作系統(tǒng)的操作指令,在所述操作指令是非虛擬硬件操作指令時,直接對所述非虛擬硬件操作指令進行處理,產(chǎn)生一處理結(jié)果,并將所述處理結(jié)果返回給所述第二操作系統(tǒng);在所述操作指令是虛擬硬件操作指令時,將所述操作指令傳輸給所述第一操作系統(tǒng)進行處理,并將所述第一操作系統(tǒng)返回的處理結(jié)果返回給所述第二操作系統(tǒng)。
2. 根據(jù)權(quán)利要求1所述的計算機,其特征在于,所述處理模塊包括 獲取模塊,用于獲取所述第二操作系統(tǒng)的操作指令;判斷模塊,用于判斷所述獲取模塊所獲取的操作指令是否是非虛擬硬件操作指令,產(chǎn) 生一判斷結(jié)果;第一處理模塊,用于在所述判斷結(jié)果為所述操作指令是非虛擬硬件操作指令時,直接 對所述非虛擬硬件操作指令進行處理,產(chǎn)生一處理結(jié)果,并將所述處理結(jié)果返回給所述第 二操作系統(tǒng);第二處理模塊,用于在所述判斷結(jié)果為所述操作指令是虛擬硬件操作指令時,將所述 虛擬硬件操作指令傳輸給所述第一操作系統(tǒng)進行處理,并將所述第一操作系統(tǒng)返回的處理 結(jié)果返回給所述第二操作系統(tǒng)。
3. 根據(jù)權(quán)利要求2所述的計算機,其特征在于,所述虛擬機管理模塊還包括 共享內(nèi)存,用于存儲在所述第一操作模塊和所述虛擬機管理模塊間共享的虛擬硬件信息;所述第一處理模塊收到非虛擬硬件操作指令后,根據(jù)所述共享內(nèi)存中的虛擬硬件信 息,直接對所述非虛擬硬件操作指令進行處理,產(chǎn)生一處理結(jié)果,并將所述處理結(jié)果返回給 所述第二操作系統(tǒng)。
4. 根據(jù)權(quán)利要求2所述的計算機,其特征在于,所述第一操作模塊包括 第三處理模塊,用于接收所述第二處理模塊傳送的所述虛擬硬件操作指令,并將對所述虛擬硬件的操作結(jié)果返回給所述第二處理模塊;第一驅(qū)動模塊,用于安裝所述虛擬硬件設(shè)備的驅(qū)動,根據(jù)所述第三處理模塊接收的所 述虛擬硬件操作指令,對所述虛擬硬件設(shè)備進行操作,產(chǎn)生一操作結(jié)果,并將所述操作結(jié)果 返回給所述第三處理模塊。
5. 根據(jù)權(quán)利要求1所述的計算機,其特征在于,所述第二操作模塊包括 第二驅(qū)動模塊,用于向所述虛擬機管理器發(fā)送操作指令或者接收所述虛擬機管理器返回的處理結(jié)果。
6. 根據(jù)權(quán)利要求4所述的計算機,其特征在于,所述第三處理模塊為虛擬硬件設(shè)備端 口處理模塊。
7. —種信息處理方法,其特征在于,包括獲取第二操作系統(tǒng)的操作指令;在所述操作指令是非虛擬硬件操作指令時,直接對所述非虛擬硬件操作指令進行處 理,產(chǎn)生一處理結(jié)果,并將所述處理結(jié)果返回給所述第二操作系統(tǒng);在所述操作指令是虛擬硬件操作指令時,將所述虛擬硬件操作指令傳輸給所述第一操 作系統(tǒng)進行處理,并將所述第一操作系統(tǒng)返回的處理結(jié)果返回給所述第二操作系統(tǒng)。
8. 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述在所述操作指令是非虛擬硬件操作 指令時,直接對所述非虛擬硬件操作指令進行處理,產(chǎn)生一處理結(jié)果,并將所述處理結(jié)果返 回給所述第二操作系統(tǒng)的步驟具體為根據(jù)共享內(nèi)存中的虛擬硬件信息,直接對所述非虛擬硬件操作指令進行處理,產(chǎn)生一 處理結(jié)果,并將所述處理結(jié)果返回給所述第二操作系統(tǒng)。
9. 根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述將所述虛擬硬件操作指令傳輸給 所述第一操作系統(tǒng)進行處理,并將所述第一操作系統(tǒng)返回的處理結(jié)果返回給所述第二操作系統(tǒng)的步驟包括將所述虛擬硬件操作指令,以中斷形式發(fā)送給所述第一操作系統(tǒng);接收所述第一操作系統(tǒng)根據(jù)所述虛擬硬件操作指令對虛擬硬件設(shè)備進行操作的操作 結(jié)果;將所述操作結(jié)果返回給所述第二操作系統(tǒng)。
全文摘要
本發(fā)明提供一種計算機及信息處理方法,其方法包括獲取第二操作系統(tǒng)的操作指令;在所述操作指令是非虛擬硬件操作指令時,直接對所述非虛擬硬件操作指令進行處理,產(chǎn)生一處理結(jié)果,并將所述處理結(jié)果返回給所述第二操作系統(tǒng);在所述操作指令是虛擬硬件操作指令時,將所述虛擬硬件操作指令傳輸給所述第一操作系統(tǒng)進行處理,并將所述第一操作系統(tǒng)返回的處理結(jié)果返回給所述第二操作系統(tǒng)。本發(fā)明縮短了第二操作系統(tǒng)對設(shè)備訪問的等待時間,提高第二操作系統(tǒng)的訪問效率和整機的處理效率。
文檔編號G06F9/455GK101739284SQ20081022693
公開日2010年6月16日 申請日期2008年11月20日 優(yōu)先權(quán)日2008年11月20日
發(fā)明者尹萍, 湯良 申請人:聯(lián)想(北京)有限公司