出版時間:2009-5 出版社:華中科技大學(xué)出版社 作者:石磊,鄒德清,金海 頁數(shù):418 字數(shù):568000
Tag標簽:無
前言
當前,計算系統(tǒng)的資源規(guī)模不斷擴展,處理能力快速增強,資源種類日益豐富,應(yīng)用需求也靈活多樣。虛擬化技術(shù)能夠動態(tài)組織多種計算資源,實現(xiàn)透明化的可伸縮計算系統(tǒng)架構(gòu),從而可以靈活構(gòu)建滿足多種應(yīng)用需求的計算環(huán)境,提高計算資源的使用效率?! ∮嬎銠C世界里,“虛擬化”無處不在。從最早的內(nèi)存虛擬化到存儲虛擬化,以及近年來大行其道的資源虛擬化和網(wǎng)格計算。特別是多核/眾核技術(shù)和系統(tǒng)級虛擬化技術(shù)的出現(xiàn),使得具體的硬件體系結(jié)構(gòu)和軟件系統(tǒng)之間的緊密依賴關(guān)系得以有效隔離。在各種不同的虛擬化解決方案中,虛擬化軟件Xen無疑是佼佼者。Xen是劍橋大學(xué)教授Ian Pratt等開發(fā)的一個開源的虛擬機項目,其性能接近單機操作系統(tǒng)的性能。由于其具有優(yōu)越的性能和開源性,所以被業(yè)界廣泛看好,被認為是未來最有前途的虛擬化解決方案之一?! ”緯鴱腦en的體系結(jié)構(gòu)出發(fā),結(jié)合Xen 3.1.0源碼,對Xen的半虛擬化技術(shù)進行了深入細致的分析和研究。根據(jù)Xen的技術(shù)特點,著重介紹Xen提供的用以控制和管理虛擬機的內(nèi)核接口,以及相關(guān)的原理和操作應(yīng)用,并詳細討論了Xen的基本機制和策略,核心子系統(tǒng)及安全應(yīng)用模塊。對。Xen相關(guān)的核心技術(shù)和功能進行了較為細致和詳盡的分析和說明,旨在使讀者能夠在盡量短的時間內(nèi)對Xen的內(nèi)部工作原理和機制獲得較為全面的理解,為進一步研究Xen打下較為堅實的基礎(chǔ),希望能為國內(nèi)虛擬化技術(shù)的研發(fā)做些鋪路的工作。同時,作為第一本以“Xen源碼分析”為主旨的書,能夠為未來同類型的著作起到拋磚引玉的作用?! ”緯屯ǔ5脑创a分析的書有所不同,在清晰介紹原理的基礎(chǔ)上,輔以源碼分析。由于Xen本身是一個復(fù)雜系統(tǒng),因此,本書僅摘取其中的關(guān)鍵代碼進行分析,并給出注釋,力圖達到綱舉目張的效果。同時,單獨開辟了一章專門介紹全虛擬化技術(shù)的基本原理,并闡述了必要的數(shù)據(jù)結(jié)構(gòu)和接口函數(shù)。在章節(jié)安排上,本書先總體上介紹虛擬化技術(shù)和Xen體系架構(gòu),接著介紹Xen的基本機制和策略,以及三個關(guān)鍵子系統(tǒng),然后針對Xen的內(nèi)部安全模塊進行分析,最后針對Xen全虛擬化技術(shù)進行介紹。
內(nèi)容概要
目前,無論是學(xué)術(shù)界還是工業(yè)界,虛擬化技術(shù)的研究和應(yīng)用都是熱點。在不斷涌現(xiàn)出的虛擬化解決方案中,開源解決方案Xen以其獨特的虛擬化設(shè)計模式,以及接近單機操作系統(tǒng)的性能被學(xué)術(shù)界和工業(yè)界廣泛看好,被認為是未來最有前途的虛擬化解決方案之一。 本書以Xen 3.1.0源碼為基礎(chǔ),以通過源碼剖析原理的方式深入細致地分析了Xen的半虛擬化技術(shù);著重介紹了在x86平臺上Xen半虛擬化技術(shù)提供的用以控制和管理虛擬機的內(nèi)核接口,以及相關(guān)的原理和操作應(yīng)用,包括半虛擬化技術(shù)的基本機制和策略,Xen的子系統(tǒng)及與安全相關(guān)的應(yīng)用模塊。 (1) 基本機制和策略,即Xen半虛擬化技術(shù)的3大核心機制:與虛擬機啟動和管理相關(guān)的信息頁機制,與虛擬機特權(quán)級控制和通信相關(guān)的超級調(diào)用和事件通道機制,以及與虛擬機數(shù)據(jù)共享和傳輸相關(guān)的授權(quán)表機制。 (2) 虛擬化子系統(tǒng),即CPU虛擬化子系統(tǒng)、內(nèi)存虛擬化子系統(tǒng)及I/O設(shè)備虛擬化子系統(tǒng)。CPU虛擬化子系統(tǒng)主要包括虛擬CPU原理和結(jié)構(gòu)、新架構(gòu)下中斷和異常處理機制的變化、時間和計時器相關(guān)操作,以及虛擬CPU的調(diào)度原理等;內(nèi)存虛擬化子系統(tǒng)主要包括分頁分段機制、內(nèi)存分配和地址轉(zhuǎn)換等;I/O設(shè)備虛擬化子系統(tǒng)主要包括分離驅(qū)動模型(前后端設(shè)備模型)、虛擬塊設(shè)備和網(wǎng)絡(luò)設(shè)備的基本原理機及相關(guān)操作等。 (3)安全相關(guān)模塊,包括兩個模塊:訪問控制模塊(ACM)和虛擬化可信平臺模塊(vTPM)。詳細介紹各個模塊的基本原理及相應(yīng)的實現(xiàn)和使用方法。 (4)Xen前沿工作:對Xen全虛擬化技術(shù)的原理進行介紹,通過硬件虛擬化技術(shù)實現(xiàn)對Xen全虛擬化的支持,并以Intel VT技術(shù)為重點介紹硬件虛擬化的知識。
作者簡介
石磊碩士,2005年畢業(yè)于武漢大學(xué)國際軟件學(xué)院,獲得軟件工程學(xué)士學(xué)位以及市場營銷學(xué)士學(xué)位。2007年9月~2009年5月,在華中科技大學(xué)“服務(wù)計算技術(shù)與系統(tǒng)”教育部重點實驗室暨“集群與網(wǎng)格計算”湖北省重點實驗室從事研究工作,主攻虛擬化技術(shù)及虛擬化安全技術(shù),2009年8月赴美
書籍目錄
第1部分 Xen和虛擬化技術(shù) 第1章 概述 1.1 虛擬化技術(shù) 1.1.1 虛擬化技術(shù)的發(fā)展歷史 1.1.2 虛擬化技術(shù)的實現(xiàn)層次及分類 1.1.3 虛擬機與虛擬機監(jiān)視器 1.1.4 x86的虛擬化技術(shù) 1.2 Xen 虛擬機系統(tǒng) 1.2.1 x86架構(gòu)的虛擬化 1.2.2 Xen的設(shè)計理念 1.2.3 Xen的發(fā)展歷史 1.3 本章小結(jié) 第2章 Xen體系結(jié)構(gòu) 2.1 Xen Hypervisor 2.1.1 基本概念 2.1.2 虛擬域(Domain) 2.1.3 控制面板 2.2 CPU虛擬化 2.2.1 半虛擬化 2.2.2 硬件虛擬化 2.3 內(nèi)存虛擬化 2.4 I/O虛擬化 2.5 本章小結(jié) 第2部分 Xen基本機制和策略 第3章 Xen信息頁 3.1 啟動信息頁 3.1.1 啟動信息頁的數(shù)據(jù)結(jié)構(gòu) 3.1.2 結(jié)構(gòu)體start-info成員字段說明 3.2 共享信息頁 3.2.1 共享信息頁的數(shù)據(jù)結(jié)構(gòu) 3.2.2 結(jié)構(gòu)體shared_info成員字段說明 3.3 本章小結(jié) 第4章 超級調(diào)用和事件通道 4.1 系統(tǒng)調(diào)用 4.1.1 系統(tǒng)調(diào)用的過程 4.1.2 系統(tǒng)調(diào)用的實現(xiàn) 4.2 超級調(diào)用 4.2.1 超級調(diào)用的實現(xiàn)方式 4.2.2 超級調(diào)用頁 4.2.3 申請超級調(diào)用 4.3 事件通道 4.3.1 基本概念 4.3.2 事件通道的初始化 4.3.3 事件通道的操作 4.3.4 事件通道的使用 4.4 本章小結(jié) 第5章 授權(quán)表 5.1 共享內(nèi)存 5.1.1 Linux中的共享內(nèi)存 5.1.2 Xen中的共享內(nèi)存 5.2 授權(quán)表 5.2.1 授權(quán)項 5.2.2 授權(quán)表的操作 5.3 頁面映射 5.3.1 頁面映射操作 5.3.2 撤銷映射操作 5.4 頁面?zhèn)鬟f 5.4.1 頁面?zhèn)鬟f操作 5.4.2 內(nèi)存拷貝操作 5.5 授權(quán)表的使用 5.5.1 授權(quán)引用操作 5.5.2 設(shè)備驅(qū)動gntdev 5.6 本章小結(jié) 第3部分 Xen子系統(tǒng) 第6章 CPU虛擬化 6.1 中斷和異常的處理 6.1.1 基本知識 6.1.2 物理中斷處理 6.1.3 虛擬中斷處理 6.1.4 異常處理 6.2 時間和計時器 6.2.1 時間 6.2.2 計時器 6.2.3 時間和計時器操作 6.3 VCPU設(shè)置 6.3.1 VCPU數(shù)據(jù)結(jié)構(gòu) 6.3.2 VCPU初始化 6.3.3 VCPU操作 6.4 VCPU調(diào)度 6.4.1 調(diào)度器 6.4.2 調(diào)度處理 6.5 本章小結(jié) 第7章 內(nèi)存虛擬化 7.1 內(nèi)存尋址 7.1.1 80386的分段機制 7.1.2 Xen的分段機制 7.1.3 80386的分頁機制 7.1.4 Xen的分頁機制 7.2 內(nèi)存分配 7.2.1 Xen的內(nèi)存分配 7.2.2 Guest OS的物理內(nèi)存 7.2.3 物理內(nèi)存管理 7.3 虛擬地址轉(zhuǎn)換 7.3.1 直接模式 7.3.2 頁表更新 7.3.3 可寫頁表 7.4 本章小結(jié) 第8章 I/O設(shè)備虛擬化 8.1 設(shè)備虛擬化的三種模型 8.1.1 仿真設(shè)備模型 8.1.2 直接分配設(shè)備模型 8.1.3 虛擬設(shè)備模型 8.2 虛擬設(shè)備模型及其相關(guān)機制 8.3 隔離驅(qū)動域 8.4 設(shè)備I/O環(huán) 8.4.1 設(shè)備I/O環(huán)的基本原理 8.4.2 設(shè)備I/O環(huán)的實現(xiàn)方式 8.4.3 設(shè)備I/O環(huán)的實例——塊設(shè)備的I/O環(huán) 8.5 Xenstore和Xenbus 8.5.1 Xenstore簡介 8.5.2 Xenstore的實現(xiàn)原理 8.5.3 Xenbus簡介 8.5.4 Xenbus的實現(xiàn)原理 8.6 虛擬塊設(shè)備 8.6.1 虛擬塊設(shè)備I/O環(huán) 8.6.2 虛擬塊設(shè)備的初始化 8.7 虛擬網(wǎng)絡(luò)設(shè)備 8.7.1 虛擬網(wǎng)絡(luò)設(shè)備簡介 8.7.2 虛擬網(wǎng)絡(luò)設(shè)備的實現(xiàn)原理 8.7.3 虛擬網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)傳輸流程 8.8 本章小結(jié) 第4部分 Xen安全機制 第9章 Xen訪問控制模塊 9.1 ACM模塊總體介紹 9.1.1 ACM模塊架構(gòu) 9.1.2 ACM模塊的常用功能 9.1.3 ACM模塊的編譯 9.2 策略文檔的編譯與裝載 9.2.1 策略文檔的格式 9.2.2 策略文檔的編譯 9.2.3 策略文檔的裝載 9.3 ACM模塊分析 9.3.1 ACM模塊的Hooks函數(shù)及其接口函數(shù) 9.3.2 中國墻策略實現(xiàn)分析 9.3.3 STE策略實現(xiàn)分析 9.4 ACM模塊實際操作示例 9.5 本章小結(jié) 第10章 可信平臺模塊虛擬化 10.1 可信計算 10.1.1 可信的定義 10.1.2 可信平臺 10.1.3 可信平臺模塊 10.2 虛擬化可信平臺模塊(vTPM) 10.2.1 vTPM的設(shè)計 10.2.2 vTPM的實現(xiàn) 10.2.3 vTPM的使用 10.3 本章小結(jié) 第5部分 Xen展望 第11章 硬件虛擬化 11.1 特權(quán)級環(huán) 11.2 VMX和VMCS 11.2.1 VMX 11.2.2 VMCS 11.3 HVM中的其他機制 11.4 本章小結(jié) 附錄 名詞解釋 參考文獻
章節(jié)摘錄
第1部分 Xen和虛擬化技術(shù) 第2章 Xen體系結(jié)構(gòu) 2.1.1 基本概念 在Xen系統(tǒng)中,Xen向Domain提供了基本的虛擬硬件(VCPU、虛擬MMU)和基本機制(事件通道);同時向Domo提供了虛擬域管理API(控制接口),使Dom0能夠利用運行在其用戶空間的管理工具(控制軟件)控制和管理其他Domain。對于Domain對設(shè)備的訪問,Xen提供了相應(yīng)的硬件接口(安全硬件接口),以保證設(shè)備訪問的安全進行?! ?.控制接口 Xen提供的控制接口僅能被Dom0使用,用以幫助Dom0控制和管理其他的Domain。通過控制接口,Dom0不僅能夠創(chuàng)建、銷毀Domain,控制Domain的運行、暫停、恢復(fù)以及遷移,還能夠?qū)崿F(xiàn)對其他Domain的CPU調(diào)度、內(nèi)存分配以及設(shè)備訪問,如物理磁盤存儲和網(wǎng)絡(luò)接口等。 2.安全硬件接口 作為Xen的核心組件之一,安全硬件接口(Safe Hardware Interface)需要完成除虛擬CPU、MMU之外所有的硬件虛擬工作,包括DMA/IO、驅(qū)動程序、虛擬的PCI地址空間配置、虛擬硬件中斷等。安全硬件接口只能被擁有原生設(shè)備驅(qū)動的Domain(Domo、IDD)使用,向其他Domain僅提供虛擬硬件服務(wù)。這些工作是通過建立在擁有原生設(shè)備驅(qū)動的Domain和其他Domain之間的設(shè)備通道(Device Channel)來完成的。設(shè)備通道并不是Xen系統(tǒng)中存在的獨立概念,而是借由事件通道和共享內(nèi)存來實現(xiàn)的。其他Domain中的Guest OS通過設(shè)備通道向擁有原生設(shè)備驅(qū)動的Domain提交異步I/O請求,再由擁有原生設(shè)備驅(qū)動的Domain通過安全硬件接口完成I/O請求。
編輯推薦
《Xen虛擬化技術(shù)》特色內(nèi)容 ?。?)綜述虛擬化技術(shù)的發(fā)展歷程實現(xiàn)層次及分類,詳細分析x86架構(gòu)下的虛擬化問題; ?。?)分析Xen體系結(jié)構(gòu)的設(shè)計理念,包括虛擬機管理器和不同類型的虛擬域; (3)分析Xen采用的兩種重要的共享信息頁結(jié)構(gòu),包括啟動信息頁和共享信息頁; ?。?)分析從虛擬機到Xen的同步調(diào)用機制超級調(diào)用,以及從Xen到虛擬機的異步調(diào)用機制事件通道; ?。?)分析Xen授權(quán)表機制,以及授權(quán)表在系統(tǒng)中的應(yīng)用I/O環(huán); ?。?)分析與CPLJ虛擬化相關(guān)的機制和原理,包括在Xerl系統(tǒng)中中斷和異常處理機制的變化、Xen和GuestOS的時間和計時器,以及相關(guān)操作、VCPU的設(shè)置和調(diào)度等: ?。?)分析與內(nèi)存虛擬化相關(guān)的機制和原理,包括Xen的分段、分頁機制,以及對Guest OS內(nèi)存空間的分配和管理等: ?。?)分析與I/O設(shè)備虛擬化相關(guān)的機制和原理,包括設(shè)備虛擬模型、前后端設(shè)備分離驅(qū)動模型,以及兩種應(yīng)用虛擬塊設(shè)備和虛擬網(wǎng)絡(luò)設(shè)備: (9)分析Xen相關(guān)安全機制,主要包括訪問控制模塊ACM及可信平臺虛擬化模塊vTPM; (10)分析Xen硬件輔助虛擬化技術(shù)的基本原理,主要包括VMX指令集和VMCS數(shù)據(jù)結(jié)構(gòu)。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載