亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

虛擬機系統(tǒng)及其客戶操作系統(tǒng)的中斷處理方法

文檔序號:6610271閱讀:414來源:國知局
專利名稱:虛擬機系統(tǒng)及其客戶操作系統(tǒng)的中斷處理方法
技術(shù)領(lǐng)域
本發(fā)明涉及虛擬機系統(tǒng)中客戶操作系統(tǒng)的中斷處理,特別是一種虛擬機系 統(tǒng)及其客戶才喿作系統(tǒng)的中斷處理方法。
背景技術(shù)
在現(xiàn)有的虛擬機系統(tǒng)中,系統(tǒng)性能是影響虛擬機系統(tǒng)發(fā)展的瓶頸之一,其 中中斷性能和網(wǎng)絡(luò)性能的有效提高對系統(tǒng)整體性能的提高有重要意義。
在現(xiàn)有的虛擬機系統(tǒng)中,中斷需要被虛擬機監(jiān)視器(Virtual Machine Monitor, VMM)截獲再轉(zhuǎn)發(fā),并且客戶操作系統(tǒng)(Guest Operation System, GOS)中的中斷處理函數(shù)與虛擬機系統(tǒng)處于不同的地址空間,不能并發(fā)的處理 中斷,導(dǎo)致目前基于虛擬機的系統(tǒng)中中斷處理的效率不高,尤其是在有大量數(shù) 據(jù)需要傳輸并頻繁產(chǎn)生中斷(如網(wǎng)卡)的時候,中斷處理的效率會嚴(yán)重影響系 統(tǒng)的性能。
目前的虛擬機系統(tǒng)進行中斷處理的方法包括如下步驟
真實物理設(shè)備在接到數(shù)據(jù)后產(chǎn)生中斷;
虛擬機監(jiān)^L器截獲該中斷后設(shè)置虛擬CPU中的中斷標(biāo)志位;
GOS陷入虛擬機監(jiān)視器,檢查中斷標(biāo)志位的狀態(tài),中斷標(biāo)示位表明有中 斷時,向虛擬CPU的中斷相關(guān)寄存器寫入相應(yīng)的值,讓虛擬CPU模擬產(chǎn)生硬 件中斷;
GOS獲取該模擬產(chǎn)生的中斷后調(diào)用中斷處理函數(shù)。 然而,上述的斷處理的方法具有以下缺點 中斷相應(yīng)的時間和路徑過長,中斷效率低。
GOS以每秒幾萬次的頻率陷入虛擬機監(jiān)視器,^r查中斷并對中斷進行模 擬,當(dāng)大量中斷產(chǎn)生時,系統(tǒng)整體性能下降明顯。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種虛擬機系統(tǒng)及其客戶操作系統(tǒng)的中斷處理方法, 提高中斷處理的效率,進而提高系統(tǒng)性能。
為了實現(xiàn)上述目的,本發(fā)明提供了一種虛擬機系統(tǒng)中客戶操作系統(tǒng)的中斷
處理方法,包括
步驟A,虛擬機監(jiān)視器在截獲真實物理設(shè)備產(chǎn)生的中斷后,設(shè)置虛擬CPU 中的中斷標(biāo)志位;
步驟B,客戶操作系統(tǒng)陷入虛擬機監(jiān)視器后,根據(jù)虛擬CPU的模擬硬件 中斷調(diào)用驅(qū)動的中斷處理函數(shù); 其中,還包括
步驟C,中斷處理函數(shù)屏蔽中斷標(biāo)志位;
步驟D,中斷處理函數(shù)通過虛擬機監(jiān)視器從設(shè)備的數(shù)據(jù)緩沖區(qū)獲取數(shù)據(jù), 直至設(shè)備的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)為止。 上述的方法,其中,還包括
步驟E,中斷處理函數(shù)取消對虛擬CPU中的中斷標(biāo)志位的屏蔽。 上述的方法,其中,所述步驟D具體包括
步驟D1,中斷處理函數(shù)被調(diào)用后,判斷真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū) 是否有數(shù)據(jù),如果是進入步驟D2,否則進入步驟E;
步驟D2,獲取真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù),將中斷處理函 數(shù)再次放入隊列后返回步驟Dl。
上述的方法,其中,所述步驟D1中,中斷處理函數(shù)具體才艮據(jù)生產(chǎn)者指針 和消費者指針判斷真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)是否有數(shù)據(jù)。
為了更好地實現(xiàn)上述目的,本發(fā)明還提供了一種虛擬機系統(tǒng),包括
中斷標(biāo)示設(shè)置模塊,用于在截獲真實物理設(shè)備產(chǎn)生的中斷后,設(shè)置虛擬 CPU中的中斷標(biāo)志位;
模擬硬件中斷模塊,用于在根據(jù)虛擬CPU中的中斷標(biāo)志位判斷出有中斷 后,向虛擬CPU的中斷相關(guān)寄存器寫入相應(yīng)的值,模擬產(chǎn)生硬件中斷;
其中,還包括
中斷標(biāo)示屏蔽模塊,用于在獲取模擬硬件中斷后屏蔽虛擬CPU中的中斷
標(biāo)志位;
數(shù)據(jù)獲取模塊,用于從真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)獲取數(shù)據(jù),直至真 實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)為止。 上述的虛擬機系統(tǒng),其中,還包括
中斷標(biāo)示屏蔽取消模塊,用于在數(shù)據(jù)獲取模塊判斷出真實物理設(shè)備對應(yīng)的 數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)時,取消對虛擬CPU中的中斷標(biāo)志位的屏蔽。
上述的虛擬機系統(tǒng),其中,數(shù)據(jù)獲取模塊具體根據(jù)生產(chǎn)者指針和消費者指 針判斷真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)是否有數(shù)據(jù)。
本發(fā)明具有以下有益效果
1、 在真實物理設(shè)備連續(xù)得到數(shù)據(jù)時,除了第一次的中斷模擬處理之外, 后續(xù)的數(shù)據(jù)獲取過程中,中斷標(biāo)示位被屏蔽,所以不會有相應(yīng)的中斷的模擬過 程,所以數(shù)據(jù)接收過程加快;
2、 客戶操作系統(tǒng)可以連續(xù)從數(shù)據(jù)緩沖區(qū)取得數(shù)據(jù),系統(tǒng)性能提高。 上述的有益效果,對所有大量產(chǎn)生中斷的網(wǎng)絡(luò)或其他類似特性的1/0設(shè)備
尤為明顯。


圖1為本發(fā)明虛擬機系統(tǒng)中客戶操作系統(tǒng)的中斷處理方法的流程示意圖。
具體實施例方式
本發(fā)明的虛擬機系統(tǒng)中客戶操作系統(tǒng)的中斷處理方法,針對虛擬機監(jiān)視器 能夠截獲中斷的特點,直接將中斷屏蔽,進而直接讀取真實物理設(shè)備對應(yīng)的緩 沖區(qū)數(shù)據(jù),減少中斷次數(shù),提高設(shè)備性能。
本發(fā)明的虛擬機系統(tǒng)中客戶操作系統(tǒng)的中斷處理方法如圖l所示,包括
步驟11,虛擬機監(jiān)^L器截獲真實物理設(shè)備在接到數(shù)據(jù)后產(chǎn)生的中斷,并 設(shè)置虛擬CPU中的中斷標(biāo)志位;
在該步驟中,真實物理設(shè)備的管腳產(chǎn)生中斷后,該中斷為虛擬機監(jiān)視器截 獲,虛擬機監(jiān)視器根據(jù)該中斷號設(shè)置虛擬CPU中對應(yīng)的中斷標(biāo)志,如
顯卡中斷會設(shè)置虛擬CPU中與顯卡中斷對應(yīng)的中斷標(biāo)志;
網(wǎng)卡中斷會設(shè)置虛擬CPU中與網(wǎng)卡中斷對應(yīng)的中斷標(biāo)志等。 通過對應(yīng)的設(shè)置,客戶操作系統(tǒng)GOS陷入后,可以方便地判斷中斷,調(diào)
用相應(yīng)的中斷處理函it。
步驟12, GOS陷入虛擬機監(jiān)視器后,根據(jù)虛擬CPU中的中斷標(biāo)志位判斷
出有中斷后,向虛擬CPU的中斷相關(guān)寄存器寫入相應(yīng)的值,讓虛擬CPU模擬
產(chǎn)生硬件中斷;
在此,GOS才艮據(jù)中斷標(biāo)示、中斷類型,即可向相應(yīng)的中斷相關(guān)寄存器寫 入相應(yīng)的值,以產(chǎn)生模擬硬件中斷。
在此,該向虛擬CPU的中斷相關(guān)寄存器寫入相應(yīng)的值,讓虛擬CPU模擬 產(chǎn)生硬件中斷通過設(shè)置VMCS ( Virtual Machine Control Structure,虛擬機控制 結(jié)構(gòu))結(jié)果,讓Guest OS產(chǎn)生中斷來實現(xiàn)。
步驟13, GOS收到該模擬硬件中斷后調(diào)用驅(qū)動的中斷處理函數(shù);
步驟14,中斷處理函數(shù)屏蔽中斷標(biāo)志位,屏蔽中斷標(biāo)志位后,每次GOS 陷入,檢查該標(biāo)志位后將發(fā)現(xiàn)沒有中斷產(chǎn)生;
步驟15,中斷處理函數(shù)通過虛擬機監(jiān)視器從設(shè)備的數(shù)據(jù)緩沖區(qū)獲取數(shù)據(jù), 直至設(shè)備的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)為止;
步驟16,中斷處理函數(shù)取消對虛擬CPU中的中斷標(biāo)志位的屏蔽。
其中步驟15具體包括
步驟151,中斷處理函數(shù)被調(diào)用后,判斷真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū) 是否有數(shù)據(jù),如果是進入步驟152,否則進入步驟16;
步驟152,獲取真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù),將中斷處理函 數(shù)再次放入隊列后返回步驟151。
在步驟152中,將該中斷處理函數(shù)再次放入隊列后, 一定時間后,該中斷 處理函數(shù)再次被調(diào)用,重復(fù)上述過程,直至數(shù)據(jù)被接收完畢。
在此,步驟151中,驅(qū)動的中斷處理函數(shù)查詢真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩 沖區(qū),判斷是否有數(shù)據(jù),在本發(fā)明的具體實施例中,具體通過生產(chǎn)者指針和消 費者指針來判斷,下面進行詳細(xì)說明。
GOS和VMM共享有內(nèi)存頁,而VMM會在有新數(shù)據(jù)到來時更新該指針 (生產(chǎn)者指針),生產(chǎn)者指針更新后,GOS可以直接訪問該共享后的內(nèi)存獲取
該生產(chǎn)者指針。
同時,驅(qū)動自身記錄著數(shù)據(jù)緩沖區(qū)中上次已經(jīng)處理完了數(shù)據(jù)的指針(消費
者指針);
通過生產(chǎn)者和消費者指針的對比,驅(qū)動直接輪詢數(shù)據(jù)緩沖區(qū),獲取其中的 數(shù)據(jù),當(dāng)沒有數(shù)據(jù)可取時(沒有數(shù)據(jù),說明也沒有中斷了),取消輪詢,等待 下次中斷。
本發(fā)明的虛擬機系統(tǒng),包括
中斷標(biāo)示設(shè)置模塊,用于在截獲真實物理設(shè)備產(chǎn)生的中斷后,設(shè)置虛擬 CPU中的中斷標(biāo)志位;
模擬硬件中斷模塊,用于在根據(jù)虛擬CPU中的中斷標(biāo)志位判斷出有中斷 后,向虛擬CPU的中斷相關(guān)寄存器寫入相應(yīng)的值,模擬產(chǎn)生硬件中斷;
中斷標(biāo)示屏蔽模塊,用于在獲取模擬硬件中斷后屏蔽虛擬CPU中的中斷 標(biāo)志位;
數(shù)據(jù)獲取模塊,用于從真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)獲取數(shù)據(jù),直至真 實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)為止;
中斷標(biāo)示屏蔽取消模塊,用于在數(shù)據(jù)獲取模塊判斷出真實物理設(shè)備的對應(yīng) 的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)時,取消對虛擬CPU中的中斷標(biāo)志位的屏蔽。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通 技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾, 這些改進和潤飾也應(yīng)^f見為本發(fā)明的保護范圍。
權(quán)利要求
1. 一種虛擬機系統(tǒng)中客戶操作系統(tǒng)的中斷處理方法,包括:步驟A,虛擬機監(jiān)視器在截獲真實物理設(shè)備產(chǎn)生的中斷后,設(shè)置虛擬CPU中的中斷標(biāo)志位;步驟B,客戶操作系統(tǒng)陷入虛擬機監(jiān)視器后,根據(jù)虛擬CPU的模擬硬件中斷調(diào)用驅(qū)動的中斷處理函數(shù);其特征在于,還包括:步驟C,中斷處理函數(shù)屏蔽中斷標(biāo)志位;步驟D,中斷處理函數(shù)通過虛擬機監(jiān)視器從設(shè)備的數(shù)據(jù)緩沖區(qū)獲取數(shù)據(jù),直至設(shè)備的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)為止。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括步驟E,中斷處理函數(shù):f又消對虛擬CPU中的中斷標(biāo)志位的屏蔽。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟D具體包括 步驟D1,中斷處理函數(shù)被調(diào)用后,判斷真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)是否有數(shù)據(jù),如果是進入步驟D2,否則進入步驟E;步驟D2,獲取真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù),將中斷處理函 數(shù)再次放入隊列后返回步驟Dl 。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述步驟D1中,中斷處理 函數(shù)具體根據(jù)生產(chǎn)者指針和消費者指針判斷真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū) 是否有數(shù)據(jù)。
5. —種虛擬機系統(tǒng),包括中斷標(biāo)示設(shè)置模塊,用于在截獲真實物理設(shè)備產(chǎn)生的中斷后,設(shè)置虛擬 CPU中的中斷標(biāo)志位;模擬硬件中斷模塊,用于在根據(jù)虛擬CPU中的中斷標(biāo)志位判斷出有中斷 后,向虛擬CPU的中斷相關(guān)寄存器寫入相應(yīng)的值,模擬產(chǎn)生硬件中斷;其特征在于,還包括中斷標(biāo)示屏蔽模塊,用于在獲取模擬硬件中斷后屏蔽虛擬CPU中的中斷 標(biāo)志位; 數(shù)據(jù)獲取模塊,用于從真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)獲取數(shù)據(jù),直至真 實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)為止。
6. 根據(jù)權(quán)利要求5所述的虛擬機系統(tǒng),其特征在于,還包括 中斷標(biāo)示屏蔽取消模塊,用于在數(shù)據(jù)獲取模塊判斷出真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)時,取消對虛擬CPU中的中斷標(biāo)志位的屏蔽。
7. 根據(jù)權(quán)利要求6所述的虛擬機系統(tǒng),其特征在于,數(shù)據(jù)獲取模塊具體 根據(jù)生產(chǎn)者指針和消費者指針判斷真實物理設(shè)備對應(yīng)的數(shù)據(jù)緩沖區(qū)是否有數(shù) 據(jù)。
全文摘要
本發(fā)明提供一種虛擬機系統(tǒng)及其客戶操作系統(tǒng)的中斷處理方法,其中該虛擬機系統(tǒng)中客戶操作系統(tǒng)的中斷處理方法,包括步驟A,虛擬機監(jiān)視器在截獲真實物理設(shè)備產(chǎn)生的中斷后,設(shè)置虛擬CPU中的中斷標(biāo)志位;步驟B,客戶操作系統(tǒng)陷入虛擬機監(jiān)視器后,根據(jù)虛擬CPU的模擬硬件中斷調(diào)用驅(qū)動的中斷處理函數(shù);步驟C,中斷處理函數(shù)屏蔽中斷標(biāo)志位;步驟D,中斷處理函數(shù)通過虛擬機監(jiān)視器從設(shè)備的數(shù)據(jù)緩沖區(qū)獲取數(shù)據(jù),直至設(shè)備的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)為止。采用本發(fā)明,數(shù)據(jù)接收過程加快,系統(tǒng)性能提高。
文檔編號G06F9/455GK101382923SQ20071012147
公開日2009年3月11日 申請日期2007年9月6日 優(yōu)先權(quán)日2007年9月6日
發(fā)明者張冬冬 申請人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1