本书深入而又系统地介绍了以软件完全虚拟化、硬件辅助虚拟化及类虚拟化为核心的各种系统虚拟化技术。全书共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 其他
索引
参考文献
Linux 驱动程序开发实例-第2版 本书特色 Linux设备驱动程序是高级应用程序与硬件设备之间的桥梁。驱动程序开发是软硬件相互结合的技术。本书是一本专门介绍...
《狼书(卷3):Node.js高级技术》内容简介:Node.js开发简单,性能极好,一经发布便成了明星级项目。随着大前端领域的蓬勃发展,跨
《爱烘焙会拍照:速成烘焙大师攻略》内容简介:新浪美食博客首页推荐、百万博主马琳的第四本《马琳的点心书》来啦! 独家配方,操作
《人生的底气2》内容简介:不管是古代的孟子告诫国君如何治理国家,还是今天的我们思考如何经营自己的人生,底层逻辑都是一致的——
《电力电子变换器的先进脉宽调制技术》内容简介:本书综合介绍了电力电子变换器的先进脉宽调制(PWM)技术的原理和应用。脉宽调制技
《Scratch 3.0少儿游戏趣味编程2》内容简介:本书详细介绍使用Scratch 3.0开发15款精彩的趣味游戏,帮助读者掌握程序设计的基本思维
风靡全球的网络隐私安全圣经高危信息生态环境的生存指南这是一部及时、生动、富有启发性的著作,可以改变人们对隐私、名声以及互
《51单片机零基础轻松入门视频教程》内容简介:本书以STC89C52(AT89S52)为例,介绍了51单片机的结构和特点、入门和提高所需的C语
《OpenCV项目开发实战(原书第2版)》内容简介:本书内容精练、重点突出、示例丰富。作者用幽默风趣、简洁生动的语言,通过实际的编
《吕思勉修身课》内容简介:*民国畅销至今,修身入门读物,国人必读经典。*著名历史学家钱穆、严耕望、黄永年等亲身经历的大师课堂
C程序设计语言(第二版.新版) 本书特色 在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用如此广泛。本书原著即为C语言的设计者之一Dennis M....
《高效签单》内容简介:为什么按照传统销售流程,签单越来越难? 为什么你跑通了一切流程,却还是谈不下客户? 因为你不懂销售新思
本项目是首部对人类深空探测活动进行系统、完整、科学的描述与分析的著作,融研究性、资料性、工具性于一体,对航天科技工作者有
《萌物绘:实用水彩手绘入门教程》内容简介:本书分为四大部分:工具篇、色彩篇、基础篇、实践篇。以甜品、花卉、动物三大萌物主题
《Django 3.0入门与实践》内容简介:本书是一线程序员多年开发经验的结晶。书中深入浅出地讲解了使用Django开发Web网站所需的配置、
《程序员面试攻略》介绍程序员在求职过程所面临的求职沟通和程序设计技能两个方面的问题。在程序设计技能方面,《程序员面试攻略
Photoshop CS4数码照片精修专家技法精粹(附光盘) 本书特色 精彩光盘超值附赠73个实例素材及*终效果文件,200分钟多媒体演示视频,70个精美相框和...
《鉴知录》内容简介:《鉴知录》是一部读史随笔集。顾名思义,读《资治通鉴》,是为了鉴往知来。作者起于基层,富有实际工作经验。
工业机器人与自控系统的集成应用 本书特色 本书从实用的角度出发,对工业机器人与PLC 控制系统的综合应用、触摸屏与机器人的联合应用、机器人与视觉系统的综合应用,...
《学习PYTHON—做个有编程能力的设计师》不是纯粹的Python编程学习,而是在学习基本Python编程语言时阐述辅助设计的方法,从Pyth