基于硬件支持的USB設(shè)備虛擬化框架研究
發(fā)布時(shí)間:2020-06-22 06:23
【摘要】:系統(tǒng)虛擬化在近年已成為學(xué)術(shù)界和產(chǎn)業(yè)界的熱點(diǎn)。它通過在操作系統(tǒng)和硬件之間增加虛擬機(jī)監(jiān)視器(VMM)一層,能在一臺(tái)物理機(jī)上管理并運(yùn)行多臺(tái)客戶機(jī)操作系統(tǒng)。每臺(tái)客戶機(jī)就像獨(dú)自占有所有硬件資源,正如32位系統(tǒng)上的普通進(jìn)程以為一直占有CPU和4G內(nèi)存空間。它能高效管理各個(gè)客戶機(jī)系統(tǒng),實(shí)現(xiàn)客戶機(jī)之間的有效隔離,既能增強(qiáng)資源利用率,又可以實(shí)現(xiàn)系統(tǒng)安全性。同時(shí),虛擬化技術(shù)能在非停機(jī)的情況下高效地進(jìn)行系統(tǒng)遷移,快照和克隆。這些特性使其能很好地應(yīng)用于服務(wù)器整合,實(shí)現(xiàn)動(dòng)態(tài)負(fù)載均衡,也方便進(jìn)行災(zāi)難備份與恢復(fù),以此提高系統(tǒng)的效率,可用性和安全性。 I/O虛擬化是系統(tǒng)虛擬化的重要部分。I/O設(shè)備種類繁多,廠商、型號(hào)、版本不一,驅(qū)動(dòng)紛繁復(fù)雜,是整個(gè)虛擬系統(tǒng)普及應(yīng)用的一大瓶頸。而增加VMM層后,設(shè)備和進(jìn)程間的信號(hào)傳遞和數(shù)據(jù)傳輸變得更長更復(fù)雜,也極大的影響了系統(tǒng)性能。學(xué)術(shù)界中,Xen主要采用PV的方法,非特權(quán)級(jí)虛擬機(jī)中的驅(qū)動(dòng)為前端,它請(qǐng)求I/O操作而不直接處理,以保證硬件的安全;特權(quán)級(jí)虛擬機(jī)中的驅(qū)動(dòng)為后端,和I/O設(shè)備交互完成硬件操作并返回給前端。這種前后端模型可以解決虛擬機(jī)安全及I/O兼容性問題。但這需要修改操作系統(tǒng)本身,工作量浩大,且需要根據(jù)操作系統(tǒng)的升級(jí)而作相應(yīng)修改。而KVM作為另一個(gè)熱門的VMM,采用QEMU進(jìn)行模擬。為每個(gè)虛擬機(jī)模擬出硬件所有的I/O設(shè)備,客戶機(jī)訪問QEMU中的設(shè)備模型,而不是真實(shí)的I/O設(shè)備。而QEMU調(diào)用VMM提供的服務(wù),再把結(jié)果返回到設(shè)備模型。這樣,VM就可以訪問設(shè)備模型而獲得操作結(jié)果。這會(huì)導(dǎo)致頻繁的上下文切換和傳輸路徑顯著增長。它不需要對(duì)VM中的操作系統(tǒng)做修改,但性能很差。 硬件輔助技術(shù)能解決這些問題。借助Intel的VT-x技術(shù),CPU執(zhí)行模式除了用戶態(tài)和內(nèi)核態(tài),還引進(jìn)了根模式和非根模式。這樣,與I/O相關(guān)的敏感指令很容易被截獲,然后通過陷入再模擬的方法彌補(bǔ)X86構(gòu)架原本存在的虛擬化漏洞。其次,EPT技術(shù)則使客戶機(jī)的虛擬地址到宿主機(jī)的物理地址轉(zhuǎn)換變得簡單。而VT-d技術(shù)通過DMA重映射和I/O頁表等方法,使得虛擬機(jī)和設(shè)備之間可以直接訪問。使用這些硬件輔助技術(shù),設(shè)計(jì)良好的I/O虛擬化技術(shù)能很方便地把I/O設(shè)備分配給虛擬機(jī),無需修改操作系統(tǒng)并提供良好的訪問效率,從而很好地解決上述問題。 本課題通過在Intel支持VT及VT-d硬件虛擬化的平臺(tái)和KVM虛擬機(jī)上實(shí)現(xiàn)一種高性能的USB虛擬化方案,來研究最新的I/O虛擬化技術(shù)。該方案應(yīng)用硬件輔助技術(shù),將USB設(shè)備從VMM的中斷向量中注銷,并直接分配給虛擬機(jī)。這樣,虛擬機(jī)可直接訪問USB設(shè)備,獲得很好的性能。它使得USB設(shè)備的虛擬化更為高效,它比QEMU的性能好,也不需要像PV的方法那樣修改客戶機(jī)操作系統(tǒng)。有助于虛擬化的商業(yè)應(yīng)用與推廣,同時(shí)對(duì)基于硬件支持的I/O虛擬化技術(shù)和虛擬機(jī)設(shè)計(jì)與應(yīng)用提供借鑒和參考。 本文的主要?jiǎng)?chuàng)新點(diǎn)和意義有:1)研究了主流開源虛擬機(jī)監(jiān)視器的構(gòu)架和Intel VT及VT-d等硬件輔助虛擬化技術(shù);2)研究了USB設(shè)備的驅(qū)動(dòng)框架和虛擬化框架;3)把硬件輔助虛擬化技術(shù)應(yīng)用到USB設(shè)備上,實(shí)現(xiàn)了USB設(shè)備的高效虛擬化;4)研究了USB3.0的一些特性。
【學(xué)位授予單位】:上海交通大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2011
【分類號(hào)】:TP334.7
【圖文】:
商Intel公司VT技術(shù)和AMD公司SVM技術(shù),也極大推動(dòng)了系統(tǒng)虛擬化的發(fā)展。總體上講,虛擬化技術(shù)可分為進(jìn)程級(jí)虛擬化和系統(tǒng)級(jí)虛擬化[10],其模型如圖1-1所示。本文主要研究基于KVM虛擬機(jī)監(jiān)視器的系統(tǒng)級(jí)虛擬化,并專注于圖 1-1 典 的進(jìn)程級(jí)虛擬化框架和系統(tǒng)級(jí)虛擬化框架Fig.1-1 Typical process-level virtualization and system-level virtualizaiton
個(gè)主要方面:CPU 虛擬化,內(nèi)存虛擬化和 I/O 虛擬化。然后三種重要模型:Hypervisor 模型,宿主模型和混合模型。最后主流系統(tǒng)虛擬機(jī)的構(gòu)架,如 KVM、Xen 等。術(shù)綜述技術(shù)實(shí)際上就是對(duì)下層的資源進(jìn)行抽象,從而為上層按照需。而現(xiàn)代計(jì)算機(jī)系統(tǒng)自下而上可分為多個(gè)層次。圖 2-1 顯示了中的各個(gè)層次,分別為:硬件抽象層,操作系統(tǒng)層,庫函數(shù)每層向上層提供一個(gè)抽象接口供其使用,上層只需知道層間下層的實(shí)現(xiàn)。傳統(tǒng)計(jì)算機(jī)系統(tǒng)中,這種接口是一一對(duì)應(yīng)的。發(fā)生變化導(dǎo)致接口發(fā)生變化,或者需要對(duì)下層多種資源進(jìn)行多種應(yīng)用需要不同的接口,或者上層需要的邏輯資源數(shù)和下等或動(dòng)態(tài)變化,等等,導(dǎo)致接口存在差異或者上下層間的接,往往需要添加虛擬化層進(jìn)行資源映射、調(diào)度、隔離,以提提高系統(tǒng)安全性。
本文編號(hào):2725321
【學(xué)位授予單位】:上海交通大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2011
【分類號(hào)】:TP334.7
【圖文】:
商Intel公司VT技術(shù)和AMD公司SVM技術(shù),也極大推動(dòng)了系統(tǒng)虛擬化的發(fā)展。總體上講,虛擬化技術(shù)可分為進(jìn)程級(jí)虛擬化和系統(tǒng)級(jí)虛擬化[10],其模型如圖1-1所示。本文主要研究基于KVM虛擬機(jī)監(jiān)視器的系統(tǒng)級(jí)虛擬化,并專注于圖 1-1 典 的進(jìn)程級(jí)虛擬化框架和系統(tǒng)級(jí)虛擬化框架Fig.1-1 Typical process-level virtualization and system-level virtualizaiton
個(gè)主要方面:CPU 虛擬化,內(nèi)存虛擬化和 I/O 虛擬化。然后三種重要模型:Hypervisor 模型,宿主模型和混合模型。最后主流系統(tǒng)虛擬機(jī)的構(gòu)架,如 KVM、Xen 等。術(shù)綜述技術(shù)實(shí)際上就是對(duì)下層的資源進(jìn)行抽象,從而為上層按照需。而現(xiàn)代計(jì)算機(jī)系統(tǒng)自下而上可分為多個(gè)層次。圖 2-1 顯示了中的各個(gè)層次,分別為:硬件抽象層,操作系統(tǒng)層,庫函數(shù)每層向上層提供一個(gè)抽象接口供其使用,上層只需知道層間下層的實(shí)現(xiàn)。傳統(tǒng)計(jì)算機(jī)系統(tǒng)中,這種接口是一一對(duì)應(yīng)的。發(fā)生變化導(dǎo)致接口發(fā)生變化,或者需要對(duì)下層多種資源進(jìn)行多種應(yīng)用需要不同的接口,或者上層需要的邏輯資源數(shù)和下等或動(dòng)態(tài)變化,等等,導(dǎo)致接口存在差異或者上下層間的接,往往需要添加虛擬化層進(jìn)行資源映射、調(diào)度、隔離,以提提高系統(tǒng)安全性。
【引證文獻(xiàn)】
相關(guān)碩士學(xué)位論文 前1條
1 朱圣才;KVM虛擬機(jī)串口轉(zhuǎn)發(fā)器的研究與實(shí)現(xiàn)[D];成都理工大學(xué);2012年
本文編號(hào):2725321
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2725321.html
最近更新
教材專著