非根進(jìn)程:一種基于硬件輔助虛擬化的進(jìn)程抽象層
本文關(guān)鍵詞:非根進(jìn)程:一種基于硬件輔助虛擬化的進(jìn)程抽象層,由筆耕文化傳播整理發(fā)布。
【摘要】:隨著云計(jì)算技術(shù)的快速發(fā)展,服務(wù)器端應(yīng)用在性能需求上的挑戰(zhàn)越來(lái)越大。而傳統(tǒng)操作系統(tǒng)架構(gòu)中太過(guò)通用的硬件抽象,也使得這種挑戰(zhàn)變得更加艱巨。于此同時(shí),服務(wù)器環(huán)境中虛擬化場(chǎng)景的大量部署,使得客戶機(jī)操作系統(tǒng)和和底層的硬件抽象層產(chǎn)生了大量功能上的冗余。這種冗余的存在,使得服務(wù)器應(yīng)用在性能上的損耗進(jìn)一步加劇。為了解決這些問(wèn)題,近年來(lái)學(xué)術(shù)界一直在從輕量化操作系統(tǒng)層的設(shè)計(jì)這一方向上進(jìn)行努力。在諸多的工作中,"Exokernel和LibOS"成為了這一設(shè)計(jì)思潮的主流方案。Exokernel要求操作系統(tǒng)做細(xì)粒度的管理,將更多硬件特性暴露給進(jìn)程。本文在對(duì)Intel的VT-x硬件輔助虛擬化技術(shù)所提供的抽象和隔離進(jìn)行研究后,借助Exokernel的指導(dǎo)思想,提出了利用VT-x的隔離特性實(shí)現(xiàn)一個(gè)操作系統(tǒng)的思想。為了驗(yàn)證這一思想,本文在Linux內(nèi)核的基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)新的進(jìn)程抽象層。在該抽象層下,普通的應(yīng)用程序在執(zhí)行時(shí)可以接觸到傳統(tǒng)進(jìn)程所無(wú)法接觸的硬件特性。這種在新的抽象層上運(yùn)行的進(jìn)程,在文中被稱為“非根進(jìn)程”。非根進(jìn)程可以直接使用Intel的特權(quán)級(jí)段式和頁(yè)式的內(nèi)存管理特性;對(duì)非根進(jìn)程的錯(cuò)誤投遞,也可以直接通過(guò)硬件的中斷處理程序?qū)崿F(xiàn)。另外,因?yàn)楸疚膬?nèi)容采用了引導(dǎo)和程序內(nèi)容相解耦的設(shè)計(jì)思路,傳統(tǒng)的可執(zhí)行文件可以直接以非根進(jìn)程運(yùn)行。為了實(shí)現(xiàn)這一系統(tǒng),本文工作如下:1.對(duì)當(dāng)前主流OS架構(gòu)和虛擬化技術(shù)進(jìn)行了研究。2.深入分析了Intel的VT-x技術(shù)和其他用該技術(shù)實(shí)現(xiàn)的進(jìn)程抽象層的解決方案。3.設(shè)計(jì)并實(shí)現(xiàn)了一種方案,為可執(zhí)行程序提供了一種新的執(zhí)行環(huán)境,并對(duì)該方案進(jìn)行了評(píng)估測(cè)試。
【關(guān)鍵詞】:硬件輔助虛擬化 Exokernel LibOS 進(jìn)程抽象層
【學(xué)位授予單位】:浙江大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2015
【分類號(hào)】:TP393.05
【目錄】:
- 摘要5-6
- Abstract6-12
- 第1章 緒論12-16
- 1.1 課題的背景和研究目標(biāo)12-13
- 1.2 本文的工作內(nèi)容13-14
- 1.3 本文的主要?jiǎng)?chuàng)新點(diǎn)14-15
- 1.4 本文的內(nèi)容組織15-16
- 第2章 相關(guān)技術(shù)綜述16-33
- 2.1 經(jīng)典的操作系統(tǒng)架構(gòu)16-22
- 2.1.1 宏內(nèi)核16-18
- 2.1.2 微內(nèi)核18-20
- 2.1.3 Exokernel20-22
- 2.2 虛擬化22-26
- 2.2.1 系統(tǒng)虛擬化22-26
- 2.2.2 OS虛擬化26
- 2.3 Intel VT-x技術(shù)研究26-32
- 2.3.1 處理器虛擬化的支持27-30
- 2.3.2 VT-x的內(nèi)存虛擬化30-31
- 2.3.3 IO虛擬化技術(shù)VT-d31-32
- 2.4 本章小結(jié)32-33
- 第3章 系統(tǒng)總體設(shè)計(jì)思路分析33-45
- 3.1 對(duì)虛擬化和OS就抽象角度的分析33-36
- 3.2 利用虛擬化做OS架構(gòu)的思路分析36-43
- 3.2.1 定制LibOS36-38
- 3.2.2 更方便的暴露硬件特性38-40
- 3.2.3 IO功能解耦40-42
- 3.2.4 總結(jié)42-43
- 3.3 系統(tǒng)總體設(shè)計(jì)思路43-44
- 3.4 本章小結(jié)44-45
- 第4章 系統(tǒng)關(guān)鍵部分設(shè)計(jì)與實(shí)現(xiàn)45-67
- 4.1 系統(tǒng)總體架構(gòu)45-46
- 4.2 非根進(jìn)程的表示46-52
- 4.2.1 32位模式VMCS的初始化46-48
- 4.2.2 64位模式VMCS的初始化48-49
- 4.2.3 VMCS的切換和加載49-51
- 4.2.4 進(jìn)程結(jié)構(gòu)體51-52
- 4.3 進(jìn)程的虛地址空間結(jié)構(gòu)52-55
- 4.3.1 32位模式52-53
- 4.3.2 64位模式53-55
- 4.4 進(jìn)程的運(yùn)行55-60
- 4.4.1 內(nèi)核態(tài)的創(chuàng)建工作55-56
- 4.4.2 32位非根進(jìn)程的loader56-58
- 4.4.3 64位非根進(jìn)程的loader58-59
- 4.4.4 EPT頁(yè)表的初始化59-60
- 4.4.5 進(jìn)程的調(diào)度60
- 4.5 中斷和異常60-66
- 4.5.1 NMI中斷和外部中斷60-61
- 4.5.2 一般情況的異常處理61-62
- 4.5.3 缺頁(yè)異常62-64
- 4.5.4 系統(tǒng)調(diào)用64-66
- 4.6 本章小結(jié)66-67
- 第5章 系統(tǒng)的測(cè)試與分析67-76
- 5.1 測(cè)試環(huán)境的部署67-69
- 5.1.1 測(cè)試環(huán)境67-68
- 5.1.2 測(cè)試環(huán)境的部署安裝68-69
- 5.2 功能測(cè)試69-70
- 5.3 性能測(cè)試和分析70-74
- 5.3.1 異常處理70-71
- 5.3.2 系統(tǒng)調(diào)用71-72
- 5.3.3 啟動(dòng)時(shí)間72-74
- 5.3.4 內(nèi)存訪問(wèn)74
- 5.4 對(duì)測(cè)試的綜合分析74-75
- 5.5 本章小結(jié)75-76
- 第6章 總結(jié)與展望76-79
- 6.1 本文工作總結(jié)76-77
- 6.2 工作展望77-79
- 參考文獻(xiàn)79-82
- 攻讀碩士學(xué)位期間主要的研究成果82-83
- 致謝83
【相似文獻(xiàn)】
中國(guó)期刊全文數(shù)據(jù)庫(kù) 前8條
1 黃睿;;以Transaction為基礎(chǔ)的驗(yàn)證方法[J];電子設(shè)計(jì)技術(shù);2003年09期
2 陳倩;;抽象技術(shù)與面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)[J];計(jì)算機(jī)教育;2009年22期
3 王同合;岳春生;胡澤明;;基于抽象層的嵌入式GIS跨平臺(tái)體系結(jié)構(gòu)設(shè)計(jì)[J];淮海工學(xué)院學(xué)報(bào)(自然科學(xué)版);2009年S1期
4 王翔;;換個(gè)角度看世界——.NET Framework 3.0使用評(píng)析[J];程序員;2006年11期
5 尚海忠,朱培彥,王霞,徐家祥,陳涵生;操作系統(tǒng)抽象層—一種支持跨平臺(tái)的新技術(shù)[J];計(jì)算機(jī)工程;2002年02期
6 杜玄;單崇東;;邁向更高層的抽象——建立領(lǐng)域元模型[J];程序員;2005年03期
7 章廣志;;一種輕量GUI系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J];微計(jì)算機(jī)信息;2009年17期
8 ;[J];;年期
中國(guó)碩士學(xué)位論文全文數(shù)據(jù)庫(kù) 前5條
1 孫偉杰;非根進(jìn)程:一種基于硬件輔助虛擬化的進(jìn)程抽象層[D];浙江大學(xué);2015年
2 章政興;用于跨平臺(tái)多媒體播放器的平臺(tái)抽象層的設(shè)計(jì)和實(shí)現(xiàn)[D];上海交通大學(xué);2010年
3 滕躍嘯;基于Intel CE4100平臺(tái)的多媒體抽象層的研究與實(shí)現(xiàn)[D];華東理工大學(xué);2012年
4 酈文曦;線之抽象與轉(zhuǎn)譯[D];浙江大學(xué);2015年
5 趙丹;靜態(tài)系統(tǒng)基于結(jié)構(gòu)抽象的分層診斷方法[D];吉林大學(xué);2009年
本文關(guān)鍵詞:非根進(jìn)程:一種基于硬件輔助虛擬化的進(jìn)程抽象層,由筆耕文化傳播整理發(fā)布。
,本文編號(hào):322215
本文鏈接:http://www.sikaile.net/guanlilunwen/ydhl/322215.html