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

戚正偉、管海兵

  • 出版商: 清華大學
  • 出版日期: 2021-10-01
  • 售價: $594
  • 貴賓價: 9.5$564
  • 語言: 簡體中文
  • 頁數: 352
  • 裝訂: 平裝
  • ISBN: 7302589410
  • ISBN-13: 9787302589419
  • 立即出貨 (庫存=1)

  • 深入淺出系統虛擬化:原理與實踐-preview-1
  • 深入淺出系統虛擬化:原理與實踐-preview-2
  • 深入淺出系統虛擬化:原理與實踐-preview-3
深入淺出系統虛擬化:原理與實踐-preview-1

買這商品的人也買了...

商品描述

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

作者簡介

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

目錄大綱

第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縮略語