本书深入而又系统地介绍了以软件完全虚拟化、硬件辅助虚拟化及类虚拟化为核心的各种系统虚拟化技术。全书共9章,第1章概述性地介绍了虚拟化技术;第2章介绍计算机系统知识;第3章从CPU虚拟化、内存虚拟化和I/0虚拟化三大块对系统虚拟化技术进行概述,并介绍虚拟机监控器(VMM)的组成与分类,而且对市场上流行的虚拟化产品进行了简单介绍;第4-6章分别从基于软件的完全虚拟化、硬件辅助的完全虚拟化和类虚拟化三种实现技术角度深入介绍系统虚拟化方法;第7章介绍虚拟机的性能评测和调试技术;第8章介绍系统虚拟化的应用实例;最后在第9章对虚拟机和系统虚拟化技术的发展作一个展望。
本书是系统虚拟化技术实现原理的全面展示,也是作者这些年在虚拟化学术和工业研究领域开发的经验总结。本书理论与实践相结合,用通俗易懂的语言描述系统虚拟化技术原理,其中不乏具有代表性和普遍意义的实例和技术细节,是学习系统虚拟化技术的宝贵资料。本书不仅可以作为教材,供计算机相关专业的大学高年级学生和研究生阅读;而且可以作为一本参考手册,供大学或企业里与系统相关领域的研究开发人员以及对虚拟机及虚拟化核心技术有兴趣的研究者和开源工作者阅读。
第1章 开篇
1.1 形形色色的虚拟化
1.2 系统虚拟化
1.3 系统虚拟化简史
1.4 系统虚拟化的好处
第2章 x86架构及操作系统概述
2.1 x86的历史和操作系统概要
2.1.1 x86的历史
2.1.2 操作系统概述
2.2 x86内存架构
2.2.1 地址空间
2.2.2 地址
2.2.3 x86内存管理机制
2.3 x86架构的基本运行环境
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.6 I/O架构
2.6.1 x86的I/O架构
2.6.2 DMA
2.6.3 PCI设备
2.6.4 PCI Express
2.7 时钟
2.7.1 x86平台的常用时钟
2.7.2 操作系统的时钟观
第3章 虚拟化概述
3.1 可虚拟化架构与不可虚拟化架构
3.2 处理器虚拟化
3.2.1 指令的模拟
3.2.2 中断和异常的模拟及注入
3.2.3 对称多处理器技术的模拟
3.3 内存虚拟化
3.4 I/O虚拟化
3.4.1 概述
3.4.2 设备发现
3.4.3 访问截获
3.4.4 设备模拟
3.4.5 设备共享
3.5 VMM的功能和组成
3.5.1 虚拟环境的管理
3.5.2 物理资源的管理
3.5.3 其他模块
3.6 VMM的分类
3.6.1 按虚拟平台分类
3.6.2 按VMM实现结构分类
3.7 典型虚拟化产品及其特点
3.7.1 VMware
3.7.2 Microsoft
3.7.3 Xen
3.7.4 KVM
3.8 思考题
第4章 基于软件的完全虚拟化
4.1 概述
4.2 CPU虚拟化
4.2.1 解释执行
4.2.2 扫描与修补
4.2.3 二进制代码翻译
4.3 内存虚拟化
4.3.1 概述
4.3.2 影子页表
4.3.3 内存虚拟化的优化
4.4 I/O虚拟化
4.4.1 设备模型
4.4.2 设备模型的软件接口
4.4.3 接口拦截和模拟
4.4.4 功能实现
4.4.5 案例分析: IDE的DMA操作
4.5 思考题
第5章 硬件辅助虚拟化
5.1 概述
5.2 CPU虚拟化的硬件支持
5.2.1 概述
5.2.2 VMCS
5.2.3 VMX操作模式
5.2.4 VM?Entry/VM?Exit
5.2.5 VM?Exit
5.3 CPU虚拟化的实现
5.3.1 概述
5.3.2 VCPU的创建
5.3.3 VCPU的运行
5.3.4 VCPU的退出
5.3.5 VCPU的再运行
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.2 EPT
5.5.3 VPID
5.6 I/O虚拟化的硬件支持
5.6.1 概述
5.6.2 VT?d技术
5.7 I/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.6 I/O子系统
6.2.7 时间与时钟服务
6.3 Xen的原理与实现
6.3.1 超调用
6.3.2 虚拟机与Xen的信息共享
6.3.3 内存管理
6.3.4 页表虚拟化
6.3.5 事件通道
6.3.6 授权表
6.3.7 I/O系统
6.3.8 实例分析: 块设备虚拟化
6.4 XenLinux的运行
6.5 思考题
第7章 虚拟环境性能和优化
7.1 性能评测指标
7.2 性能评测工具
7.2.1 重用操作系统的性能评测工具
7.2.2 面向虚拟环境的性能评测工具
7.3 性能分析工具
7.3.1 Xenoprof
7.3.2 Xentrace
7.3.3 Xentop
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.8 Virtual 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.2 SR?IOV
9.5.3 其他
索引
参考文献
时尚艺术和商业从本质上来说是符号和系统的集合,也就是说,是一种语言。为了能有效地在行业内与顾客进行沟通,设计师必须掌握一
《腾讯方法》内容简介:这是国内第一本深度讲述腾讯产品研发与团队转型的书。本书介绍了腾讯三个不同生命周期的产品的开发过程,包
《学术与时势:民国的边疆研究》内容简介:该书系统梳理了近代中国边疆研究的发展演变历程,探讨各时期边疆研究内容、方法的不同特
《原来心可以跳舞》内容简介:女人的一生总是充满着各种磨难,因而这样的人生显得很长很长;而女人们的幸福,就会显得越发短暂。中
本书为《计算机算法导引——设计与分析》的第2版。书中内容分3部分:第1部分是基本算法,按方法论区分,包含优先策略与分治策略、
《机器学习导论》对机器学习的定义和应用实例进行了介绍,涵盖了监督学习。贝叶斯决策理论。参数方法、多元方法、维度归约、聚类
机器视觉 本书特色 《机器视觉》从逆问题的角度出发,提出了一整套关于机器视觉的研究方法,其核心是:机器视觉应该基于对成像过程的深刻理解!作为作者在麻省理工学院(...
“泛娱乐战略”是指打造“围绕明星IP、开发多种文化创意产品体验”的创新业态。“泛娱乐战略”最早被腾讯公司确定为公司级战略。
随着科技事业的不断发展,机器智能成为又一个被大众所关注和看好的领域。在未来,机器智能也将借助各类技术获得前所未有的发展。
本书是CSS3领域的标准性著作,由资深Web前端工程师根据CSS3的最新技术标准撰写。内容极为全面、丰富和翔实,由浅入深地讲解了CSS
《给青年的十二封信(经典译林)》内容简介:朱光潜赠予青年朋友的人生智慧书; 附录朱光潜谈修养、谈文学等多篇精彩文章 本书是美
基于光纤技术的电信网络已经成为最主要的信息传输系统,无论是在陆地还是海底,已经形成了拥有巨大传输容量的光纤链路。各种不同
《信号与系统》采用先时域后变换域的顺序,以对偶和类比的方式逐章逐节、完全并行地讲述连续时间和离散时间信号与系统的一系列基
Python是目前流行的动态脚本语言之一。李勇,本书共15章,由浅入深、全面系统地介绍了使用Python语言进行程序开发的知识和技巧。
作为一名从事设计职业的设计师,或者正在通往成为设计师道路的朋友,都会遇到很多这样或那样的问题。什么是UI?和其他职业有什么
内容简介Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚
本书全面、深入地介绍了数字通信系统的基础理论和应用,内容包括数字调制和编码的基本理论以及频谱扩展通信、蜂窝式无线电通信和
《国家的歧路:日本帝国毁灭之谜》内容简介:1912年,随着明治天皇去世、大正天皇登基,日本开始出现宽松的社会环境,民主主义运动
随着越来越多的第三方语言(Groovy、Scala、JRuby等)在Java虚拟机上运行,Java也俨然成为了一个充满活力的生态圈。《实战Java虚
ThisbookisaboutlearningtoprograminLisp.Althoughwidelyknownastheprincipallanguage...