QEMU/KVM源码解析与应用

QEMU/KVM源码解析与应用

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

深入剖析系统虚拟化方案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

附录 重要术语

QEMU/KVM源码解析与应用是2020年由机械工业出版社出版,作者李强。

得书感谢您对《QEMU/KVM源码解析与应用》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
3D打印与工业制造 电子书
本书从实践、市场、具体工业应用三方面系统地介绍了3D打印技术,具有全局性、实用性。
电机轴承故障诊断与分析 电子书
本书从电机轴承故障诊断的方法、理论、实践等不同角度向广大读者系统地介绍了电机轴承故障诊断与分析技术。
ANSYS电池仿真与实例详解——流体传热篇 电子书
缕清建立电池仿真的必要知识和流程,仿真实例讲解,为具体工程排除问题时提供方法或思路。
深度学习原理与PyTorch实战(第2版) 电子书
一本系统介绍深度学习技术及开源框架PyTorch的入门书。
多边平台视角下的技术转移与技术交易 电子书
本书全面探讨如何突破创新主体壁垒,走出符合国情的产学研深度融合之路。