亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

虛擬環(huán)境的中斷處理方法與系統(tǒng)的制作方法

文檔序號:9929427閱讀:320來源:國知局
虛擬環(huán)境的中斷處理方法與系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及一種處理虛擬環(huán)境的中斷的方法與系統(tǒng)。
【背景技術(shù)】
[0002]虛擬機器(Virtual Machine,VM)是以軟件方式來實現(xiàn)機器(比如計算機),其能像真正機器般執(zhí)行程序。多個機器會各自執(zhí)行于其各自操作系統(tǒng)(稱為客戶OS)之上??蛻鬙S并不需要符合于硬件,故而,可能在同一計算機上執(zhí)行不同OS,且客戶OS可共享虛擬硬件資源。超級管理程序(hypervisor),也可稱為虛擬機器監(jiān)控程序(virtual machinemonitor, VMM),一般為計算機軟件的一部分,或者也可為固件/硬件,其可在虛擬環(huán)境中建造與執(zhí)行虛擬機器。如果超級管理程序在計算機上執(zhí)行一或多個虛擬機器的話,則此臺計算機可稱為主機(host machine)。虛擬機器稱為客戶機。超級管理程序利用虛擬作業(yè)平臺來呈現(xiàn)客戶OS,且管理客戶OS的執(zhí)行。
[0003]當(dāng)超級管理程序執(zhí)行在一處理器內(nèi)核上的話,則稱此處理器內(nèi)核處于主機模式(host mode);如果虛擬機器執(zhí)行在處理器內(nèi)核上的話,則稱此處理器內(nèi)核處于客戶模式(guest mode)。處理器內(nèi)核會處于客戶模式,直到事件發(fā)生,來強迫處理器內(nèi)核進入主機模式,這類事件比如為,由1/0裝置或計時器(timer)所發(fā)出的中斷,或者是其他事件。當(dāng)轉(zhuǎn)換成主機模式時,超級管理程序會接手來處理所觸發(fā)的事件,將此中斷送至目的虛擬機器的相關(guān)中斷處理程序,接著,再次進入客戶模式,以回復(fù)虛擬機器的執(zhí)行。當(dāng)相關(guān)中斷處理程序已經(jīng)完成處理后,相關(guān)中斷處理程序發(fā)出用中斷結(jié)束(E0I,end of interrupt)信號給硬件,比如但不受限于,相關(guān)中斷處理程序可寫入至處理器內(nèi)核的相關(guān)區(qū)域中斷控制器的EOI寄存器。甚至,由一處理器內(nèi)核送至另一處理器內(nèi)核的中斷也可稱為處理器之間中斷(inter-processor interrupt)。
[0004]從客戶模式進入至主機模式可稱為虛擬機器離開(VM exit),而從主機模式進入至客戶模式可稱為虛擬機器進入(VM entry)。虛擬機器離開/進入的性能開銷(performance overhead)在于,當(dāng)執(zhí)行超級管理程序代碼時,花費在存儲與回復(fù)上下文(context,又稱之為“內(nèi)文”)與處理器快取的相關(guān)污染。某些現(xiàn)在架構(gòu)(比如x86服務(wù)架構(gòu))規(guī)定每個外部中斷會造成虛擬機器離開,或者,外部中斷無法造成虛擬機器離開。此限制造成,如果要依目的虛擬機器是否正在執(zhí)行而來傳送不同中斷,這件事變得困難。
[0005]隨著虛擬化的硬件支持變得愈來愈復(fù)雜,因為1/0虛擬化所導(dǎo)致的性能開銷也逐漸出現(xiàn)。因而,單根 1/0 虛擬化(SR-10V,Single Root 1/0 Virtualizat1n),多根 1/0 虛擬化(MR-10V, Mult1-Root 1/0 Virtualizat1n)與半虛擬化(para-virtualizat1n)的出現(xiàn)使得虛擬機器能降低DMA相關(guān)虛擬化開銷。然而,對于經(jīng)常發(fā)生的一般性上下文交換而言,比如,在中斷傳送過程中所發(fā)生的虛擬機器離開/進入,造成1/0虛擬化性能開銷的絕大部分。
[0006]只有當(dāng)超級管理程序與虛擬機器皆執(zhí)行在同一處理器內(nèi)核當(dāng)中時,超級管理程序才能將虛擬中斷注入至虛擬機器。對于仿真(emulate)的虛擬裝置而言,將使得由后端驅(qū)動程序送至其相關(guān)前端驅(qū)動程序的每一中斷都會造成虛擬機器離開,因為這些驅(qū)動程序乃是執(zhí)行在不同處理器內(nèi)核上。此外,計時器中斷的離開機制亦會對超級管理程序造成虛擬機器離開。
[0007]為降低虛擬機器離開的數(shù)量,某些硬件制造商致力于中斷控制器的硬件虛擬支持。目前研究已提出二進位重寫(binary rewriting)技術(shù),以降低虛擬機器離開的數(shù)量。此機制動態(tài)地將虛擬機器碼給以最佳化,藉由辨別出會造成連續(xù)虛擬機器離開的指令對,并動態(tài)地將客戶碼轉(zhuǎn)譯成可能造成較少虛擬機器離開的變化類型。另一研究則是藉由預(yù)先分配各資源與對客戶進行半虛擬化來降低虛擬機器離開。此外,尚有另一機制乃是設(shè)定既定系統(tǒng)呼叫,以根據(jù)各種數(shù)據(jù)結(jié)構(gòu)的設(shè)定來進入即時模式操作,以降低虛擬機器離開。

【發(fā)明內(nèi)容】

[0008]本申請實施例提供虛擬環(huán)境的中斷處理方法與系統(tǒng),其能操作在具有一或多處理器內(nèi)核的計算機上。
[0009]根據(jù)本申請一實施例,提出一種虛擬環(huán)境的中斷處理方法,可運作在具有一或多處理器內(nèi)核的計算機上。該中斷處理方法包括:通過該虛擬環(huán)境的超級管理程序,將目的為虛擬機器的中斷所觸發(fā)的虛擬機器離開給予失能;以及當(dāng)該目的虛擬機器正在執(zhí)行在該一或多處理器內(nèi)核之一上時,將由輸出入虛擬裝置和/或虛擬裝置所發(fā)出的一或多中斷直接送至該目的虛擬機器,否則,將該一或多中斷送至該超級管理程序,以將該一或多中斷送至該目的虛擬機器。
[0010]根據(jù)本申請另一實施例,提出一種虛擬環(huán)境的中斷處理系統(tǒng),可運作在具有一或多處理器內(nèi)核的計算機上。該中斷處理系統(tǒng)包括:超級管理程序,將目的為虛擬機器的中斷所觸發(fā)的虛擬機器離開給予失能;以及輸出入虛擬(1V)裝置及虛擬裝置,當(dāng)該目的虛擬機器正在執(zhí)行在該一或多處理器內(nèi)核之一上時,該系統(tǒng)將由輸出入虛擬裝置和/或虛擬裝置所發(fā)出的一或多中斷直接送至該目的虛擬機器,否則,將該一或多中斷送至該超級管理程序,以將該一或多中斷送至該目的虛擬機器。
[0011]為了對本申請的上述及其他方面有更佳的了解,下文特舉實施例,并配合附圖,作詳細說明如下:
【附圖說明】
[0012]圖1繪示根據(jù)本申請的在虛擬環(huán)境中直接傳送中斷至虛擬機器的中斷處理方法一實施范例。
[0013]圖2繪示依照本申請的輸出入虛擬(I/O virtualizat1n,10V)裝置和/或虛擬裝置的中斷處理方法一實施范例。
[0014]圖3(a)、(b)顯示當(dāng)允許虛擬機器直接觸發(fā)EOI信號時,有可能發(fā)生的情況。
[0015]圖4繪示根據(jù)本申請的直接傳送計時器中斷至虛擬機器的中斷處理方法一實施范例。
[0016]圖5繪示根據(jù)本申請在虛擬環(huán)境中直接傳送中斷的中斷處理系統(tǒng)一實施范例。
[0017]【符號說明】
[0018]110 ?130:步驟
[0019]131 ?135:步驟
[0020]410 ?413:步驟
[0021]500:中斷處理系統(tǒng)
[0022]501:處理器內(nèi)核
[0023]503:超級管理程序
[0024]505:虛擬機器
[0025]507:1OV 裝置
[0026]509:虛擬裝置
[0027]511:計時器
【具體實施方式】
[0028]公開一種在虛擬環(huán)境中的中斷處理方法與系統(tǒng)的實施范例。本申請實施例可以將由10V(I/0虛擬化)裝置,虛擬裝置,和/或計時器所發(fā)出的中斷直接送至目的虛擬機器,而不用喚起傳送路徑上的虛擬環(huán)境的超級管理程序(在虛擬環(huán)境中,許多的現(xiàn)有中斷傳送機制通常會喚起超級管理程序)。甚至,本申請一實施例可減少在中斷傳送過程中的相關(guān)于各I/O交易的虛擬機器離開的數(shù)量。
[0029]圖1繪示根據(jù)本申請的在虛擬環(huán)境中直接傳送中斷至虛擬機器的中斷處理方法一實施范例,其可執(zhí)行在具有一或多處理器內(nèi)核的計算機上。在方塊110,此中斷處理方法由虛擬環(huán)境的超級管理程序?qū)⒛康臑樘摂M機器的中斷所觸發(fā)的虛擬機器離開給予失能。在本申請另一實施例中,超級管理程序會清除虛擬機器的相關(guān)控制結(jié)構(gòu)中的外部中斷離開(EIE,external interrupt exiting)位,以失能相關(guān)的虛擬機器離開,使得將中斷傳送至執(zhí)行中虛擬機器不會造成虛擬機器離開。在本申請的中斷處理方法再一
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1