
王柏生 謝廣軍
內容簡介 這是一部深度講解如何在Linux操作系統環境下用軟件虛擬出一臺“物理”計算機的著作。 兩位作者都是百度的技術專家,一位是百度的主任架構師,一位是百度智能雲的副總經理,都在操作系統和虛擬化等領域有多年的實踐經驗。本書從計算機體系結構、操作系統、硬件等多個方面深度探索瞭如何從CPU、內存、中斷、外設、網絡5個維度去虛擬化Linux系統,不僅剖析了其中的關鍵技術原理,而且深入闡述了具體的實現。 全書共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支持下的硬件輔助虛擬化。通過實現一個模擬串口帶領讀者直觀體會了設備虛擬化的基本原理,然後深入闡述了Virito標準和實現,以及支持SR-IOV的DMA重映射和中斷重映射。 第6章 網絡虛擬化 討論了在通用硬件網絡的基礎上,操作系統如何虛擬出專用的網絡設備,爲租戶組建虛擬網絡。
kvm的入門級讀物,設備和網絡寫的不錯,cpu用到例子太老了,已經脫離羣衆了,整體性不錯。
系統介紹了虛擬化,其中存儲和網絡虛擬化的案例非常具體,幫助我理清了存儲和網絡傳輸路徑上一些不清楚的點。 不過這兩者現在都有新的發展,如果也能介紹到就更好了。
百度2位資深技術專家歷時5年兩易其稿,系統總結多年操作系統和虛擬化經驗,本書從計算機體系結構、操作系統、硬件等多個方面深度探索瞭如何從CPU、內存、中斷、外設、網絡5個維度去虛擬化Linux系統,不僅剖析了其中的關鍵技術原理,而且深入闡述了具體的實現。
雖然是以較早期的代碼架構來講解kvm,但是可讀性很強,對於深入理解kvm虛擬化還是十分有幫助,作者用很精練通俗的語言就闡述清楚了系統虛擬化的核心問題和解決方案,主次分明,而不像其它書說囉嗦半天抓不住重點
框架代碼都出來了,應該還要結合pcie
學習完kvm實戰和k8s網絡權威指南之後,覺得對於虛擬化底層的具體運行邏輯還可以更深入瞭解一點。 作者用簡潔明瞭的篇幅,詳細講解了linux系統虛擬化技術的主要組成部分,讀者能夠了解到虛擬關鍵技術的具體流程。對虛擬化技術的理解會更深刻,強烈推薦的作品!
這本書竟然沒火,百度公關太差了