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

在虛擬機(jī)監(jiān)控器外進(jìn)行輸入輸出設(shè)備虛擬化的虛擬機(jī)系統(tǒng)的制作方法

文檔序號(hào):7762297閱讀:662來源:國知局
專利名稱:在虛擬機(jī)監(jiān)控器外進(jìn)行輸入輸出設(shè)備虛擬化的虛擬機(jī)系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)處理技術(shù)領(lǐng)域,尤其是涉及一種虛擬機(jī)技術(shù),其中客戶機(jī)操作 系統(tǒng)在計(jì)算設(shè)備的虛擬機(jī)中運(yùn)行,更具體地說,是涉及此類虛擬機(jī)環(huán)境中的在虛擬機(jī)監(jiān)控 器之外進(jìn)行輸入輸出(I/O)設(shè)備虛擬化的方法。
背景技術(shù)
在以往的虛擬化環(huán)境中,客戶虛擬機(jī)(Guest Virtual Machine)簡(jiǎn)稱為客戶機(jī), 客戶機(jī)操作系統(tǒng)(Guest Operating Systems)運(yùn)行在虛擬機(jī)中,虛擬機(jī)監(jiān)控器(Virtual Machine Monitor)管理所有的硬件資源,并提供虛擬的硬件環(huán)境以供客戶機(jī)操作系統(tǒng)運(yùn) 行,所有的虛擬機(jī)都運(yùn)行在虛擬機(jī)監(jiān)控器(VMM)之上,具體結(jié)構(gòu)如圖1所示。在具有硬件輔助的虛擬化技術(shù)的處理器平臺(tái)上,客戶機(jī)操作系統(tǒng)不需要修改一些 敏感指令就可直接運(yùn)行于虛擬機(jī)之中。通過虛擬化技術(shù),在一組硬件上可以同時(shí)運(yùn)行多個(gè)客戶機(jī),從而提高了硬件資源 的利用率,同時(shí)減少了電力消耗和存放設(shè)備的空間等需求。所有的客戶機(jī)由虛擬機(jī)監(jiān)控器 (VMM)統(tǒng)一管理,并確保它們之間的隔離性。虛擬機(jī)監(jiān)控器(VMM)管理整個(gè)系統(tǒng)的所有資源,響應(yīng)和處理所有客戶機(jī)的I/O請(qǐng) 求,使得虛擬機(jī)監(jiān)控器(VMM)軟件體積龐大,組織復(fù)雜,這對(duì)安全性和隔離性都形成了不穩(wěn) 定的因素。按照功能來分解虛擬機(jī)監(jiān)控器(VMM),降低虛擬機(jī)監(jiān)控器(VMM)的復(fù)雜度和軟件 體積,把一些較為獨(dú)立的功能提取出來作為獨(dú)立的虛擬機(jī)運(yùn)行,這是目前技術(shù)改進(jìn)的方向。

發(fā)明內(nèi)容
本發(fā)明提供一種在虛擬機(jī)監(jiān)控器(VMM)外進(jìn)行輸入輸出(I/O)虛擬化的虛擬機(jī)系 統(tǒng),基于硬件輔助型的虛擬化技術(shù)的處理器平臺(tái),把輸入輸出(I/O)的處理和共享這部分 的功能從虛擬機(jī)監(jiān)控器(VMM)中提取出來,在運(yùn)行于虛擬機(jī)監(jiān)控器(VMM)之上的特權(quán)客戶 虛擬機(jī)中進(jìn)行輸入輸出(I/O)的處理、共享、調(diào)度,完成I/O虛擬化的功能,這個(gè)特權(quán)客戶虛 擬機(jī)稱為輸入輸出虛擬機(jī)(I0VM 1/0 Virtual Machine),這樣可以獲得更好的隔離性和安 全性,同時(shí)能降低虛擬機(jī)監(jiān)控器(VMM)的負(fù)擔(dān)。一種在虛擬機(jī)監(jiān)控器(VMM)之外進(jìn)行輸入輸出(I/O)虛擬化的虛擬機(jī)系統(tǒng),基于 硬件輔助型的虛擬化技術(shù)的處理器平臺(tái),包括虛擬機(jī)監(jiān)控器(VMM),所述的虛擬機(jī)監(jiān)控器設(shè) 有若干個(gè)輸入輸出虛擬機(jī)(IOVM),由輸入輸出虛擬機(jī)(IOVM)來處理客戶機(jī)的所有I/O操作 和設(shè)備共享;若干個(gè)輸入輸出虛擬機(jī)(IOVM)由虛擬機(jī)監(jiān)控器(VMM)來管理和調(diào)度;輸入輸 出虛擬機(jī)(IOVM)和虛擬機(jī)監(jiān)控器(VMM)之間設(shè)有域間通信機(jī)制和內(nèi)存共享機(jī)制,由虛擬機(jī) 監(jiān)控器(VMM)管理域間通信機(jī)制和內(nèi)存共享機(jī)制,增加和刪除內(nèi)存共享塊都需要虛擬機(jī)監(jiān) 控器(VMM)來審核。所述的一個(gè)輸入輸出虛擬機(jī)(IOVM)可以為多個(gè)客戶虛擬機(jī)提供服務(wù),一個(gè)客戶 虛擬機(jī)的不同的I/O請(qǐng)求可以由不同的輸入輸出虛擬機(jī)(IOVM)來處理,通過虛擬機(jī)監(jiān)控器(VMM)的I/O虛擬化管理程序來設(shè)定。所述的客戶虛擬機(jī)和提供服務(wù)的輸入輸出虛擬機(jī)(IOVM)運(yùn)行在兩個(gè)不同的計(jì)算 機(jī)上,輸入輸出虛擬機(jī)(IOVM)通過網(wǎng)絡(luò)提供I/O服務(wù)。本發(fā)明的輸入輸出虛擬機(jī)(IOVM)的設(shè)計(jì),可以通過網(wǎng)絡(luò),跨越單臺(tái)計(jì)算機(jī)硬件。 使得在需要的情況下,在本地計(jì)算機(jī)上運(yùn)行的虛擬機(jī)監(jiān)控器(VMM)可以通過網(wǎng)絡(luò)向運(yùn)行在 其他計(jì)算機(jī)上的虛擬機(jī)監(jiān)控器(VMM)申請(qǐng)輸入輸出虛擬機(jī)(IOVM)服務(wù),并將相應(yīng)的I/O需 求轉(zhuǎn)發(fā)過去,由其他計(jì)算機(jī)上的輸入輸出虛擬機(jī)(IOVM)進(jìn)行處理。在基于硬件輔助型虛擬化技術(shù)的處理器平臺(tái)上的虛擬化系統(tǒng)中,客戶虛擬機(jī)產(chǎn)生 的I/O請(qǐng)求將會(huì)被虛擬機(jī)監(jiān)控器(VMM)發(fā)現(xiàn),由虛擬機(jī)監(jiān)控器(VMM)根據(jù)客戶虛擬機(jī)的I/ 0請(qǐng)求的類型和相關(guān)的信息來決定如何分配相應(yīng)的輸入輸出虛擬機(jī)(IOVM),若在本地計(jì)算 機(jī)上沒有相應(yīng)的可用的輸入輸出虛擬機(jī)(IOVM)、或者無法在本地計(jì)算機(jī)上再創(chuàng)建新的輸入 輸出虛擬機(jī)(IOVM)、或者本機(jī)上I/O設(shè)備資源不足、或者計(jì)算資源負(fù)載均衡調(diào)度的需要等 情況下,本地的虛擬機(jī)監(jiān)控器(VMM)可用通過網(wǎng)絡(luò)向遠(yuǎn)程的計(jì)算機(jī)中可以分配相應(yīng)的輸入 輸出虛擬機(jī)(IOVM)服務(wù)的計(jì)算機(jī)申請(qǐng)所需的輸入輸出虛擬機(jī)(IOVM)服務(wù),若申請(qǐng)獲得滿 足,本地的虛擬機(jī)監(jiān)控器(VMM)就把相應(yīng)的I/O請(qǐng)求轉(zhuǎn)發(fā)過去,本地的虛擬機(jī)監(jiān)控器(VMM) 再將遠(yuǎn)程的輸入輸出虛擬機(jī)(IOVM)返回的結(jié)果轉(zhuǎn)發(fā)給相應(yīng)的客戶虛擬機(jī),通過網(wǎng)絡(luò)提供 輸入輸出虛擬機(jī)(IOVM)由遠(yuǎn)程的計(jì)算機(jī)上輸入輸出虛擬機(jī)(IOVM)進(jìn)行相應(yīng)的處理,遠(yuǎn)程 的計(jì)算機(jī)上的輸入輸出虛擬機(jī)(IOVM)完成相應(yīng)的處理之后將結(jié)果返回本地服務(wù)的過程就 完成了。這個(gè)過程中,輸入輸出虛擬機(jī)(IOVM)的分配對(duì)客戶虛擬機(jī)是透明的,輸入輸出虛 擬機(jī)(IOVM)是否運(yùn)行在本機(jī)上,客戶虛擬機(jī)并不知曉。由虛擬機(jī)監(jiān)控器(VMM)中相應(yīng)的I/O虛擬化管理程序的來決定讓哪一個(gè)輸入輸出 虛擬機(jī)(IOVM)來為當(dāng)前提出I/O請(qǐng)求的客戶虛擬機(jī)提供服務(wù),包括本地計(jì)算機(jī)上運(yùn)行的輸 入輸出虛擬機(jī)(IOVM)和通過網(wǎng)絡(luò)向其他計(jì)算機(jī)申請(qǐng)的輸入輸出虛擬機(jī)(IOVM)服務(wù)。所述的輸入輸出虛擬機(jī)(IOVM)是作為獨(dú)立的客戶機(jī)運(yùn)行在虛擬機(jī)監(jiān)控器(VMM) 之上,輸入輸出虛擬機(jī)(IOVM)的架構(gòu)包括內(nèi)核部分,標(biāo)準(zhǔn)C庫,TCP/IP協(xié)議棧,設(shè)備模型, 后端驅(qū)動(dòng),域間通信機(jī)制,域間內(nèi)存共享;(1)輸入輸出虛擬機(jī)(IOVM)的內(nèi)核部分,細(xì)分為多個(gè)功能模塊,包括進(jìn)程管理調(diào) 度、進(jìn)程間通信、內(nèi)存管理、文件系統(tǒng)、設(shè)備驅(qū)動(dòng);這些模塊組成輸入輸出虛擬機(jī)(IOVM)的 操作系統(tǒng)內(nèi)核。(2)后端驅(qū)動(dòng)和設(shè)備模型用于接收和處理來自客戶機(jī)的I/O請(qǐng)求。來自客戶機(jī)的 I/O操作請(qǐng)求被虛擬機(jī)監(jiān)控器(VMM)截獲之后,由虛擬機(jī)監(jiān)控器(VMM)分發(fā)到相應(yīng)的輸入 輸出虛擬機(jī)(IOVM),在輸入輸出虛擬機(jī)(IOVM)中由相應(yīng)的的后端驅(qū)動(dòng)接收這些請(qǐng)求,后端 驅(qū)動(dòng)分析請(qǐng)求,決定是由設(shè)備模型進(jìn)行處理還是由本地驅(qū)動(dòng)進(jìn)行處理,并且完成相應(yīng)的I/O 操作,然后再把處理結(jié)果通過虛擬機(jī)監(jiān)控器(VMM)返回給客戶機(jī)。(3)標(biāo)準(zhǔn)C庫提供基本的程序運(yùn)行庫。(4) TCP/IP協(xié)議棧提供了網(wǎng)絡(luò)功能所須的協(xié)議棧。(5)域間通信機(jī)制用于處理虛擬機(jī)監(jiān)控器(VMM)和輸入輸出虛擬機(jī)(IOVM)之間的 通信和數(shù)據(jù)傳遞。
所述的域間通信機(jī)制(IDC Inter-Domain Communication)存在于輸入輸出虛擬 機(jī)(IOVM)和虛擬機(jī)監(jiān)控器(VMM)之間,提供輸入輸出虛擬機(jī)(IOVM)和虛擬機(jī)監(jiān)控器(VMM) 之間的通信。因?yàn)橛蜷g通信機(jī)制只存在于輸入輸出虛擬機(jī)(IOVM)和虛擬機(jī)監(jiān)控器(VMM)之間, 因此對(duì)輸入輸出虛擬機(jī)(IOVM)而言域間通信機(jī)制的目標(biāo)對(duì)象只能是虛擬機(jī)監(jiān)控器(VMM), 因此無需指定目標(biāo)對(duì)象。對(duì)虛擬機(jī)監(jiān)控器(VMM)而言,系統(tǒng)中會(huì)存在一個(gè)到多個(gè)輸入輸出 虛擬機(jī)(IOVM),因此,虛擬機(jī)監(jiān)控器(VMM)需要根據(jù)輸入輸出虛擬機(jī)(IOVM)列表來指定域 間通信機(jī)制的目標(biāo)對(duì)象。限制域間通信機(jī)制(IDC)的消息內(nèi)容不超過32個(gè)字節(jié)(Byte),這樣便于將IA32 體系結(jié)構(gòu)中的8個(gè)通用寄存器用于傳遞域間通信機(jī)制(IDC)消息,從而提高域間通信機(jī)制 (IDC)的性能。因?yàn)閂MCS中的客戶機(jī)狀態(tài)域(Guest-state area)中并不包括通用寄存 器和浮點(diǎn)寄存器,它們的保存和恢復(fù)由虛擬機(jī)監(jiān)控器(VMM)決定。因而,在產(chǎn)生VM-Exit、 VM-Entry的時(shí)候,使得在虛擬機(jī)監(jiān)控器(VMM)和輸入輸出虛擬機(jī)(IOVM)之間完成地址空間 切換的時(shí)候,通用寄存器的內(nèi)容可以保留,使得數(shù)據(jù)可以通過通用寄存器在虛擬機(jī)監(jiān)控器 (VMM)和輸入輸出虛擬機(jī)(IOVM)之間傳遞而且性能非常好。對(duì)于超過32個(gè)字節(jié)的消息的傳遞,使用域間內(nèi)存共享機(jī)制。(6)域間內(nèi)存共享機(jī)制用于處理虛擬機(jī)監(jiān)控器(VMM)和輸入輸出虛擬機(jī)(IOVM)之 間的數(shù)據(jù)傳遞。所述的域間內(nèi)存共享機(jī)制只存在于虛擬機(jī)監(jiān)控器(VMM)和輸入輸出虛擬機(jī) (IOVM)之間。需要虛擬機(jī)監(jiān)控器(VMM)和輸入輸出虛擬機(jī)(IOVM)的協(xié)同設(shè)計(jì),使得存在于 輸入輸出虛擬機(jī)(IOVM)和虛擬機(jī)監(jiān)控器(VMM)之間的域間內(nèi)存共享機(jī)制的實(shí)現(xiàn)比較容易 而且效率較高,便于實(shí)現(xiàn)數(shù)據(jù)共享。將輸入輸出虛擬機(jī)(IOVM)的需要被共享的內(nèi)存地址空間映射到虛擬機(jī)監(jiān)控器 (VMM)的內(nèi)存地址空間,實(shí)現(xiàn)域間內(nèi)存共享??梢杂卸鄠€(gè)域間內(nèi)存共享區(qū)域,可以根據(jù)內(nèi)存 資源來調(diào)節(jié)和限制總的域間內(nèi)存共享的大小的最大上限。在硬件輔助型虛擬化技術(shù)處理器平臺(tái)的支持下,把外部設(shè)備相關(guān)的的I/O處理和 I/O共享的功能從虛擬機(jī)監(jiān)控器(VMM)中提取出來,放到輸入輸出虛擬機(jī)(IOVM)中來運(yùn)行。本發(fā)明主要技術(shù)效果包括1.通過提出輸入輸出虛擬機(jī)(IOVM)的設(shè)計(jì),在虛擬機(jī)監(jiān)控器(VMM)之外進(jìn)行輸 入輸出設(shè)備的虛擬化(I/O Virtualization)。輸入輸出虛擬機(jī)(IOVM)作為特權(quán)虛擬機(jī)運(yùn) 行在虛擬機(jī)監(jiān)控器(VMM)之上??蛻魴C(jī)的I/O請(qǐng)求由虛擬機(jī)監(jiān)控器(VMM)轉(zhuǎn)發(fā)給輸入輸出 虛擬機(jī)(IOVM)來處理,在虛擬化技術(shù)的以往的實(shí)現(xiàn)方式中客戶機(jī)的I/O請(qǐng)求由虛擬機(jī)監(jiān)控 器(VMM)處理。這樣可以獲得更好的隔離性和安全性,同時(shí)能降低虛擬機(jī)監(jiān)控器(VMM)的 負(fù)擔(dān)2.本發(fā)明的輸入輸出虛擬機(jī)(IOVM)具有通過網(wǎng)絡(luò)提供I/O服務(wù)的能力,使得客戶 機(jī)的I/O請(qǐng)求和I/O處理可以在不同的計(jì)算機(jī)上通過網(wǎng)絡(luò)協(xié)作完成,使得I/O處理可以達(dá) 到跨越單臺(tái)計(jì)算機(jī)硬件的目的,以往的虛擬機(jī)系統(tǒng)的I/O處理受限于本機(jī)的計(jì)算機(jī)硬件資 源,而通過網(wǎng)絡(luò)提供I/O服務(wù)的輸入輸出虛擬機(jī)(IOVM)可以突破本機(jī)的計(jì)算機(jī)硬件資源的 限制,例如,當(dāng)本機(jī)空閑的硬盤空間已經(jīng)不能滿足I/O需求的時(shí)候,虛擬機(jī)監(jiān)控器(VMM)可以通過網(wǎng)絡(luò)向遠(yuǎn)程的計(jì)算機(jī)申請(qǐng)所需的輸入輸出虛擬機(jī)(IOVM)服務(wù),若申請(qǐng)獲得滿足,本 地的虛擬機(jī)監(jiān)控器(VMM)就把相應(yīng)的I/O請(qǐng)求轉(zhuǎn)發(fā)過去,待遠(yuǎn)程計(jì)算機(jī)上的輸入輸出虛擬 機(jī)(IOVM)處理完成后,本地的虛擬機(jī)監(jiān)控器(VMM)再將遠(yuǎn)程的輸入輸出虛擬機(jī)(IOVM)返 回的結(jié)果轉(zhuǎn)發(fā)給相應(yīng)的客戶虛擬機(jī)。3.本發(fā)明提出了虛擬機(jī)監(jiān)控器(VMM)和輸入輸出虛擬機(jī)(IOVM)之間通信的方 法,包括域間通信機(jī)制(IDC)和域間內(nèi)存共享機(jī)制,域間通信機(jī)制(IDC)在產(chǎn)生VM-Exit、 VM-Entry的時(shí)候使用通用寄存器來傳遞數(shù)據(jù),因?yàn)閂MCS(Virtual-Machine Control Structure)中的客戶機(jī)狀態(tài)域(Guest-state area)中并不包括通用寄存器和浮點(diǎn)寄存 器,它們的保存和恢復(fù)由虛擬機(jī)監(jiān)控器(VMM)決定。因而,在產(chǎn)生VM-Exit、VM-Entry的時(shí) 候,使得在虛擬機(jī)監(jiān)控器(VMM)和輸入輸出虛擬機(jī)(IOVM)之間完成地址空間切換的時(shí)候, 通用寄存器的內(nèi)容可以保留,使得數(shù)據(jù)可以通過通用寄存器在虛擬機(jī)監(jiān)控器(VMM)和輸入 輸出虛擬機(jī)(IOVM)之間傳遞而且性能非常好。域間內(nèi)存共享機(jī)制是將輸入輸出虛擬機(jī)(IOVM)的需要被共享的內(nèi)存地址空間映 射到虛擬機(jī)監(jiān)控器(VMM)的內(nèi)存地址空間,實(shí)現(xiàn)域間內(nèi)存共享。輸入輸出虛擬機(jī)(IOVM)的 內(nèi)存地址中要被共享的部分和虛擬機(jī)監(jiān)控器(VMM)的內(nèi)存地址中需要共享的部分指向同 一份物理內(nèi)存,使得兩者之間的內(nèi)存共享避免拷貝,獲得較高的效率。


圖1為現(xiàn)有技術(shù)的虛擬機(jī)系統(tǒng)的結(jié)構(gòu)組成示意圖。圖2為本發(fā)明的虛擬機(jī)系統(tǒng)的結(jié)構(gòu)組成示意圖。圖3為本發(fā)明通過網(wǎng)絡(luò)提供服務(wù)的虛擬機(jī)系統(tǒng)的結(jié)構(gòu)組成示意圖。圖4為本發(fā)明的輸入輸出虛擬機(jī)(IOVM)的架構(gòu)示意圖。圖5為本發(fā)明的客戶機(jī)I/O請(qǐng)求獲得輸入輸出虛擬機(jī)(IOVM)處理的流程圖。圖6為本發(fā)明的域間內(nèi)存共享機(jī)制的內(nèi)存地址空間映射的示意圖。圖7為本發(fā)明的虛擬機(jī)監(jiān)控器(VMM)分配輸入輸出虛擬機(jī)(IOVM)的流程。
具體實(shí)施例方式如圖2所示,一種在虛擬機(jī)監(jiān)控器(VMM)之外進(jìn)行輸入輸出(I/O)虛擬化的虛擬 機(jī)系統(tǒng),基于硬件輔助型的虛擬化技術(shù)的處理器平臺(tái)客戶虛擬機(jī)A產(chǎn)生了一個(gè)I/O請(qǐng)求,由VMM捕獲,VMM根據(jù)這個(gè)I/O請(qǐng)求的類型和 相關(guān)信息,分配IOVM 1來處理這個(gè)I/O請(qǐng)求??蛻籼摂M機(jī)A產(chǎn)生的另一個(gè)I/O請(qǐng)求,由VMM捕獲,VMM根據(jù)這個(gè)I/O請(qǐng)求的類型 和相關(guān)信息,分配IOVM 2來處理這個(gè)I/O請(qǐng)求??蛻籼摂M機(jī)B產(chǎn)生的I/O請(qǐng)求,由VMM捕獲,VMM根據(jù)這個(gè)I/O請(qǐng)求的類型和相關(guān) 信息,分配IOVM 2來處理這個(gè)I/O請(qǐng)求。來自一個(gè)客戶虛擬機(jī)的多個(gè)的I/O請(qǐng)求可以由1個(gè)或者1個(gè)以上的IOVM來處理。 來自客戶機(jī)A的I/O請(qǐng)求和來自客戶機(jī)B的I/O請(qǐng)求可以由同一個(gè)IOVM來處理。由VMM 決定客戶機(jī)的I/O請(qǐng)求由哪一個(gè)IOVM來處理。該虛擬機(jī)系統(tǒng),需要硬件輔助型的虛擬化技術(shù)的處理器,例如英特爾公司的支持VT技術(shù)的處理器。如圖3所示,在需要通過網(wǎng)絡(luò)向其他計(jì)算機(jī)申請(qǐng)輸入輸出虛擬機(jī)(IOVM)服務(wù)的情 形下,客戶虛擬機(jī)B的I/O請(qǐng)求被VMM 1捕獲,由VMM 1通過網(wǎng)絡(luò)向運(yùn)行在其他計(jì)算機(jī)上的 VMM 2申請(qǐng)輸入輸出虛擬機(jī)(IOVM)服務(wù),若申請(qǐng)成功,則VMM 1通過網(wǎng)絡(luò)將相應(yīng)的I/O請(qǐng)求 轉(zhuǎn)給VMM 2,VMM 2再?zèng)Q定分配IOVM 2來處理相應(yīng)的I/O請(qǐng)求,IOVM 2處理完成后將結(jié)果 返回給VMM 2, VMM 2再通過網(wǎng)絡(luò)將執(zhí)行的結(jié)果返回到VMM 1,VMM 1再將結(jié)果返回給客戶虛 擬機(jī)B。如圖4所示,IOVM的架構(gòu)包括多個(gè)模塊內(nèi)核、域間通信、域間內(nèi)存共享、標(biāo)準(zhǔn)C 庫、TCP/IP協(xié)議棧、后端驅(qū)動(dòng)和設(shè)備模型。IOVM內(nèi)核細(xì)分為多個(gè)子模塊,包括進(jìn)程管理和調(diào)度、進(jìn)程間通信、內(nèi)存管理、驅(qū) 動(dòng)程序、文件系統(tǒng)。這幾個(gè)子模塊完成操作系統(tǒng)的基本功能,包括進(jìn)程的創(chuàng)建、管理和調(diào) 度、終止;內(nèi)存的分配和回收;驅(qū)動(dòng)外部設(shè)備;文件系統(tǒng)提供創(chuàng)建、修改、刪除文件以及文件 的組織和目錄結(jié)構(gòu)的管理功能。域間通信和域間內(nèi)存共享,用于VMM和IOVM之間的數(shù)據(jù)傳遞和共享。標(biāo)準(zhǔn)C庫提供程序運(yùn)行所需的基本的C運(yùn)行庫。TCP/IP協(xié)議棧提供相應(yīng)的網(wǎng)絡(luò)通 信所需的功能??蛻魴C(jī)的I/O操作請(qǐng)求被VMM截獲之后,由VMM分發(fā)到相應(yīng)的I0VM,在IOVM中由 相應(yīng)的的后端驅(qū)動(dòng)接收這些請(qǐng)求,后端驅(qū)動(dòng)分析這些I/O請(qǐng)求,并決定是由設(shè)備模型進(jìn)行 處理還是由本地驅(qū)動(dòng)進(jìn)行處理。如圖6所示,將輸入輸出虛擬機(jī)(IOVM)的需要被共享的內(nèi)存地址空間映射到虛擬 機(jī)監(jiān)控器(VMM)的內(nèi)存地址空間,實(shí)現(xiàn)域間內(nèi)存共享。可以有多個(gè)域間內(nèi)存共享區(qū)域,可以 根據(jù)內(nèi)存資源來調(diào)節(jié)和限制總的域間內(nèi)存共享的大小的最大上限。本發(fā)明的工作流程為硬件自檢之后,虛擬機(jī)監(jiān)控器(VMM)先啟動(dòng),虛擬機(jī)監(jiān)控器(VMM)啟動(dòng)完成之后 再啟動(dòng)至少一個(gè)輸入輸出虛擬機(jī)(IOVM),然后再根據(jù)需求啟動(dòng)一個(gè)或者多個(gè)客戶虛擬機(jī)。 虛擬機(jī)監(jiān)控器(VMM)可以根據(jù)客戶虛擬機(jī)的需求動(dòng)態(tài)地增加或者減少輸入輸出虛擬機(jī) (IOVM)的數(shù)量,但至少有一個(gè)輸入輸出虛擬機(jī)(IOVM)在運(yùn)行。其中,客戶機(jī)I/O請(qǐng)求獲得輸入輸出虛擬機(jī)(IOVM)處理的流程如圖5所示。客戶 虛擬機(jī)產(chǎn)生I/O請(qǐng)求;VMM捕獲客戶虛擬機(jī)的I/O請(qǐng)求;VMM根據(jù)客戶虛擬機(jī)的I/O請(qǐng)求的 類型和相關(guān)信息,決定分配給哪一個(gè)IOVM去處理;VMM把客戶虛擬機(jī)的I/O請(qǐng)求轉(zhuǎn)發(fā)給指 定的IOVM ;IOVM處理客戶虛擬機(jī)的I/O請(qǐng)求,并將結(jié)果返回給VMM ;VMM驗(yàn)證IOVM返回的結(jié) 果,并將其轉(zhuǎn)發(fā)給相應(yīng)的客戶虛擬機(jī),若驗(yàn)證失敗做相應(yīng)的異常處理;客戶虛擬機(jī)獲得I/O 處理的結(jié)果。其中,虛擬機(jī)監(jiān)控器(VMM)根據(jù)客戶虛擬機(jī)的I/O請(qǐng)求來分配輸入輸出虛擬機(jī) (IOVM)的流程如圖7所示。VMM根據(jù)客戶機(jī)的I/O請(qǐng)求的類型和相關(guān)信息,決定分配給哪 一個(gè)IOVM去處理;是否能分配本機(jī)上的IOVM來處理?是,指定本機(jī)上的某個(gè)IOVM來處理; 否,根據(jù)遠(yuǎn)程I/O服務(wù)器列表,依次尋找可以提供相應(yīng)的IOVM服務(wù)的遠(yuǎn)程計(jì)算機(jī);是否找到 合適的I/O服務(wù)器?是,指定遠(yuǎn)程計(jì)算機(jī)上的某個(gè)IOVM來處理;否,返回VMM根據(jù)客戶機(jī)的 I/O請(qǐng)求的類型和相關(guān)信息,決定分配給哪一個(gè)IOVM去處理。
權(quán)利要求
一種在虛擬機(jī)監(jiān)控器外進(jìn)行輸入輸出設(shè)備虛擬化的虛擬機(jī)系統(tǒng),基于硬件輔助型的虛擬化技術(shù)的處理器平臺(tái),包括虛擬機(jī)監(jiān)控器,其特征在于所述的虛擬機(jī)監(jiān)控器之上運(yùn)行有若干個(gè)輸入輸出虛擬機(jī)和若干個(gè)客戶虛擬機(jī),由輸入輸出虛擬機(jī)來處理客戶機(jī)虛擬機(jī)的所有I/O操作和設(shè)備共享;若干個(gè)輸入輸出虛擬機(jī)和若干個(gè)客戶虛擬機(jī)由虛擬機(jī)監(jiān)控器來管理和調(diào)度,輸入輸出虛擬機(jī)和虛擬機(jī)監(jiān)控器之間設(shè)有通信機(jī)制和內(nèi)存共享機(jī)制。
2.根據(jù)權(quán)利要求1所述的虛擬機(jī)系統(tǒng),其特征在于所述的客戶虛擬機(jī)和提供服務(wù)的 輸入輸出虛擬機(jī)運(yùn)行在同一個(gè)計(jì)算機(jī)上,輸入輸出虛擬機(jī)為客戶虛擬機(jī)提供I/O服務(wù)。
3.根據(jù)權(quán)利要求1所述的虛擬機(jī)系統(tǒng),其特征在于所述的客戶虛擬機(jī)和提供服務(wù)的 輸入輸出虛擬機(jī)運(yùn)行在兩個(gè)不同的計(jì)算機(jī)上,輸入輸出虛擬機(jī)通過網(wǎng)絡(luò)為客戶虛擬機(jī)提供 I/O服務(wù)。
4.根據(jù)權(quán)利要求1所述的虛擬機(jī)系統(tǒng),其特征在于所述的輸入輸出虛擬機(jī)的架構(gòu)包 括內(nèi)核部分,標(biāo)準(zhǔn)C庫,TCP/IP協(xié)議棧,設(shè)備模型,后端驅(qū)動(dòng),域間通信機(jī)制,域間內(nèi)存共享 機(jī)制;所述的內(nèi)核部分,包括進(jìn)程管理調(diào)度、進(jìn)程間通信、內(nèi)存管理、文件系統(tǒng)、設(shè)備驅(qū)動(dòng); 所述的后端驅(qū)動(dòng)和設(shè)備模型用于接收和處理來自客戶機(jī)虛擬機(jī)的I/O請(qǐng)求,自客戶虛 擬機(jī)的I/O操作請(qǐng)求被虛擬機(jī)監(jiān)控器截獲之后,由虛擬機(jī)監(jiān)控器分發(fā)到相應(yīng)的輸入輸出虛 擬機(jī),在輸入輸出虛擬機(jī)中由相應(yīng)的的后端驅(qū)動(dòng)接收這些請(qǐng)求,后端驅(qū)動(dòng)分析請(qǐng)求,決定是 由設(shè)備模型進(jìn)行處理還是由本地驅(qū)動(dòng)進(jìn)行處理,并且完成相應(yīng)的I/O操作,然后再把處理 結(jié)果返回給虛擬機(jī)監(jiān)控器,虛擬機(jī)監(jiān)控器對(duì)結(jié)果進(jìn)行驗(yàn)證,若驗(yàn)證通過則虛擬機(jī)監(jiān)控器將 結(jié)果返回給客戶虛擬機(jī),若驗(yàn)證失敗則虛擬機(jī)監(jiān)控器做相應(yīng)的異常處理再返回到客戶虛擬 機(jī);所述的標(biāo)準(zhǔn)C庫提供基本的程序運(yùn)行庫;所述的TCP/IP協(xié)議棧提供了網(wǎng)絡(luò)功能所需的協(xié)議棧;所述的域間通信機(jī)制和域間內(nèi)存共享用于處理虛擬機(jī)監(jiān)控器和輸入輸出虛擬機(jī)之間 的通信和數(shù)據(jù)傳遞。
5.根據(jù)權(quán)利要求1所述的虛擬機(jī)系統(tǒng),其特征在于所述的域間通信機(jī)制,包括 將IA32體系結(jié)構(gòu)中的8個(gè)通用寄存器用于傳遞域間通信機(jī)制消息;限制域間通信機(jī)制的消息內(nèi)容不超過32個(gè)字節(jié);在虛擬機(jī)監(jiān)控器和輸入輸出虛擬機(jī)之間產(chǎn)生VM-Exit、VM-Entry的時(shí)候,完成地址空 間切換的時(shí)候,通用寄存器的內(nèi)容可以保留,使得數(shù)據(jù)可以通過通用寄存器在虛擬機(jī)監(jiān)控 器和輸入輸出虛擬機(jī)之間傳遞。
6.根據(jù)權(quán)利要求1所述的虛擬機(jī)系統(tǒng),其特征在于所述的域間內(nèi)存共享機(jī)制,包括 輸入輸出虛擬機(jī)將需要被共享的內(nèi)存地址空間映射到虛擬機(jī)監(jiān)控器的內(nèi)存地址空間,實(shí)現(xiàn)域間內(nèi)存共享;域間內(nèi)存共享只存在于虛擬機(jī)監(jiān)控器和輸入輸出虛擬機(jī)之間; 一個(gè)輸入輸出虛擬機(jī)和虛擬機(jī)監(jiān)控器之間可以有多個(gè)域間內(nèi)存共享塊,但域間內(nèi)存共 享塊的大小的總和不得大于系統(tǒng)中設(shè)定的域間內(nèi)存共享數(shù)量的最大上限;輸入輸出虛擬機(jī)只能能訪問自己的域間內(nèi)存共享塊中的內(nèi)存,不能訪問其他輸入輸出虛擬機(jī)的域間內(nèi)存共享塊中的內(nèi)存;虛擬機(jī)監(jiān)控器中管理和記錄系統(tǒng)中所有的域間內(nèi)存共享塊。
全文摘要
本發(fā)明提供一種在虛擬機(jī)監(jiān)控器外進(jìn)行輸入輸出虛擬化的虛擬機(jī)系統(tǒng),包括虛擬機(jī)監(jiān)控器,虛擬機(jī)監(jiān)控器設(shè)有若干個(gè)輸入輸出虛擬機(jī),由輸入輸出虛擬機(jī)來處理客戶機(jī)的所有I/O操作和設(shè)備共享;若干個(gè)輸入輸出虛擬機(jī)由虛擬機(jī)監(jiān)控器來管理和調(diào)度;輸入輸出虛擬機(jī)和虛擬機(jī)監(jiān)控器之間設(shè)有域間通信機(jī)制和內(nèi)存共享機(jī)制。本發(fā)明基于硬件輔助型的虛擬化技術(shù)的處理器平臺(tái),把輸入輸出的處理和共享這部分的功能從虛擬機(jī)監(jiān)控器中提取出來,在運(yùn)行于虛擬機(jī)監(jiān)控器之上的特權(quán)客戶虛擬機(jī)中進(jìn)行輸入輸出的處理、共享、調(diào)度,完成I/O虛擬化的功能,這樣可以獲得更好的隔離性和安全性,同時(shí)能降低虛擬機(jī)監(jiān)控器的負(fù)擔(dān)。
文檔編號(hào)H04L29/06GK101976200SQ20101050975
公開日2011年2月16日 申請(qǐng)日期2010年10月15日 優(yōu)先權(quán)日2010年10月15日
發(fā)明者吳卓文, 陳文智 申請(qǐng)人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
滦南县| 宁陕县| 秦皇岛市| 沙洋县| 洛宁县| 区。| 凌源市| 海南省| 卢龙县| 麻阳| 新河县| 历史| 香河县| 留坝县| 舟山市| 绥芬河市| 磐安县| 惠水县| 都匀市| 岫岩| 绍兴县| 呈贡县| 柳河县| 稻城县| 秦安县| 昌吉市| 肇东市| 清徐县| 城口县| 饶平县| 恩施市| 湖南省| 鄂托克前旗| 柏乡县| 甘孜| 延庆县| 嘉兴市| 江川县| 读书| 曲麻莱县| 桐乡市|