出版时间:2009-1 出版社:清华大学出版社 作者:Intel corporatio 页数:238
Tag标签:无
前言
虚拟化技术在近期成为了学术界和产业界的一大焦点,并且被认为是在将来的一段时间内最具影响力的技术之一,它可能会改变现有系统软件的整个样子,为系统软件带来一场新的革命。 虚拟化技术正在成为系统软件中广泛存在的一层,它的普及可以从三个角度来看待。从硬件平台来讲,虚拟化技术被用于企业级服务器、桌面平台(例如台式计算机和笔记本式计算机)以及嵌入式系统中; 从用途来讲,虚拟化技术被用于系统资源管理、容错、软硬件维护、增强系统安全、提升性能和节能等领域; 从趋势来讲,虚拟化技术正在广泛地与其他技术结合,并且得到更多硬件上的支持,其性能损失不断降低,部分固化到硬件中。 虚拟化技术的含义很广泛。将任何一种形式的资源抽象成另一种形式的技术都是虚拟化。在常用的操作系统中就存在某种意义上的“虚拟化技术”,例如虚拟内存空间和进程。如果把内存看作是一个设备,虚拟内存就是将物理内存虚拟成多个内存空间。虚拟内存的容量可以少于或多于物理内存。进程的概念实际是对于物理硬件执行环境的一个抽象,每一个进程都享有一个完整的硬件执行环境,并且与其他进程相隔离。 相对于进程级的虚拟化,虚拟机是另外一个层面的虚拟化,即系统级虚拟化。与虚拟单个进程的执行环境所不同,系统级虚拟化所抽象的环境是整个计算机,其抽象出的环境称为虚拟机,包括CPU、内存和I/O。在每个虚拟机中都可以运行一个操作系统,在一台计算机上可以虚拟出多个虚拟机。 本书尝试将当前主要的虚拟机和系统级虚拟化原理梳理出来,从一个系统设计者的角度来介绍。从基本的原理出发,本书结合主流的x86体系结构和硬件上对虚拟化的支持来介绍系统级虚拟化是如何实现的。除介绍虚拟机与系统级虚拟化原理之外,本书力图加入学术界对于虚拟化技术或利用虚拟化技术的最新研究、产业界的最新应用和将来可能的发展趋向。 1. 面向的读者 系统虚拟化是一门跨领域的学科,涉及操作系统、编译和体系结构等学科知识,并延展到资源管理、性能和系统安全等问题。 本书定位的读者包括计算机相关专业的高年级学生、研究生、研究开发人员及对虚拟机及虚拟化核心技术有兴趣的学者。 2. 全书结构 本书的结构安排尽可能使每章的内容自包含,尽力让对于某一章节感兴趣的读者不需检索其他章节的内容。 第1章从虚拟化技术的历史开始讲起,将现有的虚拟化技术作一个分类。 第2章介绍了一个缩略版的计算机系统,帮助读者温习这些知识。其内容主要包括硬件抽象层、操作系统的硬件管理机制以及进程等与后续章节有关的操作系统概念。对于这些内容已经了解的读者可以直接跳过这一章。 第3章介绍典型系统级虚拟化的技术以及VMM的组成和分类,最后还介绍一些目前市场比较流行的虚拟化产品。 第4章介绍基于软件的完全虚拟化技术。 第5章介绍硬件辅助的完全虚拟化技术。 第6章以Xen为例介绍类虚拟化技术的实现原理。 第7章介绍虚拟机的性能评测和调试技术。 第8章介绍系统虚拟化的应用实例。 第9章对虚拟机和系统虚拟化技术的发展作一个展望。 本书的第1章由复旦大学张逢、英特尔公司董耀祖、李少凡合作撰写; 第2章由复旦大学俞捷和英特尔公司张鑫合作撰写; 第3章由英特尔公司田坤和余珂撰写; 第4章由复旦大学张逢和黄弋简撰写; 第5章由英特尔公司余珂、李欣、蒋运宏和徐雪飞撰写; 第6章由复旦大学张逢、刘鹏程和黄弋简撰写; 第7章由英特尔公司董耀祖和杨晓伟撰写; 第8章由英特尔公司余珂、王庆和复旦大学吴曦、袁立威合作完成; 第9章由复旦大学刘鹏程、周亦勋、宋翔和英特尔公司董耀祖合作完成。英特尔公司李少凡和董耀祖对本书的每一版草稿均作了 细致的审阅工作,余珂、张鑫、王庆以及复旦大学的张逢对全书的统编 和修改作了大量的工作。 3. 如何阅读本书 对于虚拟机和系统虚拟化基本原理可以阅读第1、3、4、5、6章。 希望单独了解基于软件的完全虚拟化、硬件辅助的完全虚拟化或类虚拟化的读者可以单独阅读对应的章节。 希望了解系统虚拟化性能评测和优化技术的读者可以阅读第7章。 希望了解系统虚拟化技术背景、应用和发展的读者可以阅读第1、8、9章。 4. 感谢 在这里,首先要感谢英特尔公司副总裁王文汉博士、英特尔亚太研发有限公司总经理兼首席研发官梁兆柱博士、英特尔亚太研发有限公司 创新中心总监黄波博士和英特尔开源技术中心高级 经理冯晓焰先生,以及复旦大学软件学院院长 臧斌宇教授,他们是本书的发起人,并一直鼓励我们完成本书。 也要谢谢所有在英特尔开源技术中心工作的同事以及所有在复旦大学软件学院学习工作的同事和同学们,感谢他们不仅在工业界还在学术界推动虚拟化技术向前发展所做的努力,同时也感谢他们对本书草稿进行了一遍又一遍的阅读,并提出了许多定贵的修改意见。在此,特别感谢英特尔公司辛晓慧、崔得暄、韩伟东、贺青和单海涛等,他们为本书提供了大量技术资料。 还要特别感谢复旦大学陈海波、陈榕、杨子夜、王慧红和陈诚等,他们 为本书的编撰提供了许多帮助。 最后,感谢您在茫茫书海中选择了本书,并衷心祝愿您能从中受益。 虚拟化专题写作组 2008年9月
内容概要
本书深入而又系统地介绍了以软件完全虚拟化、硬件辅助虚拟化及类虚拟化为核心的各种系统虚拟化技术。全书共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 DMA2.6.3 PCI设备2.6.4 PCI Express2.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 VMware3.7.2 Microsoft3.7.3 Xen3.7.4 KVM3.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 VMCS5.2.3 VMX操作模式5.2.4 VM?Entry/VM?Exit5.2.5 VM?Exit5.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 虚拟PIC5.4.3 虚拟I/O APIC5.4.4 虚拟Local APIC5.4.5 中断采集5.4.6 中断注入5.4.7 案例分析5.5 内存虚拟化5.5.1 概述5.5.2 EPT5.5.3 VPID5.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 Xenoprof7.3.2 Xentrace7.3.3 Xentop7.4 性能优化方法7.4.1 降低客户机退出事件发生频率7.4.2 降低客户机退出事件处理时间7.4.3 降低处理器利用率7.5 性能分析案例7.5.1 案例分析: Xenoprof7.5.2 案例分析: Xentrace7.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 38.3 灾难恢复8.3.1 灾难恢复与虚拟化技术8.3.2 案例分析: VMware Infrastructure 38.4 改善系统可用性8.4.1 可用性的含义8.4.2 虚拟化技术如何提高可用性8.4.3 虚拟化技术带来的新契机8.4.4 案例分析: VMware HA和 LUCOS8.5 动态负载均衡8.5.1 动态负载均衡的含义8.5.2 案例分析: VMware DRS8.6 增强系统可维护性8.6.1 可维护性的含义8.6.2 案例分析: VMware VirtualCenter8.7 增强系统安全与可信任性8.7.1 安全与可信任性的含义8.7.2 虚拟化技术如何提高系统安全8.7.3 虚拟化技术如何提高可信任性8.7.4 案例分析: sHyper、VMware Infrastructure 3和CoVirt8.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?IOV9.5.3 其他索引参考文献
章节摘录
第3章 虚拟化概述 通过前面章节的介绍,了解到虚拟化技术的历史与背景知识,从这章开始,将进一步揭开VMM神秘的面纱,对其内部实现的基本原理作一番全面扫描。 传统的虚拟化技术一般是通过陷入再模拟的方式实现的,而这种方式依赖于处理器的支持。也就是说,处理器本身是否是一个可虚拟化的体系结构。所以本章首先从可虚拟化结构的定义人手,介绍VMM实现中的一些基本概念。显然,某些处理器在设计之初并没有充分考虑虚拟化的需求,而不具备一个完备的可虚拟化结构。如何填补这些结构上的缺陷,直接促使了本书提到的三种主要虚拟化方式的产生。 不论采取何种虚拟化方式,VMM对物理资源的虚拟可以归结为三个主要任务:处理器虚拟化、内存虚拟化和I/0虚拟化。本章前面部分就围绕这三个部分展开介绍虚拟化的基本原理,对于不同虚拟化方式的实现细节,本书后续章节会有详细的描述。本章后面部分着重介绍VMM的功能、组成和分类,并且对目前市场上流行的虚拟化产品及其特点做一些简单的介绍,使读者对现阶段典型的虚拟化产品有一些了解。 3.1 可虚拟化架构与不可虚拟化架构 一般来说,虚拟环境由三个部分组成:硬件、VMM和虚拟机,如图3-1所示。在没有虚拟化的情况下,操作系统直接运行在硬件之上,管理着底层物理硬件,这就构成了一个完整的计算机系统,也就是下文所谓的“物理机”。在虚拟环境里,虚拟机监控器VMM抢占了操作系统的位置,变成了真实物理硬件的管理者,同时向上层的软件呈现出虚拟的硬件平台,“欺骗”着上层的操作系统。而此时操作系统运行在虚拟平台之上,仍然管理着它认为是“物理硬件”的虚拟硬件,俨然不知道下面发生了什么,这就是图3-1中的“虚拟机”。
图书封面
图书标签Tags
无
评论、评分、阅读与下载