科技
类型
7.9
豆瓣评分
可以朗读
语音朗读
549千字
字数
2020-09-01
发行日期
展开全部
主编推荐语
深入剖析系统虚拟化方案QEMU/KVM代码实现,全方位探究系统虚拟化中涉及的各种技术细节。
内容简介
《QEMU/KVM源码解析与应用》从源码层面对当今重要的虚拟化方案QEMU与KVM的实现进行了详细分析。涉及的源码包括QEMU程序的基本组成与重要组件、主板与固件虚拟化、CPU虚拟化、内存虚拟化、中断虚拟化、设备虚拟化等。
本书的内容以QEMU和KVM代码分析为主,也涉及其他与虚拟化密切相关的代码,例如SeaBIOS和Linux内核中的virtio与VFIO的驱动代码。对虚拟化安全、容器与安全容器技术、虚拟化技术的下一步发展也做了简单介绍。
《QEMU/KVM源码解析与应用》可供从事云计算,特别是从事IaaS层相关工作的人员阅读和使用,也适合对底层计算机系统、虚拟机技术、操作系统技术感兴趣的读者学习和使用。虚拟化技术如今已经广泛应用于安全领域,本书还可供安全研究人员参考和使用。
目录
- 版权信息
- 出版说明
- 前言
- 第1章 QEMU与KVM概述
- 1.1 虚拟化简介
- 1.1.1 虚拟化思想
- 1.1.2 虚拟机简介
- 1.1.3 系统虚拟化的历史
- 1.2 QEMU与KVM架构介绍
- 1.2.1 QEMU与KVM历史
- 1.2.2 QEMU与KVM架构
- 1.3 KVM API使用实例
- 第2章 QEMU基本组件
- 2.1 QEMU事件循环机制
- 2.1.1 glib事件循环机制
- 2.1.2 QEMU中的事件循环机制
- 2.1.3 QEMU自定义事件源
- 2.1.4 QEMU事件处理过程
- 2.1.5 QEMU主循环监听的fd解析
- 2.2 QEMU线程模型
- 2.2.1 QEMU线程模型简介
- 2.2.2 QEMU线程介绍
- 2.3 QEMU参数解析
- 2.4 QOM介绍
- 2.4.1 类型的注册
- 2.4.2 类型的初始化
- 2.4.3 类型的层次结构
- 2.4.4 对象的构造与初始化
- 2.4.5 属性
- 2.5 hmp与qmp介绍
- 2.5.1 hmp与qmp
- 2.5.2 qmp的使用
- 2.5.3 qmp源码分析
- 2.5.4 qmp命令添加
- 第3章 主板与固件模拟
- 3.1 Intel 440FX主板简介
- 3.1.1 i440fx与piix3介绍
- 3.1.2 QEMU模拟主板架构
- 3.2 QEMU的主板模拟与初始化
- 3.2.1 虚拟机初始化
- 3.2.2 i440fx初始化
- 3.2.3 中断和其他设备的初始化
- 3.3 fw_cfg设备介绍
- 3.3.1 fw_cfg设备的初始化
- 3.3.2 向fw_cfg设备添加数据
- 3.3.3 添加用户自定义数据
- 3.3.4 数据的读取
- 3.4 SeaBIOS分析
- 3.4.1 SeaBIOS简介
- 3.4.2 QEMU加载SeaBIOS
- 3.4.3 SeaBIOS源码结构
- 3.4.4 SeaBIOS的编译与调试
- 第4章 CPU虚拟化
- 4.1 CPU虚拟化介绍
- 4.1.1 CPU虚拟化简介
- 4.1.2 VMX架构简介
- 4.1.3 VMCS介绍
- 4.2 KVM模块初始化介绍
- 4.2.1 KVM源码组织
- 4.2.2 KVM模块初始化
- 4.3 虚拟机的创建
- 4.3.1 QEMU侧虚拟机的创建
- 4.3.2 KVM侧虚拟机的创建
- 4.4 QEMU CPU的创建
- 4.4.1 CPU模型定义
- 4.4.2 CPU对象的初始化
- 4.4.3 CPU的创建
- 4.5 KVM CPU的创建
- 4.5.1 KVM创建VCPU流程
- 4.5.2 QEMU与KVM之间的共享数据
- 4.5.3 VCPU CPUID构造
- 4.6 VCPU的运行
- 4.7 VCPU的调度
- 第5章 内存虚拟化
- 5.1 内存虚拟化简介
- 5.2 QEMU内存初始化
- 5.2.1 基本结构
- 5.2.2 QEMU虚拟机内存初始化
- 5.2.3 分配虚拟机RAM过程
- 5.3 内存布局的提交
- 5.3.1 内存更改通知
- 5.3.2 虚拟机内存平坦化过程
- 5.3.3 向KVM注册内存
- 5.4 内存的分派
- 5.4.1 内存分派表的构建
- 5.4.2 页表简化
- 5.4.3 地址分派
- 5.5 KVM内存虚拟化
- 5.5.1 虚拟机MMU初始化
- 5.5.2 虚拟机物理地址的设置
- 5.5.3 EPT页表的构建
- 5.6 MMIO机制
- 5.6.1 虚拟设备MMIO实现原理
- 5.6.2 coalesced MMIO
- 5.7 虚拟机脏页跟踪
- 第6章 中断虚拟化
- 6.1 中断机制简介
- 6.1.1 中断分发方式
- 6.1.2 中断线与中断向量
- 6.2 中断模拟
- 6.2.1 虚拟化环境下的中断注入
- 6.2.2 PIC中断模拟
- 6.2.3 I/O APIC中断模拟
- 6.2.4 MSI中断模拟
- 6.3 APIC虚拟化
- 6.3.1 APICv简介
- 6.3.2 APICv源码分析
- 第7章 设备虚拟化
- 7.1 设备虚拟化简介
- 7.1.1 总线数据类型
- 7.1.2 总线的创建
- 7.1.3 设备数据类型
- 7.1.4 设备的创建
- 7.1.5 设备的树形结构
- 7.2 PCI设备模拟
- 7.2.1 PCI设备简介
- 7.2.2 PCI设备的模拟
- 7.2.3 PCI设备中断模拟
- 7.3 设备模拟后端
- 7.3.1 网卡模拟介绍
- 7.3.2 网卡参数解析
- 7.3.3 前端网卡设备的创建
- 7.3.4 虚拟机网卡发包流程
- 7.3.5 虚拟机网卡接收数据包
- 7.4 virtio设备模拟
- 7.4.1 virtio简介
- 7.4.2 virtio设备的初始化
- 7.4.3 virtio驱动的加载
- 7.4.4 virtio驱动的初始化
- 7.4.5 virtio设备与驱动的通信
- 7.5 ioeventfd和irqfd
- 7.5.1 eventfd原理
- 7.5.2 ioeventfd
- 7.5.3 irqfd
- 7.6 vhost net简介
- 7.6.1 vhost net介绍
- 7.6.2 vhost的初始化
- 7.6.3 vhost net网络模块
- 7.6.4 vhost net的启动
- 7.6.5 vhost net的收发包
- 7.7 设备直通与VFIO
- 7.7.1 VFIO简介
- 7.7.2 VFIO相关内核模块分析
- 7.7.3 VFIO与设备直通
- 第8章 虚拟化杂项
- 8.1 QEMU Guest Agent
- 8.1.1 QEMU Guest Agent的使用
- 8.1.2 qga源码分析
- 8.1.3 qga的QEMU侧源码解析
- 8.2 QEMU虚拟机热迁移
- 8.2.1 热迁移的用法与基本原理
- 8.2.2 热迁移流程分析
- 8.2.3 热迁移中的脏页同步
- 8.2.4 热迁移中的相关参数控制
- 8.3 QEMU及虚拟化安全
- 8.3.1 QEMU软件安全
- 8.3.2 QEMU安全思考
- 8.4 容器与虚拟化
- 8.4.1 Docker容器
- 8.4.2 gVisor
- 8.4.3 nemu
- 8.4.4 crosvm、Firecracker与cloud-hypervisor
- 附录 重要术语
展开全部
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。