深度探索Linux系统虚拟化:原理与实现

深度探索Linux系统虚拟化:原理与实现

作者:王柏生谢广军

出版社:机械工业

出版年:2020年10月

ISBN:9787111666066

所属分类:历史文化

书刊介绍

《深度探索Linux系统虚拟化:原理与实现》内容简介

这是一部深度讲解如何在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章:网络虚拟化。讨论了在通用硬件网络的基础上,操作系统如何虚拟出专用的网络设备,为租户组建虚拟网络。
王柏生,技术专家,先后就职于中科院软件所、红旗Linux和百度,现任百度主任架构师。在操作系统、虚拟化技术、分布式系统、云计算、自动驾驶等相关领域耕耘多年,有着丰富的实践经验。著有畅销书《深度探索Linux操作系统》(2013年出版)。
谢广军,计算机专业博士,毕业于南开大学计算机系。技术专家,有多年的IT行业工作经验。现担任百度智能云副总经理,负责云计算相关产品的研发。多年来一直从事操作系统、虚拟化技术、分布式系统、大数据、云计算等相关领域的研发工作,实践经验丰富。

作品目录

前言
第1章:CPU虚拟化
1.1、x86架构CPU虚拟化
1.2、虚拟机切入和退出
1.3、陷入和模拟
1.4、对称多处理器虚拟化
1.5、一个简单KVM用户空间实例
第2章:内存虚拟化
2.1、内存寻址
2.2、VMM为Guest准备物理内存
2.3、实模式Guest的寻址
2.4、保护模式Guest的寻址
2.5、EPT
第3章:中断虚拟化
3.1、虚拟中断
3.2、PIC虚拟化
3.3、APIC虚拟化
3.4、MSI(X)虚拟化
3.5、硬件虚拟化支持
第4章:设备虚拟化
4.1、设备虚拟化模型演进
4.2、PCI配置空间及其模拟
4.3、设备透传
4.4、完全虚拟化
第5章:Virtio虚拟化
5.1、I/O栈
5.2、Virtio协议
5.3、初始化Virtqueue
5.4、驱动根据I/O请求组织描述符链
5.5、驱动通知设备处理请求
5.6、设备处理I/O请求
5.7、驱动侧回收I/O请求
5.8、设备异步处理I/O
5.9、轻量虚拟机退出
第6章:网络虚拟化
6.1、基于Overlay的虚拟网络方案
6.2、虚拟机访问外部主机
6.3、外部主机访问虚拟机

相关推荐

微信二维码