第1章开篇
1.1形形色色的虚拟化
1.2系统虚拟化
1.3系统虚拟化简史
1.4系统虚拟化的好处
第2章x86架构及操作系统概述
2.1x86的历史和操作系统概要
2.1.1x86的历史
2.1.2操作系统概述
2.2x86内存架构
2.2.1地址空间
2.2.2地址
2.2.3x86内存管理机制
2.3x86架构的基本运行环境
2.3.1三种基本模式
2.3.2基本寄存器组
2.3.3权限控制
2.4中断与异常
2.4.1中断架构
2.4.2异常架构
2.4.3操作系统对中断/异常的处理流程
2.5进程
2.5.1上下文
2.5.2上下文切换
2.6I/O架构
2.6.1x86的I/O架构
2.6.2DMA
2.6.3PCI设备
2.6.4PCI Express
2.7时钟
2.7.1x86平台的常用时钟
2.7.2操作系统的时钟观
第3章虚拟化概述
3.1可虚拟化架构与不可虚拟化架构
3.2处理器虚拟化
3.2.1指令的模拟
3.2.2中断和异常的模拟及注入
3.2.3对称多处理器技术的模拟
3.3内存虚拟化
3.4I/O虚拟化
3.4.1概述
3.4.2设备发现
3.4.3访问截获
3.4.4设备模拟
3.4.5设备共享
3.5VMM的功能和组成
3.5.1虚拟环境的管理
3.5.2物理资源的管理
3.5.3其他模块
3.6VMM的分类
3.6.1按虚拟平台分类
3.6.2按VMM实现结构分类
3.7典型虚拟化产品及其特点
3.7.1VMware
3.7.2Microsoft
3.7.3Xen
3.7.4KVM
3.8思考题
第4章基于软件的完全虚拟化
4.1概述
4.2CPU虚拟化
4.2.1解释执行
4.2.2扫描与修补
4.2.3二进制代码翻译
4.3内存虚拟化
4.3.1概述
4.3.2影子页表
4.3.3内存虚拟化的优化
4.4I/O虚拟化
4.4.1设备模型
4.4.2设备模型的软件接口
4.4.3接口拦截和模拟
4.4.4功能实现
4.4.5案例分析: IDE的DMA操作
4.5思考题
第5章硬件辅助虚拟化
5.1概述
5.2CPU虚拟化的硬件支持
5.2.1概述
5.2.2VMCS
5.2.3VMX操作模式
5.2.4VMEntry/VMExit
5.2.5VMExit
5.3CPU虚拟化的实现
5.3.1概述
5.3.2VCPU的创建
5.3.3VCPU的运行
5.3.4VCPU的退出
5.3.5VCPU的再运行
5.3.6进阶
5.4中断虚拟化
5.4.1概述
5.4.2虚拟PIC
5.4.3虚拟I/O APIC
5.4.4虚拟Local APIC
5.4.5中断采集
5.4.6中断注入
5.4.7案例分析
5.5内存虚拟化
5.5.1概述
5.5.2EPT
5.5.3VPID
5.6I/O虚拟化的硬件支持
5.6.1概述
5.6.2VTd技术
5.7I/O虚拟化的实现
5.7.1概述
5.7.2设备直接分配
5.7.3设备I/O地址空间的访问
5.7.4设备发现
5.7.5配置DMA重映射数据结构
5.7.6设备中断虚拟化
5.7.7案例分析: 网卡的直接分配在Xen里面的实现
5.7.8进阶
5.8时间虚拟化
5.8.1操作系统的时间概念
5.8.2客户机的时间概念
5.8.3时钟设备仿真
5.8.4实现客户机时间概念的一种方法
5.8.5实现客户机时间概念的另一种方法
5.8.6如何满足客户机时间不等于实际时间的需求
5.9思考题
第6章类虚拟化技术
6.1概述
6.1.1类虚拟化的由来
6.1.2类虚拟化的系统实现
6.1.3类虚拟化接口的标准化
6.2类虚拟化体系结构
6.2.1指令集
6.2.2外部中断
6.2.3物理内存空间
6.2.4虚拟内存空间
6.2.5内存管理
6.2.6I/O子系统
6.2.7时间与时钟服务
6.3Xen的原理与实现
6.3.1超调用
6.3.2虚拟机与Xen的信息共享
6.3.3内存管理
6.3.4页表虚拟化
6.3.5事件通道
6.3.6授权表
6.3.7I/O系统
6.3.8实例分析: 块设备虚拟化
6.4XenLinux的运行
6.5思考题
第7章虚拟环境性能和优化
7.1性能评测指标
7.2性能评测工具
7.2.1重用操作系统的性能评测工具
7.2.2面向虚拟环境的性能评测工具
7.3性能分析工具
7.3.1Xenoprof
7.3.2Xentrace
7.3.3Xentop
7.4性能优化方法
7.4.1降低客户机退出事件发生频率
7.4.2降低客户机退出事件处理时间
7.4.3降低处理器利用率
7.5性能分析案例
7.5.1案例分析: Xenoprof
7.5.2案例分析: Xentrace
7.6可扩展性
7.6.1宿主机的可扩展性
7.6.2客户机的可扩展性
7.7思考题
第8章虚拟化技术的应用模式
8.1常用技术介绍
8.1.1虚拟机的动态迁移
8.1.2虚拟机快照
8.1.3虚拟机的克隆
8.1.4案例分析: VMware VMotion 和VMware 快照
8.2服务器整合
8.2.1服务器整合技术
8.2.2案例分析: VMware Infrastructure 3
8.3灾难恢复
8.3.1灾难恢复与虚拟化技术
8.3.2案例分析: VMware Infrastructure 3
8.4改善系统可用性
8.4.1可用性的含义
8.4.2虚拟化技术如何提高可用性
8.4.3虚拟化技术带来的新契机
8.4.4案例分析: VMware HA和 LUCOS
8.5动态负载均衡
8.5.1动态负载均衡的含义
8.5.2案例分析: VMware DRS
8.6增强系统可维护性
8.6.1可维护性的含义
8.6.2案例分析: VMware VirtualCenter
8.7增强系统安全与可信任性
8.7.1安全与可信任性的含义
8.7.2虚拟化技术如何提高系统安全
8.7.3虚拟化技术如何提高可信任性
8.7.4案例分析: sHyper、VMware Infrastructure 3和CoVirt
8.8Virtual Appliance
第9章前沿虚拟化技术
9.1基于容器的虚拟化技术
9.1.1容器技术的基本概念和发展背景
9.1.2基于容器的虚拟化技术
9.2系统安全
9.2.1基于虚拟化技术的恶意软件
9.2.2虚拟机监控器的安全性
9.3系统标准化
9.3.1开放虚拟机格式
9.3.2虚拟化的可管理性
9.3.3虚拟机互操作性标准
9.4电源管理
9.5智能设备
9.5.1多队列网卡
9.5.2SRIOV
9.5.3其他
索引
参考文献