两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

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

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

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


圖1為本發(fā)明虛擬機(jī)系統(tǒng)中客戶操作系統(tǒng)的中斷處理方法的流程示意圖。
具體實(shí)施例方式
本發(fā)明的虛擬機(jī)系統(tǒng)中客戶操作系統(tǒng)的中斷處理方法,針對(duì)虛擬機(jī)監(jiān)視器 能夠截獲中斷的特點(diǎn),直接將中斷屏蔽,進(jìn)而直接讀取真實(shí)物理設(shè)備對(duì)應(yīng)的緩 沖區(qū)數(shù)據(jù),減少中斷次數(shù),提高設(shè)備性能。
本發(fā)明的虛擬機(jī)系統(tǒng)中客戶操作系統(tǒng)的中斷處理方法如圖l所示,包括
步驟11,虛擬機(jī)監(jiān)^L器截獲真實(shí)物理設(shè)備在接到數(shù)據(jù)后產(chǎn)生的中斷,并 設(shè)置虛擬CPU中的中斷標(biāo)志位;
在該步驟中,真實(shí)物理設(shè)備的管腳產(chǎn)生中斷后,該中斷為虛擬機(jī)監(jiān)視器截 獲,虛擬機(jī)監(jiān)視器根據(jù)該中斷號(hào)設(shè)置虛擬CPU中對(duì)應(yīng)的中斷標(biāo)志,如
顯卡中斷會(huì)設(shè)置虛擬CPU中與顯卡中斷對(duì)應(yīng)的中斷標(biāo)志;
網(wǎng)卡中斷會(huì)設(shè)置虛擬CPU中與網(wǎng)卡中斷對(duì)應(yīng)的中斷標(biāo)志等。 通過對(duì)應(yīng)的設(shè)置,客戶操作系統(tǒng)GOS陷入后,可以方便地判斷中斷,調(diào)
用相應(yīng)的中斷處理函it。
步驟12, GOS陷入虛擬機(jī)監(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,虛擬機(jī)控制 結(jié)構(gòu))結(jié)果,讓Guest OS產(chǎn)生中斷來實(shí)現(xiàn)。
步驟13, GOS收到該模擬硬件中斷后調(diào)用驅(qū)動(dòng)的中斷處理函數(shù);
步驟14,中斷處理函數(shù)屏蔽中斷標(biāo)志位,屏蔽中斷標(biāo)志位后,每次GOS 陷入,檢查該標(biāo)志位后將發(fā)現(xiàn)沒有中斷產(chǎn)生;
步驟15,中斷處理函數(shù)通過虛擬機(jī)監(jiān)視器從設(shè)備的數(shù)據(jù)緩沖區(qū)獲取數(shù)據(jù), 直至設(shè)備的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)為止;
步驟16,中斷處理函數(shù)取消對(duì)虛擬CPU中的中斷標(biāo)志位的屏蔽。
其中步驟15具體包括
步驟151,中斷處理函數(shù)被調(diào)用后,判斷真實(shí)物理設(shè)備對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū) 是否有數(shù)據(jù),如果是進(jìn)入步驟152,否則進(jìn)入步驟16;
步驟152,獲取真實(shí)物理設(shè)備對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù),將中斷處理函 數(shù)再次放入隊(duì)列后返回步驟151。
在步驟152中,將該中斷處理函數(shù)再次放入隊(duì)列后, 一定時(shí)間后,該中斷 處理函數(shù)再次被調(diào)用,重復(fù)上述過程,直至數(shù)據(jù)被接收完畢。
在此,步驟151中,驅(qū)動(dòng)的中斷處理函數(shù)查詢真實(shí)物理設(shè)備對(duì)應(yīng)的數(shù)據(jù)緩 沖區(qū),判斷是否有數(shù)據(jù),在本發(fā)明的具體實(shí)施例中,具體通過生產(chǎn)者指針和消 費(fèi)者指針來判斷,下面進(jìn)行詳細(xì)說明。
GOS和VMM共享有內(nèi)存頁,而VMM會(huì)在有新數(shù)據(jù)到來時(shí)更新該指針 (生產(chǎn)者指針),生產(chǎn)者指針更新后,GOS可以直接訪問該共享后的內(nèi)存獲取
該生產(chǎn)者指針。
同時(shí),驅(qū)動(dòng)自身記錄著數(shù)據(jù)緩沖區(qū)中上次已經(jīng)處理完了數(shù)據(jù)的指針(消費(fèi)
者指針);
通過生產(chǎn)者和消費(fèi)者指針的對(duì)比,驅(qū)動(dòng)直接輪詢數(shù)據(jù)緩沖區(qū),獲取其中的 數(shù)據(jù),當(dāng)沒有數(shù)據(jù)可取時(shí)(沒有數(shù)據(jù),說明也沒有中斷了),取消輪詢,等待 下次中斷。
本發(fā)明的虛擬機(jī)系統(tǒng),包括
中斷標(biāo)示設(shè)置模塊,用于在截獲真實(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í)物理設(shè)備對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)獲取數(shù)據(jù),直至真 實(shí)物理設(shè)備對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)為止;
中斷標(biāo)示屏蔽取消模塊,用于在數(shù)據(jù)獲取模塊判斷出真實(shí)物理設(shè)備的對(duì)應(yīng) 的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)時(shí),取消對(duì)虛擬CPU中的中斷標(biāo)志位的屏蔽。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通 技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤飾, 這些改進(jìn)和潤飾也應(yīng)^f見為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1. 一種虛擬機(jī)系統(tǒng)中客戶操作系統(tǒng)的中斷處理方法,包括:步驟A,虛擬機(jī)監(jiān)視器在截獲真實(shí)物理設(shè)備產(chǎn)生的中斷后,設(shè)置虛擬CPU中的中斷標(biāo)志位;步驟B,客戶操作系統(tǒng)陷入虛擬機(jī)監(jiān)視器后,根據(jù)虛擬CPU的模擬硬件中斷調(diào)用驅(qū)動(dòng)的中斷處理函數(shù);其特征在于,還包括:步驟C,中斷處理函數(shù)屏蔽中斷標(biāo)志位;步驟D,中斷處理函數(shù)通過虛擬機(jī)監(jiān)視器從設(shè)備的數(shù)據(jù)緩沖區(qū)獲取數(shù)據(jù),直至設(shè)備的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)為止。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括步驟E,中斷處理函數(shù):f又消對(duì)虛擬CPU中的中斷標(biāo)志位的屏蔽。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟D具體包括 步驟D1,中斷處理函數(shù)被調(diào)用后,判斷真實(shí)物理設(shè)備對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)是否有數(shù)據(jù),如果是進(jìn)入步驟D2,否則進(jìn)入步驟E;步驟D2,獲取真實(shí)物理設(shè)備對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù),將中斷處理函 數(shù)再次放入隊(duì)列后返回步驟Dl 。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述步驟D1中,中斷處理 函數(shù)具體根據(jù)生產(chǎn)者指針和消費(fèi)者指針判斷真實(shí)物理設(shè)備對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū) 是否有數(shù)據(jù)。
5. —種虛擬機(jī)系統(tǒng),包括中斷標(biāo)示設(shè)置模塊,用于在截獲真實(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í)物理設(shè)備對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)獲取數(shù)據(jù),直至真 實(shí)物理設(shè)備對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)為止。
6. 根據(jù)權(quán)利要求5所述的虛擬機(jī)系統(tǒng),其特征在于,還包括 中斷標(biāo)示屏蔽取消模塊,用于在數(shù)據(jù)獲取模塊判斷出真實(shí)物理設(shè)備對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)時(shí),取消對(duì)虛擬CPU中的中斷標(biāo)志位的屏蔽。
7. 根據(jù)權(quán)利要求6所述的虛擬機(jī)系統(tǒng),其特征在于,數(shù)據(jù)獲取模塊具體 根據(jù)生產(chǎn)者指針和消費(fèi)者指針判斷真實(shí)物理設(shè)備對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)是否有數(shù) 據(jù)。
全文摘要
本發(fā)明提供一種虛擬機(jī)系統(tǒng)及其客戶操作系統(tǒng)的中斷處理方法,其中該虛擬機(jī)系統(tǒng)中客戶操作系統(tǒng)的中斷處理方法,包括步驟A,虛擬機(jī)監(jiān)視器在截獲真實(shí)物理設(shè)備產(chǎn)生的中斷后,設(shè)置虛擬CPU中的中斷標(biāo)志位;步驟B,客戶操作系統(tǒng)陷入虛擬機(jī)監(jiān)視器后,根據(jù)虛擬CPU的模擬硬件中斷調(diào)用驅(qū)動(dòng)的中斷處理函數(shù);步驟C,中斷處理函數(shù)屏蔽中斷標(biāo)志位;步驟D,中斷處理函數(shù)通過虛擬機(jī)監(jiān)視器從設(shè)備的數(shù)據(jù)緩沖區(qū)獲取數(shù)據(jù),直至設(shè)備的數(shù)據(jù)緩沖區(qū)沒有數(shù)據(jù)為止。采用本發(fā)明,數(shù)據(jù)接收過程加快,系統(tǒng)性能提高。
文檔編號(hào)G06F9/455GK101382923SQ20071012147
公開日2009年3月11日 申請(qǐng)日期2007年9月6日 優(yōu)先權(quán)日2007年9月6日
發(fā)明者張冬冬 申請(qǐng)人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
长子县| 沙河市| 临沂市| 酉阳| 察隅县| 徐州市| 博白县| 东山县| 宜城市| 宝兴县| 莫力| 吴桥县| 错那县| 信丰县| 驻马店市| 新竹县| 仲巴县| 崇州市| 德惠市| 台东市| 金堂县| 澄城县| 丹寨县| 科尔| 丹巴县| 绥化市| 凤冈县| 伊春市| 大足县| 溆浦县| 博客| 海安县| 阳江市| 韩城市| 上饶市| 南宁市| 定西市| 清苑县| 广宁县| 香格里拉县| 崇义县|