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

基于設(shè)備訪存管理技術(shù)的虛擬機(jī)系統(tǒng)及其設(shè)備訪問(wèn)方法

文檔序號(hào):6459777閱讀:186來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):基于設(shè)備訪存管理技術(shù)的虛擬機(jī)系統(tǒng)及其設(shè)備訪問(wèn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種虛擬機(jī)系統(tǒng),尤其涉及一種基于設(shè)備訪問(wèn)存儲(chǔ)器管理技術(shù)的虛擬機(jī)系統(tǒng) 及其設(shè)備訪問(wèn)控制方法。
背景技術(shù)
隨著計(jì)算機(jī)系統(tǒng)的發(fā)展,現(xiàn)代計(jì)算機(jī)系統(tǒng)的計(jì)算能力已經(jīng)無(wú)法得到充分發(fā)揮,虛擬化技 術(shù)得到廣泛應(yīng)用。虛擬化技術(shù)使一臺(tái)物理平臺(tái)上可以運(yùn)行多個(gè)虛擬機(jī),并在每一個(gè)虛擬機(jī)中 運(yùn)行一個(gè)單獨(dú)的操作系統(tǒng)。但是,虛擬化技術(shù)會(huì)帶來(lái)性能上的損失,特別是對(duì)硬件設(shè)備的訪 問(wèn)成為了整個(gè)系統(tǒng)的瓶頸。因此,如何提高虛擬機(jī)系統(tǒng)性能,尤其是虛擬機(jī)對(duì)設(shè)備訪問(wèn)的效 率是目前急需解決的問(wèn)題。當(dāng)前主流的設(shè)備訪問(wèn)控制方法有軟件模擬和采用新的設(shè)備訪問(wèn)控制接口。最廣泛使用的 軟件模擬方式,利用軟件模擬設(shè)備的行為,客戶操作系統(tǒng)的行為與在非虛擬化平臺(tái)上普通操 作系統(tǒng)一致。其最大的缺陷是會(huì)導(dǎo)致性能下降, 一方面是由模擬方式本身導(dǎo)致;另一方面主 要由大量切換開(kāi)銷(xiāo)所導(dǎo)致。采用新的設(shè)備訪問(wèn)控制接口是另一種主流的設(shè)備訪問(wèn)控制方式, 減少了一部分切換開(kāi)銷(xiāo),性能比軟件模擬方式有所提高,但其最大的缺點(diǎn)是需要修改客戶操 作系統(tǒng)及驅(qū)動(dòng)程序,不利于實(shí)現(xiàn)。設(shè)備訪問(wèn)控制關(guān)鍵在于解決設(shè)備與虛擬機(jī)數(shù)據(jù)交換的問(wèn)題。設(shè)備直接內(nèi)存存取和以及中 斷請(qǐng)求是與之相關(guān)的最重要的兩個(gè)部分。為此,必須首要解決這兩個(gè)、方面的隔離、保護(hù)以 及性能問(wèn)題。IntelVt-d技術(shù)是一種輸入輸出的存儲(chǔ)器管理技術(shù),通過(guò)在內(nèi)存控制器中樞的中內(nèi)置設(shè)備 直接內(nèi)存訪問(wèn)控制和中斷請(qǐng)求虛擬化控制硬件,用于在本發(fā)明中實(shí)現(xiàn)新型的設(shè)備訪問(wèn)控制方 式,在虛擬環(huán)境中大大地提升輸入輸出的可靠性、靈活性與性能。與傳統(tǒng)的輸入輸出存儲(chǔ)器管理單元相比,Vt-d除擁有其地址轉(zhuǎn)換功能外,還擁有其不具 備的設(shè)備直接內(nèi)存訪問(wèn)隔離功能。Vt-d提供了一項(xiàng)設(shè)備直接內(nèi)存訪問(wèn)重映射(DMA Remapping)技術(shù)實(shí)現(xiàn)了多個(gè)設(shè)備直接內(nèi)存訪問(wèn)保護(hù)區(qū)域的存在,從而保障了設(shè)備訪問(wèn)存儲(chǔ)器 的安全性,最終實(shí)現(xiàn)了多個(gè)設(shè)備直接內(nèi)存訪問(wèn)虛擬化。Vt-d實(shí)現(xiàn)的中斷重映射(interrupt-remappmg)架構(gòu)通過(guò)重新定義消息中斷的格式來(lái)解決 中斷隔離。輸入輸出設(shè)備會(huì)產(chǎn)生非常多的中斷請(qǐng)求,必須被正確地轉(zhuǎn)發(fā)到不同的虛擬機(jī)上。 傳統(tǒng)設(shè)備的中斷請(qǐng)求可以具有兩種方式 一種是通過(guò)中斷控制器的中斷請(qǐng)求,另一種是通過(guò)設(shè)備直接存儲(chǔ)器訪問(wèn)寫(xiě)請(qǐng)求直接發(fā)送出去的消息中斷。由于需要在DMA請(qǐng)求內(nèi)嵌入目標(biāo)內(nèi) 存地址,因此需完全訪問(wèn)所有的內(nèi)存地址,不能實(shí)現(xiàn)中斷隔離。經(jīng)過(guò)Vt-d的中斷重映射技術(shù) 修改的消息中斷格式,仍然是一個(gè)直接寫(xiě)存儲(chǔ)器請(qǐng)求的形式,但不嵌入目標(biāo)內(nèi)存地址,而是 一個(gè)消息編號(hào)。通過(guò)維護(hù)一個(gè)表結(jié)構(gòu),硬件可以通過(guò)消息編號(hào)區(qū)分虛擬機(jī)空間。發(fā)明內(nèi)容本發(fā)明基于設(shè)備訪存管理技術(shù),提供了一種虛擬機(jī)系統(tǒng),以提高虛擬機(jī)系統(tǒng)中設(shè)備訪問(wèn) 效率,進(jìn)而提高虛擬機(jī)系統(tǒng)的性能。為了描述方便,我們首先對(duì)所用術(shù)語(yǔ)作如下定義。虛擬機(jī)監(jiān)控器指在虛擬系統(tǒng)控制整個(gè)系統(tǒng)的所有物理資源及維護(hù)各虛擬機(jī); 虛擬機(jī)指是一個(gè)受保護(hù)的、獨(dú)立的、完整執(zhí)行環(huán)境; 客戶操作系統(tǒng)指在虛擬機(jī)內(nèi)運(yùn)行的獨(dú)立操作系統(tǒng)。機(jī)器物理地址指用于訪問(wèn)實(shí)際物理機(jī)器內(nèi)存器的地址空間,與非虛擬化系統(tǒng)中物理地 址概念相同;客戶物理地址虛擬機(jī)往往認(rèn)為其所擁有的內(nèi)存地址空間總是從0開(kāi)始的連續(xù)地址空間, 稱(chēng)為客戶物理地址,虛擬機(jī)的物理地址并不等于的機(jī)器物理地址;本發(fā)明提供的虛擬機(jī)系統(tǒng)包括一個(gè)虛擬機(jī)監(jiān)控器、支持設(shè)備輸入輸出存儲(chǔ)器管理技術(shù)的 底層硬件、設(shè)備控制模塊和若干個(gè)虛擬機(jī),其中虛擬機(jī)監(jiān)控器中包括調(diào)度不同虛擬機(jī)在處理 器上運(yùn)行的調(diào)度模塊、完成虛擬系統(tǒng)內(nèi)存管理的內(nèi)存虛擬化模塊、中斷虛擬化模塊、指令解 析器、用于向特權(quán)實(shí)體提供服務(wù)的特權(quán)調(diào)用接口和設(shè)備輸入輸出存儲(chǔ)器管理單元的控制模塊。在本發(fā)明的虛擬機(jī)系統(tǒng)中, 一個(gè)物理設(shè)備有一個(gè)設(shè)備控制模塊與之對(duì)應(yīng)。設(shè)備控制模塊 是一個(gè)特權(quán)模塊,可以向虛擬機(jī)監(jiān)控器發(fā)起特權(quán)調(diào)用、接受并執(zhí)行由虛擬機(jī)監(jiān)控器轉(zhuǎn)發(fā)而來(lái) 的設(shè)備端口訪問(wèn)指令、探測(cè)設(shè)備狀態(tài)和隱藏并且虛擬化設(shè)備資源等。在本發(fā)明的虛擬機(jī)系統(tǒng)中,所有物理輸入輸出設(shè)備均可直接分配給一個(gè)虛擬機(jī)。該虛擬 機(jī)采用本發(fā)明提供的設(shè)備訪問(wèn)方式包括].當(dāng)客戶操作系統(tǒng)進(jìn)行端口映射輸入輸出訪問(wèn)時(shí),采用轉(zhuǎn)發(fā)傳遞的機(jī)制。虛擬機(jī)監(jiān)控器 為每一個(gè)虛擬機(jī)維護(hù)著一張輸入輸出端口轉(zhuǎn)換表,存儲(chǔ)了客戶輸入輸出端口到物理機(jī)器輸入 輸出端口的轉(zhuǎn)換關(guān)系及相應(yīng)訪問(wèn)權(quán)限等屬性。當(dāng)虛擬機(jī)監(jiān)控器捕獲一條端口映射輸入輸出指 令后,交由指令解析器進(jìn)行解析,通過(guò)查詢(xún)上述端口轉(zhuǎn)換表,得到該客戶操作系統(tǒng)意圖訪問(wèn) 的實(shí)際物理設(shè)備端口號(hào),然后生成一條新的指令并執(zhí)行該指令,最后將結(jié)果進(jìn)行相應(yīng)的處理 后返回至客戶操作系統(tǒng)。2. 當(dāng)客戶操作系統(tǒng)進(jìn)行內(nèi)存映射輸入輸出操作時(shí),將直接訪問(wèn)設(shè)備數(shù)據(jù)。虛擬機(jī)監(jiān)控器 中的內(nèi)存虛擬化模塊根據(jù)客戶物理地址到機(jī)器物理地址轉(zhuǎn)換表,得到客戶內(nèi)存映射輸入輸出 空間與機(jī)器物理內(nèi)存映射輸入輸出空間的映射關(guān)系,然后正確地設(shè)置客戶影子頁(yè)表(Shadow Page Table,該虛擬機(jī)運(yùn)行時(shí)實(shí)際使用的頁(yè)表)。客戶操作系統(tǒng)訪問(wèn)其內(nèi)存映射輸入輸出空間 時(shí),將直接訪問(wèn)設(shè)備數(shù)據(jù),減少了傳統(tǒng)軟件模擬方式所導(dǎo)致的大量切換開(kāi)銷(xiāo)。3. 當(dāng)設(shè)備進(jìn)行直接內(nèi)存訪問(wèn)時(shí),將由輸入輸出存儲(chǔ)器管理硬件單元實(shí)現(xiàn)其地址轉(zhuǎn)換并進(jìn) 行權(quán)限檢查。本發(fā)明提供的虛擬機(jī)系統(tǒng)運(yùn)行流程如下物理機(jī)器開(kāi)機(jī)上電時(shí),會(huì)按照通用平臺(tái)初始化流程進(jìn)行相應(yīng)的初始化工作,如CPU和外 部硬件的檢測(cè)及初始化。接下來(lái),系統(tǒng)會(huì)引導(dǎo)虛擬機(jī)監(jiān)控器,并把控制權(quán)交由虛擬機(jī)監(jiān)控器, 進(jìn)行虛擬系統(tǒng)初始化工作,如重新設(shè)置處理器、中斷控制器狀態(tài)和配置設(shè)備輸入輸出存儲(chǔ)器 管理單元,然后加載內(nèi)存虛擬化模塊和中斷虛擬化模塊,進(jìn)行相關(guān)控制結(jié)構(gòu)的創(chuàng)建并初始化。 隨后,虛擬機(jī)監(jiān)控器會(huì)為每一個(gè)外部硬件設(shè)備創(chuàng)建一個(gè)設(shè)備控制模塊,作為向上連接客戶操 作系統(tǒng),向下連接虛擬機(jī)監(jiān)控器的橋梁。最后,虛擬機(jī)監(jiān)控器會(huì)完成虛擬機(jī)控制工具的加載 及初始化。到此,虛擬機(jī)系統(tǒng)己經(jīng)引導(dǎo)建立成功,開(kāi)始允許虛擬機(jī)的創(chuàng)建。虛擬機(jī)創(chuàng)建時(shí), 虛擬機(jī)監(jiān)控器根據(jù)相應(yīng)的配置信息,為其創(chuàng)建相應(yīng)的管理控制結(jié)構(gòu),分配空間,設(shè)置其所擁 有設(shè)備在設(shè)備輸入輸出存儲(chǔ)器管理控制結(jié)構(gòu)中的信息,最后運(yùn)行該虛擬機(jī)。各虛擬機(jī)的創(chuàng)建 流程類(lèi)似。當(dāng)系統(tǒng)中擁有若干個(gè)虛擬機(jī)后,調(diào)度模塊將按照某種調(diào)度策略進(jìn)行工作。其調(diào)度 單位是整個(gè)虛擬機(jī),再按虛擬機(jī)所配置的虛擬處理器個(gè)數(shù)和物理處理器個(gè)數(shù)進(jìn)行第二階段調(diào) 度。下面對(duì)虛擬機(jī)整個(gè)運(yùn)行流程中幾個(gè)關(guān)鍵步驟進(jìn)行詳細(xì)描述。1. 設(shè)備輸入輸出存儲(chǔ)器管理單元的初始化設(shè)備輸入輸出存儲(chǔ)器管理單元向外提供了一套配置寄存器接口,其地址存儲(chǔ)于高級(jí)配置 和電源接口表中。隨后,根據(jù)其詳細(xì)規(guī)范要求,完成各種狀態(tài)配置,及相應(yīng)的地址轉(zhuǎn)換控制 結(jié)構(gòu)的初始化。最后,啟動(dòng)該硬件單元。2. 虛擬機(jī)創(chuàng)建流程當(dāng)發(fā)出虛擬機(jī)創(chuàng)建命令后,虛擬機(jī)監(jiān)控器會(huì)為其創(chuàng)建相應(yīng)控制結(jié)構(gòu),如虛擬域控制塊, 虛擬處理器控制塊,內(nèi)存虛擬化相關(guān)控制結(jié)構(gòu)和根據(jù)該虛擬機(jī)配置需求中創(chuàng)建設(shè)備控制模塊, 其中域控制塊與虛擬機(jī)一一對(duì)應(yīng),存儲(chǔ)有該虛擬機(jī)的基本信息,如標(biāo)識(shí)符、虛擬處理器數(shù)目、 平臺(tái)相關(guān)特性、內(nèi)存大小、設(shè)備配置信息、虛擬平臺(tái)基本映像文件和指向其他相關(guān)控制結(jié)構(gòu) 的指針等;內(nèi)存虛擬化控制結(jié)構(gòu)包括影子內(nèi)存頁(yè)表、客戶物理地址到機(jī)器物理地址轉(zhuǎn)換表和影子頁(yè)表頁(yè)鏈表等。在相關(guān)控制結(jié)構(gòu)創(chuàng)建并初始化之后,虛擬機(jī)監(jiān)控器將為該虛擬機(jī)分配不 少于其配置內(nèi)存大小的內(nèi)存空間,并將客戶物理地址和機(jī)器物理地址對(duì)應(yīng)關(guān)系填入客戶物理 地址到機(jī)器物理地址轉(zhuǎn)換表,并確定每一個(gè)頁(yè)的訪問(wèn)權(quán)限屬性域。上述空間分配結(jié)束之后, 將由設(shè)備控制模塊進(jìn)行設(shè)備的探測(cè)、配置及創(chuàng)建輸入輸出存儲(chǔ)器管理單位控制結(jié)構(gòu)中地址轉(zhuǎn) 換結(jié)構(gòu),即輸入輸出頁(yè)表。設(shè)備控制模塊會(huì)發(fā)起特權(quán)調(diào)用接口,由虛擬機(jī)監(jiān)控器協(xié)助完成上 述工作。最后,將運(yùn)行該虛擬機(jī)。 3.設(shè)備分配及設(shè)備控制模塊的工作過(guò)程設(shè)備控制模塊與傳統(tǒng)的設(shè)備驅(qū)動(dòng)不同,只是起到隱藏設(shè)備資源且連接虛擬機(jī)和硬件設(shè)備 的橋梁作用,它并不干涉大部分?jǐn)?shù)據(jù)實(shí)際的輸入輸出,只是在設(shè)備準(zhǔn)備階段及控制該設(shè)備的 虛擬化初始化階段進(jìn)行物理資源的探測(cè)及虛擬資源的配置。在虛擬機(jī)與硬件設(shè)備間的訪問(wèn)過(guò) 程中,設(shè)備控制模塊的工作分為兩部分設(shè)備資源隱藏和端口映射輸入輸出轉(zhuǎn)換。當(dāng)虛擬機(jī) 意欲探測(cè)設(shè)備資源,如端口號(hào)范圍和內(nèi)存映射空間,必須通過(guò)虛擬機(jī)監(jiān)控器將此類(lèi)操作傳遞 給對(duì)應(yīng)的設(shè)備控制模塊,由設(shè)備控制模塊將虛擬資源信息經(jīng)由虛擬機(jī)監(jiān)控器返回至虛擬機(jī)中 的客戶操作系統(tǒng)。當(dāng)虛擬機(jī)意欲訪問(wèn)設(shè)備某個(gè)端口時(shí),亦通過(guò)虛擬機(jī)監(jiān)控器將此類(lèi)操作傳遞 給對(duì)應(yīng)的設(shè)備控制模塊,再由設(shè)備控制模塊進(jìn)行端口號(hào)轉(zhuǎn)換后執(zhí)行,最后經(jīng)由虛擬機(jī)監(jiān)控器 將結(jié)果返回至客戶操作系統(tǒng)。本發(fā)明的實(shí)質(zhì)是采用設(shè)備輸入輸出存儲(chǔ)器管理技術(shù),并從硬件層面控制了設(shè)備對(duì)存儲(chǔ)器 的訪問(wèn)行為,本發(fā)明所提供的虛擬機(jī)架構(gòu)可使虛擬機(jī)訪問(wèn)設(shè)備時(shí)帶來(lái)的切換開(kāi)銷(xiāo)減少,與傳 統(tǒng)的虛擬機(jī)系統(tǒng)及其設(shè)備訪問(wèn)控制方法相比,本發(fā)明具有如下有益效果1. 設(shè)備性能大大提高,接近于非虛擬化環(huán)境。2. 系統(tǒng)性能瓶頸得到緩解,提高了其整體性能及可伸縮性。3. 提高了設(shè)備的安全性。4. 易于實(shí)現(xiàn)。5. 無(wú)需修改客戶操作系統(tǒng),應(yīng)用范圍廣。


圖1是本發(fā)明虛擬機(jī)系統(tǒng)架構(gòu)示意圖;圖2是本發(fā)明中虛擬機(jī)進(jìn)行端口映射輸入輸出訪問(wèn)設(shè)備流程圖;圖3是本發(fā)明虛擬機(jī)系統(tǒng)中設(shè)備數(shù)據(jù)傳送示意圖;圖5是實(shí)現(xiàn)設(shè)備地址轉(zhuǎn)換的重要控制結(jié)構(gòu);圖4是本發(fā)明中輸入輸出存儲(chǔ)器管理單元初始化流程圖。
具體實(shí)施方式
如圖1所示,本發(fā)明提供的虛擬機(jī)系統(tǒng)包括一個(gè)虛擬機(jī)監(jiān)控器、支持設(shè)備輸入輸出存儲(chǔ) 器管理技術(shù)的底層硬件、設(shè)備控制模塊和若干個(gè)虛擬機(jī),其中虛擬機(jī)監(jiān)控器中包括調(diào)度不同 虛擬機(jī)在處理器上運(yùn)行的調(diào)度模塊、完成虛擬系統(tǒng)內(nèi)存管理的內(nèi)存虛擬化模塊、中斷虛擬化 模塊、指令解析器、用于向特權(quán)實(shí)體提供服務(wù)的特權(quán)調(diào)用接口和設(shè)備控制模塊。當(dāng)客戶操作系統(tǒng)進(jìn)行端口映射輸入輸出訪問(wèn)時(shí),采用轉(zhuǎn)發(fā)傳遞的機(jī)制。虛擬機(jī)監(jiān)控器為 每一個(gè)虛擬機(jī)維護(hù)著一張輸入輸出端口轉(zhuǎn)換表,存儲(chǔ)了客戶輸入輸出端口到物理機(jī)器輸入輸 出端口的轉(zhuǎn)換關(guān)系及相應(yīng)訪問(wèn)權(quán)限等屬性。如圖2所示,1表示虛擬機(jī)中客戶操作系統(tǒng)意欲 訪問(wèn)某設(shè)備的某端口,即將執(zhí)行一條輸入輸出指令,被虛擬機(jī)監(jiān)控器捕獲,同時(shí)系統(tǒng)控制權(quán) 切換至虛擬機(jī)監(jiān)控器。隨后,虛擬機(jī)監(jiān)控器調(diào)用指令解析器,進(jìn)行若干條指令解析。指令解 析器進(jìn)行判斷,若指令是一條輸入輸出指令,則通過(guò)查詢(xún)上述端口轉(zhuǎn)換表,得到該虛擬機(jī)欲 訪問(wèn)的物理設(shè)備及實(shí)際端口號(hào),然后該條指令中對(duì)應(yīng)操作數(shù)被替換。2表示將替換后的指令 傳遞給該物理設(shè)備對(duì)應(yīng)的設(shè)備控制模塊。設(shè)備控制模塊將檢查該條指令關(guān)于所訪問(wèn)資源的權(quán)限若通過(guò)檢查,則直接執(zhí)行并得到相應(yīng)的執(zhí)行結(jié)果,如3和4;否則,則根據(jù)相應(yīng)的虛擬 處理。設(shè)備處理模塊將上一步得到的結(jié)果返回至指令解析模塊,如5所示,并最終將結(jié)果返 回至客戶操作系統(tǒng),如6所示。當(dāng)客戶操作系統(tǒng)進(jìn)行內(nèi)存映射輸入輸出操作時(shí),將直接訪問(wèn)設(shè)備數(shù)據(jù)。在直接分配模型 中,通過(guò)結(jié)合內(nèi)存管理模塊,使客戶操作系統(tǒng)可直接訪問(wèn)其所擁有設(shè)備的內(nèi)存映射輸入輸出 空間。虛擬機(jī)監(jiān)控器中的內(nèi)存管理模塊根據(jù)客戶地址到機(jī)器地址轉(zhuǎn)換表(虛擬機(jī)創(chuàng)建時(shí)建 立),得到客戶內(nèi)存映射輸入輸出空間與機(jī)器物理內(nèi)存映射輸入輸出空間的映射關(guān)系,然后正確地設(shè)置客戶影子頁(yè)表(該虛擬機(jī)運(yùn)行時(shí)實(shí)際使用的頁(yè)表)。如圖3所示,客戶操作系統(tǒng)訪問(wèn) 其內(nèi)存映射輸入輸出空間時(shí),將直接訪問(wèn)該設(shè)備,減少了傳統(tǒng)設(shè)備訪問(wèn)方式所導(dǎo)致的大量切 換開(kāi)銷(xiāo)。這是本發(fā)明提供的設(shè)備訪問(wèn)控制方式能夠大大改善系統(tǒng)性能的重要原因之一。圖3 還展示了當(dāng)設(shè)備進(jìn)行直接內(nèi)存訪問(wèn)時(shí),將由輸入輸出存儲(chǔ)器管理硬件單元實(shí)現(xiàn)其地址轉(zhuǎn)換, 實(shí)現(xiàn)設(shè)備與擁有該設(shè)備的虛擬機(jī)空間中相應(yīng)的輸入輸出緩沖區(qū)之間進(jìn)行數(shù)據(jù)直接交換。Intel Vt-d技術(shù)所提供設(shè)備直接內(nèi)存訪問(wèn)重映射,包括設(shè)備地址轉(zhuǎn)換及隔離兩項(xiàng)功能,保 障了設(shè)備直接內(nèi)存訪問(wèn)操作的安全性。圖4展示了實(shí)現(xiàn)設(shè)備地址轉(zhuǎn)換的重要控制結(jié)構(gòu),包括 一張全局性的root-entry表、每一個(gè)設(shè)備功能以對(duì)應(yīng)的context-entry表和輸入輸出頁(yè)表。每一 臺(tái)物理機(jī)器上,root-entry地址寄存器指向全局性的root-entry表,用PCI總線編號(hào)對(duì)該表進(jìn) 行索弓l。 Root-entry表共256項(xiàng),每一項(xiàng)由兩個(gè)域組成存在標(biāo)志和指向context-entry表的指7針。Context-entry表包含了該P(yáng)CI總線上的所有設(shè)備各功能(Function)的分配信息,通過(guò)三元 組〈PCI總線設(shè)備功能>即可定位任意context-entry表項(xiàng)。Context-entry表項(xiàng)中主要包括 ASR域、存在位、傳輸類(lèi)型及域標(biāo)識(shí)符等,其中域標(biāo)識(shí)符用于標(biāo)識(shí)擁有該功能的虛擬機(jī)。輸 入輸出頁(yè)表是完成地址翻譯最重要的數(shù)據(jù)結(jié)構(gòu),其頂層頁(yè)表基址存儲(chǔ)于上述ASR域。在虛擬 機(jī)創(chuàng)建時(shí),虛擬機(jī)監(jiān)控器將更新被分配的設(shè)備功能對(duì)應(yīng)的context-entry表及輸入輸出頁(yè)表, 從而實(shí)現(xiàn)設(shè)備物理地址到機(jī)器物理地址的可控轉(zhuǎn)換。圖5是設(shè)備輸入輸出存儲(chǔ)器管理單元初始化流程圖。設(shè)備輸入輸出存儲(chǔ)器管理單元配置 寄存器地址存儲(chǔ)于高級(jí)配置和電源接口表中。虛擬機(jī)監(jiān)控器首先讀出上述寄存器地址,隨后, 初始化全局root-entry表,在物理機(jī)器上實(shí)際具有的每一條PCI總線所對(duì)應(yīng)的表項(xiàng)中進(jìn)行如下 設(shè)備存在標(biāo)志置位,設(shè)置指向該總線上context-entry表的指針。每一張context-entry表與 一條PCI總線對(duì)應(yīng),完成每一個(gè)功能對(duì)應(yīng)表項(xiàng)的屬性設(shè)置。最后設(shè)置好屬于該虛擬機(jī)輸出輸 入頁(yè)表,并將所有屬于該虛擬機(jī)的設(shè)備功能對(duì)應(yīng)的context-entry表項(xiàng)中ASR域置為該輸出輸 入頁(yè)表基地址。本發(fā)明并不僅限上述實(shí)施例,下列修改的實(shí)施例是可能存在的虛擬機(jī)系統(tǒng)中,虛擬機(jī) 的數(shù)目不涉及上限,可根據(jù)實(shí)施例中硬件配置及設(shè)計(jì)要求確定虛擬機(jī)的數(shù)目上限;對(duì)應(yīng)每一 個(gè)硬件設(shè)備的設(shè)備控制模塊可以不屬于虛擬機(jī)監(jiān)控器。任何熟悉本領(lǐng)域的技術(shù)人員基于本發(fā) 明內(nèi)容所想到的簡(jiǎn)單變化或替換,均應(yīng)被本發(fā)明的保護(hù)范圍所涵蓋。因此,本發(fā)明的保護(hù)范 圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1、一種基于設(shè)備訪問(wèn)存儲(chǔ)器管理技術(shù)的虛擬機(jī)系統(tǒng),包括一個(gè)虛擬機(jī)監(jiān)控器、支持設(shè)備輸入輸出存儲(chǔ)器管理技術(shù)的底層硬件、設(shè)備控制模塊和若干個(gè)虛擬機(jī)。
2、 如權(quán)利1所述的虛擬機(jī)系統(tǒng),其中虛擬機(jī)監(jiān)控器中包括調(diào)度不同虛擬機(jī)在處理器上運(yùn)行 的調(diào)度模塊、完成虛擬系統(tǒng)內(nèi)存管理的內(nèi)存虛擬化模塊、中斷虛擬化模塊、指令解析器、用 于向特權(quán)實(shí)體提供服務(wù)的特權(quán)調(diào)用接口和設(shè)備輸入輸出存儲(chǔ)器管理單元的控制模塊。
3、 如權(quán)利l所述虛擬機(jī)系統(tǒng),其設(shè)備訪問(wèn)方法包括 當(dāng)客戶操作系統(tǒng)進(jìn)行內(nèi)存映射輸入輸出操作時(shí),虛擬機(jī)監(jiān)控器中的內(nèi)存虛擬化模塊根據(jù)客戶物理地址到機(jī)器物理地址轉(zhuǎn)換表,正確地設(shè)置客戶影子頁(yè)表,使該物理設(shè)備的內(nèi)存映射 輸入輸出空間直接正確地映射到該虛擬機(jī)的內(nèi)存映射輸入輸出空間,則客戶操作系統(tǒng)訪問(wèn)其 內(nèi)存映射輸入輸出空間時(shí),將直接訪問(wèn)設(shè)備數(shù)據(jù)。當(dāng)客戶操作系統(tǒng)進(jìn)行端口映射輸入輸出訪問(wèn)時(shí),當(dāng)虛擬機(jī)監(jiān)控器捕獲一條端口映射輸入 輸出指令后,交由指令解析器進(jìn)行解析,通過(guò)查詢(xún)虛擬端口與物理端口轉(zhuǎn)換表,得到該客戶 操作系統(tǒng)意圖訪問(wèn)的實(shí)際物理設(shè)備端口號(hào),然后生成一條新的指令并執(zhí)行該指令,最后將結(jié) 果進(jìn)行相應(yīng)的處理后返回至客戶操作系統(tǒng)。當(dāng)設(shè)備進(jìn)行直接內(nèi)存訪問(wèn)時(shí),由輸入輸出存儲(chǔ)器管理硬件單元實(shí)現(xiàn)其地址轉(zhuǎn)換并進(jìn)行權(quán) 限檢查。
4、 如權(quán)利1和權(quán)利2所述虛擬機(jī)系統(tǒng)中,每一個(gè)硬件設(shè)備僅與一個(gè)軟件控制模塊對(duì)應(yīng)。
5、 如權(quán)利1和權(quán)利2所述的虛擬機(jī)系統(tǒng)中,如權(quán)利4所述的設(shè)備控制模塊的功能包括向 虛擬機(jī)監(jiān)控器發(fā)起特權(quán)調(diào)用、接受并執(zhí)行由虛擬機(jī)監(jiān)控器轉(zhuǎn)發(fā)而來(lái)的設(shè)備端口訪問(wèn)指令、探 測(cè)設(shè)備狀態(tài)和虛擬化設(shè)備資源。
全文摘要
本發(fā)明提供了一種基于設(shè)備訪問(wèn)存儲(chǔ)器管理技術(shù)的虛擬機(jī)系統(tǒng)及其設(shè)備訪問(wèn)控制方法,所述虛擬機(jī)系統(tǒng)包括一個(gè)虛擬機(jī)監(jiān)控器、支持設(shè)備輸入輸出存儲(chǔ)器管理技術(shù)的底層硬件、設(shè)備控制模塊和若干個(gè)虛擬機(jī),其中虛擬機(jī)監(jiān)控器中包括調(diào)度不同虛擬機(jī)在處理器上運(yùn)行的調(diào)度模塊、完成虛擬系統(tǒng)內(nèi)存管理的內(nèi)存虛擬化模塊、中斷虛擬化模塊、指令解析器、用于向特權(quán)實(shí)體提供服務(wù)的特權(quán)調(diào)用接口和設(shè)備輸入輸出存儲(chǔ)器管理單元的控制模塊。在本發(fā)明的虛擬機(jī)系統(tǒng)中,一個(gè)設(shè)備控制模塊與一個(gè)物理設(shè)備對(duì)應(yīng),負(fù)責(zé)向虛擬機(jī)監(jiān)控器發(fā)起特權(quán)調(diào)用、接受并執(zhí)行由虛擬機(jī)監(jiān)控器轉(zhuǎn)發(fā)而來(lái)的設(shè)備端口訪問(wèn)指令、探測(cè)設(shè)備狀態(tài)和隱藏而虛擬化設(shè)備資源等。本發(fā)明提供的設(shè)備訪問(wèn)方法中,虛擬機(jī)內(nèi)的客戶操作系統(tǒng)可通過(guò)內(nèi)存映射方式直接訪問(wèn)設(shè)備數(shù)據(jù),設(shè)備利用設(shè)備訪問(wèn)存儲(chǔ)器管理技術(shù)進(jìn)行直接存儲(chǔ)器訪問(wèn)虛擬機(jī)數(shù)據(jù)。本發(fā)明提供的虛擬機(jī)系統(tǒng)及設(shè)備訪問(wèn)控制方法,使設(shè)備性能大大提高,緩解了系統(tǒng)性能瓶頸,并且提高了設(shè)備訪問(wèn)控制的安全性。本發(fā)明的設(shè)備訪問(wèn)控制方法無(wú)需修改客戶操作系統(tǒng),易于實(shí)現(xiàn),應(yīng)用范圍廣闊。
文檔編號(hào)G06F9/455GK101520738SQ20081004483
公開(kāi)日2009年9月2日 申請(qǐng)日期2008年2月27日 優(yōu)先權(quán)日2008年2月27日
發(fā)明者黃歆媚 申請(qǐng)人:黃歆媚
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
寻甸| 陕西省| 库伦旗| 建湖县| 永济市| 青海省| 泸定县| 鹤壁市| 额尔古纳市| 江西省| 杭锦旗| 汝城县| 黄平县| 灵川县| 河北省| 太谷县| 潮州市| 武鸣县| 天门市| 洱源县| 嘉祥县| 台中市| 昌宁县| 茌平县| 泗水县| 米易县| 木里| 泗阳县| 昌宁县| 鹤山市| 洛隆县| 榆林市| 临泉县| 濮阳市| 杨浦区| 东乡| 长治市| 班戈县| 安国市| 南阳市| 营山县|