幫助中心 | 我的帳號 | 關於我們

深度探索Linux系統虛擬化(原理與實現)

  • 作者:王柏生//謝廣軍|責編:欒傳龍
  • 出版社:機械工業
  • ISBN:9787111666066
  • 出版日期:2020/10/01
  • 裝幀:平裝
  • 頁數:283
人民幣:RMB 89 元      售價:
放入購物車
加入收藏夾

內容大鋼
    這是一部深度講解如何在Linux操作系統環境下用軟體虛擬出一台「物理」電腦的著作。
    兩位作者都是百度的資深技術專家,一位是百度的主任架構師,一位是百度智能雲的副總經理,都在操作系統和虛擬化等領域有多年的實踐經驗。本書從電腦體系結構、操作系統、硬體等多個維度深度探討了從CPU、內存、中斷、外設、網路5個系統的虛擬化,不僅剖析了其中的關鍵技術原理,而且深入闡述了具體的實現。
    全書共6章。
    第1章CPU虛擬化
    介紹了x86架構下的VMX擴展,討論了在VMX下虛擬CPU的完整生命周期,著重闡述了Host和Guest的切換、指令的模擬以及KVM是如何虛擬多處理器的。
    第2章內存虛擬化
    討論了操作系統如何為虛擬機呈現物理內存,結合影子頁表以及EPT探討了KVM如何完成從GVA到HPA的2層地址映射。
    第3章中斷虛擬化
    本章從最初單核系統的8259A,討論到多核系統的APIC,再到繞開I/O APIC、從設備直接向LAPIC發送基於消息的MSI的虛擬化原理和實現。然後,討論了Intel為了提高效率,是如何從硬體層面對虛擬化中斷進行支持的,以及KVM是如何使用它們的。
    第4、5章外設虛擬化
    從完全虛擬化開始,依次講解了半虛擬化(Virtio)和Intel的VT-d支持下的硬體輔助虛擬化。通過實現一個模擬串口帶領讀者直觀體會了設備虛擬化的基本原理,然後深入闡述了Virtio標準和實現,以及支持SR-IOV的DMA重映射和中斷重映射。
    第6章網路虛擬化
    討論了在通用硬體網路的基礎上,操作系統如何虛擬出專用的網路設備,為租戶組建虛擬網路。

作者介紹
王柏生//謝廣軍|責編:欒傳龍

目錄
前言
第1章  CPU虛擬化
  1.1  x86架構CPU虛擬化
    1.1.1  陷入和模擬模型
    1.1.2  x86架構虛擬化的障礙
    1.1.3  VMX
    1.1.4  VCPU生命周期
  1.2  虛擬機切入和退出
    1.2.1  GCC內聯彙編
    1.2.2  虛擬機切入和退出及相關的上下文保存
  1.3  陷入和模擬
    1.3.1  訪問外設
    1.3.2  特殊指令
    1.3.3  訪問具有副作用的寄存器
  1.4  對稱多處理器虛擬化
    1.4.1  MPTable
    1.4.2  處理器啟動過程
  1.5  一個簡單KVM用戶空間實例
    1.5.1  創建虛擬機實例
    1.5.2  創建內存
    1.5.3  創建處理器
    1.5.4  Guest
    1.5.5  載入Guest鏡像到內存
    1.5.6  運行虛擬機
第2章  內存虛擬化
  2.1  內存定址
    2.1.1  段式定址
    2.1.2  平坦內存模型
    2.1.3  頁式定址
    2.1.4  頁式定址實例
  2.2  VMM為Guest準備物理內存
    2.2.1  內核是如何獲取內存的
    2.2.2  建立內存段信息
    2.2.3  準備中斷0x15的處理函數以及設置IVT
    2.2.4  中斷0x15的處理函數實現
    2.2.5  虛擬內存條
  2.3  實模式Guest的定址
    2.3.1  設置CPU運行於Virtual-8086模式
    2.3.2  設置Guest模式下的cr3寄存器
    2.3.3  虛擬MMU的上下文
    2.3.4  缺頁異常處理
  2.4  保護模式Guest的定址
    2.4.1  偷梁換柱cr
    2.4.2  影子頁表缺頁異常處理
  2.5  EPT
    2.5.1  設置EPT頁表
    2.5.2  EPT異常處理
    2.5.3  EPT支持下的地址翻譯過程
第3章  中斷虛擬化
  3.1  虛擬中斷

  3.2  PIC虛擬化
    3.2.1  可編程中斷控制器8259A
    3.2.2  虛擬設備向PIC發送中斷請求
    3.2.3  記錄中斷到IRR
    3.2.4  設置待處理中斷標識
    3.2.5  中斷評估
    3.2.6  中斷ACK
    3.2.7  關於EOI的處理
    3.2.8  中斷注入
  3.3  APIC虛擬化
    3.3.1  外設中斷過程
    3.3.2  核間中斷過程
    3.3.3  IRQ routing
  3.4  MSI(X)虛擬化
    3.4.1  MSI(X) Capability數據結構
    3.4.2  建立IRQ routing表項
    3.4.3  MSI設備中斷過程
  3.5  硬體虛擬化支持
    3.5.1  虛擬中斷寄存器頁面(virtual-APIC page)
    3.5.2  Guest模式下的中斷評估邏輯
    3.5.3  posted-interrupt processing
第4章  設備虛擬化
  4.1  設備虛擬化模型演進
  4.2  PCI配置空間及其模擬
  4.3  設備透傳
    4.3.1  虛擬配置空間
    4.3.2  DMA重映射
    4.3.3  中斷重映射
  4.4  完全虛擬化
    4.4.1  Guest發送數據
    4.4.2  Guest接收數據
第5章  Virtio虛擬化
  5.1  I/O棧
    5.1.1  文件系統
    5.1.2  通用塊層
    5.1.3  塊設備驅動
    5.1.4  page cache
    5.1.5  bio
    5.1.6  I/O調度器
  5.2  Virtio協議
    5.2.1  描述符表
    5.2.2  可用描述符區域
    5.2.3  已用描述符區域
    5.2.4  Virtio設備的PCI配置空間
  5.3  初始化Virtqueue
  5.4  驅動根據I/O請求組織描述符鏈
  5.5  驅動通知設備處理請求
  5.6  設備處理I/O請求
  5.7  驅動側回收I/O請求
  5.8  設備非同步處理I/O

  5.9  輕量虛擬機退出
    5.9.1  創建eventfd
    5.9.2  kvmtool監聽eventfd
    5.9.3  VMexit處理函數喚醒I/O任務
第6章  網路虛擬化
  6.1  基於Overlay的虛擬網路方案
    6.1.1  計算節點
    6.1.2  網路節點
    6.1.3  Open vSwitch
  6.2  虛擬機訪問外部主機
    6.2.1  數據包在計算節點Linux網橋中的處理
    6.2.2  數據包在計算節點的Open vSwitch中的處理
    6.2.3  數據包在網路節點的Open vSwitch中的處理
  6.3  外部主機訪問虛擬機
    6.3.1  數據包在網關中的處理過程
    6.3.2  數據包在網路節點的Open vSwitch中的處理
    6.3.3  數據包在計算節點的Open vSwitch中的處理
    6.3.4  數據包在Linux網橋中的處理

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032