图书目录

第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.4VMEntry/VMExit

5.2.5VMExit

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.2VTd技术

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.2SRIOV

9.5.3其他

索引

参考文献