封面
版权信息
内容简介
作者简介
华为技术有限公司
序一FOREWORD
序二FOREWORD
前言PREFACE
第1章 系统虚拟化概述
1.1 系统虚拟化基本概念
1.2 系统虚拟化的发展历史和趋势展望
1.2.1 发展历史
1.2.2 趋势展望
1.3 系统虚拟化的主要功能和分类
1.3.1 虚拟化基本功能
1.3.2 虚拟化分类
1.3.3 系统虚拟化实现方式
1.4 典型虚拟化系统
1.4.1 典型虚拟化系统简介
1.4.2 openEuler的虚拟化技术
本章小结
第2章 CPU虚拟化
2.1 CPU虚拟化概述
2.1.1 敏感非特权指令的处理
2.1.2 虚拟机上下文切换
2.1.3 中断虚拟化
2.2 Intel VT-x硬件辅助虚拟化概述
2.2.1 VMX操作模式
2.2.2 VMCS
2.2.3 PIC&APIC
2.2.4 Intel VT-x中断虚拟化
2.3 QEMU/KVM CPU虚拟化实现
2.3.1 KVM模块初始化
2.3.2 虚拟机创建
2.3.3 vCPU创建
2.3.4 vCPU运行
2.3.5 实验:CPU虚拟化实例
2.4 QEMU/KVM中断虚拟化实现
2.4.1 PIC & IOAPIC模拟
2.4.2 PCI设备中断
2.4.3 QEMU/KVM中断路由
2.4.4 虚拟中断注入
2.4.5 实验:e1000网卡中断虚拟化
2.5 GiantVM CPU虚拟化
2.5.1 分布式vCPU
2.5.2 跨节点中断转发
本章小结
第3章 内存虚拟化
3.1 内存虚拟化概述
3.2 内存虚拟化的实现
3.2.1 虚拟内存的实现:页表
3.2.2 内存虚拟化的软件实现:影子页表
3.2.3 内存虚拟化的硬件支持:扩展页表
3.2.4 扩展页表与影子页表的结合:敏捷页表
3.2.5 内存的半虚拟化:直接页表映射与内存气球
3.3 QEMU/KVM内存虚拟化源码
3.3.1 QEMU内存数据结构
3.3.2 实验:打印MemoryRegion树
3.3.3 KVM内存数据结构
3.3.4 实验:将GVA翻译为HPA
3.4 GiantVM内存虚拟化
3.4.1 分布式共享内存
3.4.2 GiantVM中的DSM架构
3.4.3 GiantVM中DSM的实现
本章小结
第4章 I/O虚拟化
4.1 I/O虚拟化概述
4.1.1 I/O过程
4.1.2 I/O虚拟化的基本任务
4.1.3 软件实现的I/O虚拟化
4.1.4 硬件辅助的I/O虚拟化
4.2 I/O虚拟化的实现方式
4.2.1 PCI设备简介
4.2.2 设备模拟
4.2.3 I/O半虚拟化
4.2.4 设备直通访问
4.2.5 VFIO
4.2.6 SR-IOV
4.3 QEMU/KVM虚拟设备的实现
4.3.1 QEMU对象模型
4.3.2 主板芯片组与总线模拟
4.3.3 QEMU/KVM设备访问的模拟
4.3.4 实验:为edu设备添加设备驱动
4.4 GiantVM中的I/O处理
4.4.1 PIO转发
4.4.2 MMIO转发
4.4.3 DMA的处理
本章小结
第5章 鲲鹏虚拟化
5.1 鲲鹏虚拟化框架
5.1.1 鲲鹏虚拟化简介
5.1.2 EL2虚拟化框架
5.2 鲲鹏CPU虚拟化
5.2.1 CPU虚拟化
5.2.2 EL2异常级
5.2.3 VHE
5.3 鲲鹏中断虚拟化
5.3.1 GICv1
5.3.2 GICv2
5.3.3 GICv3/GICv4
5.3.4 GICv3/GICv4中断虚拟化
5.4 鲲鹏内存虚拟化
5.4.1 VMSAv8-64架构概述
5.4.2 地址空间与页表
5.4.3 内存属性、访问权限与缺页异常
5.4.4 MPAM
5.5 鲲鹏I/O虚拟化
5.5.1 MMIO的模拟
5.5.2 DMA重映射——SMMUv3
5.5.3 SMMUv3中的缓存机制
5.6 鲲鹏时钟虚拟化
本章小结
第6章 轻量级虚拟化平台StratoVirt
6.1 StratoVirt概述
6.2 发展背景
6.3 StratoVirt架构设计
6.3.1 CPU子系统
6.3.2 内存子系统
6.3.3 I/O子系统
6.4 从零开始构建StratoVirt
6.4.1 总体介绍
6.4.2 KVM模型
6.4.3 内存模型
6.4.4 CPU模型
6.4.5 BootLoader实现
6.4.6 串口实现
6.4.7 Epoll实现
6.4.8 鲲鹏平台支持
本章小结
参考文献
附录A 缩略语
更新时间:2023-08-10 17:46:33