目前,無論是學術界還是工業(yè)界,虛擬化技術的研究和應用都是熱點。在不斷涌現出的虛擬化解決方案中,開源解決方案Xen以其獨特的虛擬化設計模式,以及接近單機操作系統(tǒng)的性能被學術界和工業(yè)界廣泛看好,被認為是未來最有前途的虛擬化解決方案之一。本書以Xen 3.1.0源碼為基礎,以通過源碼剖析原理的方式深入細致地分析了Xen的半虛擬化技術;著重介紹了在x86平臺上Xen半虛擬化技術提供的用以控制和管理虛擬機的內核接口,以及相關的原理和操作應用,包括半虛擬化技術的基本機制和策略,Xen的子系統(tǒng)及與安全相關的應用模塊。(1) 基本機制和策略,即Xen半虛擬化技術的3大核心機制:與虛擬機啟動和管理相關的信息頁機制,與虛擬機特權級控制和通信相關的超級調用和事件通道機制,以及與虛擬機數據共享和傳輸相關的授權表機制。(2) 虛擬化子系統(tǒng),即CPU虛擬化子系統(tǒng)、內存虛擬化子系統(tǒng)及I/O設備虛擬化子系統(tǒng)。CPU虛擬化子系統(tǒng)主要包括虛擬CPU原理和結構、新架構下中斷和異常處理機制的變化、時間和計時器相關操作,以及虛擬CPU的調度原理等;內存虛擬化子系統(tǒng)主要包括分頁分段機制、內存分配和地址轉換等;I/O設備虛擬化子系統(tǒng)主要包括分離驅動模型(前后端設備模型)、虛擬塊設備和網絡設備的基本原理機及相關操作等。(3)安全相關模塊,包括兩個模塊:訪問控制模塊(ACM)和虛擬化可信平臺模塊(vTPM)。詳細介紹各個模塊的基本原理及相應的實現和使用方法。(4)Xen前沿工作:對Xen全虛擬化技術的原理進行介紹,通過硬件虛擬化技術實現對Xen全虛擬化的支持,并以Intel VT技術為重點介紹硬件虛擬化的知識。