深入淺出系統虛擬化原理與實踐

深入淺出系統虛擬化原理與實踐

《深入淺出系統虛擬化原理與實踐》是2021年清華大學出版社出版的圖書。

基本介紹

  • 中文名:深入淺出系統虛擬化原理與實踐
  • 作者:戚正偉,管海兵
  • 出版時間:2021年10月1日
  • 出版社:清華大學出版社
  • ISBN:9787302589419
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,作者簡介,

內容簡介

本書是一本論述系統虛擬化原理與實踐的專業圖書。全書分為6章,第1章概述系統虛擬化的基本概念、發展歷史、趨勢展望、主要功能和分類,以及目前典型的虛擬化系統,並介紹openEuler作業系統的虛擬化技術。第2~4章分別介紹系統虛擬化的三大組成部分: CPU虛擬化、記憶體虛擬化和I/O虛擬化的相關原理,並配備相應實驗便於讀者理解。第5章介紹基於ARMv8的鯤鵬虛擬化架構,並概述其CPU、中斷、記憶體、I/O和時鐘虛擬化的基本原理。第6章結合代碼講解輕量級虛擬化平台StratoVirt的基本原理和技術特點,讀者可以跟隨本書從零開始打造一個具備基本功能的輕量級虛擬化平台。
為便於讀者高效學習、深入掌握系統虛擬化的基本原理,本書的原始碼及安裝運行說明均保存於GiantVM和 StratoVirt開源社區。後續將通過開源社區進行代碼更新和線上交流。
本書可作為相關領域工程技術人員的參考書,也可作為高年級本科生和研究生的學習用書,還可作為對虛擬化技術感興趣的愛好者的自學用書。

圖書目錄

第1章系統虛擬化概述
1.1系統虛擬化基本概念
1.2系統虛擬化的發展歷史和趨勢展望
1.2.1發展歷史
1.2.2趨勢展望
1.3系統虛擬化的主要功能和分類
1.3.1虛擬化基本功能
1.3.2虛擬化分類
1.3.3系統虛擬化實現方式
1.4典型虛擬化系統
1.4.1典型虛擬化系統簡介
1.4.2openEuler的虛擬化技術
本章小結
第2章CPU虛擬化
2.1CPU虛擬化概述
2.1.1敏感非特權指令的處理
2.1.2虛擬機上下文切換
2.1.3中斷虛擬化
2.2Intel VTx硬體輔助虛擬化概述
2.2.1VMX操作模式
2.2.2VMCS
2.2.3PIC & APIC
2.2.4Intel VTx中斷虛擬化
2.3QEMU/KVM CPU虛擬化實現
2.3.1KVM模組初始化
2.3.2虛擬機創建
2.3.3vCPU創建
2.3.4vCPU運行
2.3.5實驗:CPU虛擬化實例
2.4QEMU/KVM中斷虛擬化實現
2.4.1PIC & IOAPIC模擬
2.4.2PCI設備中斷
2.4.3QEMU/KVM中斷路由
2.4.4虛擬中斷注入
2.4.5實驗:e1000網卡中斷虛擬化
2.5GiantVM CPU虛擬化
2.5.1分散式vCPU
2.5.2跨節點中斷轉發
本章小結
第3章記憶體虛擬化
3.1記憶體虛擬化概述
3.2記憶體虛擬化的實現
3.2.1虛擬記憶體的實現:頁表
3.2.2記憶體虛擬化的軟體實現:影子頁表
3.2.3記憶體虛擬化的硬體支持:擴展頁表
3.2.4擴展頁表與影子頁表的結合:敏捷頁表
3.2.5記憶體的半虛擬化:直接頁表映射與記憶體氣球
3.3QEMU/KVM記憶體虛擬化源碼
3.3.1QEMU記憶體數據結構
3.3.2實驗:列印MemoryRegion樹
3.3.3KVM記憶體數據結構
3.3.4實驗:將GVA翻譯為HPA
3.4GiantVM記憶體虛擬化
3.4.1分散式共享記憶體
3.4.2GiantVM中的DSM架構
3.4.3GiantVM中DSM的實現
本章小結
第4章I/O虛擬化
4.1I/O虛擬化概述
4.1.1I/O過程
4.1.2I/O虛擬化的基本任務
4.1.3軟體實現的I/O虛擬化
4.1.4硬體輔助的I/O虛擬化
4.2I/O虛擬化的實現方式
4.2.1PCI設備簡介
4.2.2設備模擬
4.2.3I/O半虛擬化
4.2.4設備直通訪問
4.2.5VFIO
4.2.6SRIOV
4.3QEMU/KVM虛擬設備的實現
4.3.1QEMU對象模型
4.3.2主機板晶片組與匯流排模擬
4.3.3QEMU/KVM設備訪問的模擬
4.3.4實驗:為edu設備添加設備驅動
4.4GiantVM中的I/O處理
4.4.1PIO 轉發
4.4.2MMIO 轉發
4.4.3DMA 的處理
本章小結
第5章鯤鵬虛擬化
5.1鯤鵬虛擬化框架
5.1.1鯤鵬虛擬化簡介
5.1.2EL2虛擬化框架
5.2鯤鵬CPU虛擬化
5.2.1CPU虛擬化
5.2.2EL2異常級
5.2.3VHE
5.3鯤鵬中斷虛擬化
5.3.1GICv1
5.3.2GICv2
5.3.3GICv3/GICv4
5.3.4GICv3/GICv4中斷虛擬化
5.4鯤鵬記憶體虛擬化
5.4.1VMSAv864架構概述
5.4.2地址空間與頁表
5.4.3記憶體屬性、訪問許可權與缺頁異常
5.4.4MPAM
5.5鯤鵬I/O虛擬化
5.5.1MMIO的模擬
5.5.2DMA重映射——SMMUv3
5.5.3SMMUv3中的快取機制
5.6鯤鵬時鐘虛擬化
本章小結
第6章輕量級虛擬化平台StratoVirt
6.1StratoVirt概述
6.2發展背景
6.3StratoVirt架構設計
6.3.1CPU子系統
6.3.2記憶體子系統
6.3.3I/O子系統
6.4從零開始構建StratoVirt
6.4.1總體介紹
6.4.2KVM模型
6.4.3記憶體模型
6.4.4CPU模型
6.4.5BootLoader實現
6.4.6串口實現
6.4.7Epoll實現
6.4.8鯤鵬平台支持
本章小結
參考文獻
附錄A縮略語

作者簡介

戚正偉,博士,上海交通大學電信學院/軟體學院教授/博導,CCF傑出會員, CCF系統軟體和理論計算機專委會委員,微軟亞洲研究院訪問教師、美國CMU大學訪問學者(美方教授為Edmund Clarke,計算機圖靈獎得主) 。2011年入選教育部新世紀優秀人才計畫,獲得上海市技術發明一等獎、教育部科技進步一等獎、教育部技術發明一等獎、國家科技進步獎二等獎各一項,出版譯著《UNIX環境高級編程(第2版)》,為2008、2009年度暢銷榜TOP50(China-Pub)。出版專著《BlewBluePill:深入理解硬體虛擬機》(獲得IBM出版計畫資助)和譯著《UNIX高級環境編程(第3版)》(京東計算機與網際網路圖書2014/2015年度銷售榜Top 100)。

相關詞條

熱門詞條

聯絡我們