出版时间:2009-5 出版社:华中科技大学出版社 作者:石磊,邹德清,金海 页数:418 字数:568000
Tag标签:无
前言
当前,计算系统的资源规模不断扩展,处理能力快速增强,资源种类日益丰富,应用需求也灵活多样。虚拟化技术能够动态组织多种计算资源,实现透明化的可伸缩计算系统架构,从而可以灵活构建满足多种应用需求的计算环境,提高计算资源的使用效率。 计算机世界里,“虚拟化”无处不在。从最早的内存虚拟化到存储虚拟化,以及近年来大行其道的资源虚拟化和网格计算。特别是多核/众核技术和系统级虚拟化技术的出现,使得具体的硬件体系结构和软件系统之间的紧密依赖关系得以有效隔离。在各种不同的虚拟化解决方案中,虚拟化软件Xen无疑是佼佼者。Xen是剑桥大学教授Ian Pratt等开发的一个开源的虚拟机项目,其性能接近单机操作系统的性能。由于其具有优越的性能和开源性,所以被业界广泛看好,被认为是未来最有前途的虚拟化解决方案之一。 本书从Xen的体系结构出发,结合Xen 3.1.0源码,对Xen的半虚拟化技术进行了深入细致的分析和研究。根据Xen的技术特点,着重介绍Xen提供的用以控制和管理虚拟机的内核接口,以及相关的原理和操作应用,并详细讨论了Xen的基本机制和策略,核心子系统及安全应用模块。对。Xen相关的核心技术和功能进行了较为细致和详尽的分析和说明,旨在使读者能够在尽量短的时间内对Xen的内部工作原理和机制获得较为全面的理解,为进一步研究Xen打下较为坚实的基础,希望能为国内虚拟化技术的研发做些铺路的工作。同时,作为第一本以“Xen源码分析”为主旨的书,能够为未来同类型的著作起到抛砖引玉的作用。 本书和通常的源码分析的书有所不同,在清晰介绍原理的基础上,辅以源码分析。由于Xen本身是一个复杂系统,因此,本书仅摘取其中的关键代码进行分析,并给出注释,力图达到纲举目张的效果。同时,单独开辟了一章专门介绍全虚拟化技术的基本原理,并阐述了必要的数据结构和接口函数。在章节安排上,本书先总体上介绍虚拟化技术和Xen体系架构,接着介绍Xen的基本机制和策略,以及三个关键子系统,然后针对Xen的内部安全模块进行分析,最后针对Xen全虚拟化技术进行介绍。
内容概要
目前,无论是学术界还是工业界,虚拟化技术的研究和应用都是热点。在不断涌现出的虚拟化解决方案中,开源解决方案Xen以其独特的虚拟化设计模式,以及接近单机操作系统的性能被学术界和工业界广泛看好,被认为是未来最有前途的虚拟化解决方案之一。 本书以Xen 3.1.0源码为基础,以通过源码剖析原理的方式深入细致地分析了Xen的半虚拟化技术;着重介绍了在x86平台上Xen半虚拟化技术提供的用以控制和管理虚拟机的内核接口,以及相关的原理和操作应用,包括半虚拟化技术的基本机制和策略,Xen的子系统及与安全相关的应用模块。 (1) 基本机制和策略,即Xen半虚拟化技术的3大核心机制:与虚拟机启动和管理相关的信息页机制,与虚拟机特权级控制和通信相关的超级调用和事件通道机制,以及与虚拟机数据共享和传输相关的授权表机制。 (2) 虚拟化子系统,即CPU虚拟化子系统、内存虚拟化子系统及I/O设备虚拟化子系统。CPU虚拟化子系统主要包括虚拟CPU原理和结构、新架构下中断和异常处理机制的变化、时间和计时器相关操作,以及虚拟CPU的调度原理等;内存虚拟化子系统主要包括分页分段机制、内存分配和地址转换等;I/O设备虚拟化子系统主要包括分离驱动模型(前后端设备模型)、虚拟块设备和网络设备的基本原理机及相关操作等。 (3)安全相关模块,包括两个模块:访问控制模块(ACM)和虚拟化可信平台模块(vTPM)。详细介绍各个模块的基本原理及相应的实现和使用方法。 (4)Xen前沿工作:对Xen全虚拟化技术的原理进行介绍,通过硬件虚拟化技术实现对Xen全虚拟化的支持,并以Intel VT技术为重点介绍硬件虚拟化的知识。
作者简介
石磊硕士,2005年毕业于武汉大学国际软件学院,获得软件工程学士学位以及市场营销学士学位。2007年9月~2009年5月,在华中科技大学“服务计算技术与系统”教育部重点实验室暨“集群与网格计算”湖北省重点实验室从事研究工作,主攻虚拟化技术及虚拟化安全技术,2009年8月赴美
书籍目录
第1部分 Xen和虚拟化技术 第1章 概述 1.1 虚拟化技术 1.1.1 虚拟化技术的发展历史 1.1.2 虚拟化技术的实现层次及分类 1.1.3 虚拟机与虚拟机监视器 1.1.4 x86的虚拟化技术 1.2 Xen 虚拟机系统 1.2.1 x86架构的虚拟化 1.2.2 Xen的设计理念 1.2.3 Xen的发展历史 1.3 本章小结 第2章 Xen体系结构 2.1 Xen Hypervisor 2.1.1 基本概念 2.1.2 虚拟域(Domain) 2.1.3 控制面板 2.2 CPU虚拟化 2.2.1 半虚拟化 2.2.2 硬件虚拟化 2.3 内存虚拟化 2.4 I/O虚拟化 2.5 本章小结 第2部分 Xen基本机制和策略 第3章 Xen信息页 3.1 启动信息页 3.1.1 启动信息页的数据结构 3.1.2 结构体start-info成员字段说明 3.2 共享信息页 3.2.1 共享信息页的数据结构 3.2.2 结构体shared_info成员字段说明 3.3 本章小结 第4章 超级调用和事件通道 4.1 系统调用 4.1.1 系统调用的过程 4.1.2 系统调用的实现 4.2 超级调用 4.2.1 超级调用的实现方式 4.2.2 超级调用页 4.2.3 申请超级调用 4.3 事件通道 4.3.1 基本概念 4.3.2 事件通道的初始化 4.3.3 事件通道的操作 4.3.4 事件通道的使用 4.4 本章小结 第5章 授权表 5.1 共享内存 5.1.1 Linux中的共享内存 5.1.2 Xen中的共享内存 5.2 授权表 5.2.1 授权项 5.2.2 授权表的操作 5.3 页面映射 5.3.1 页面映射操作 5.3.2 撤销映射操作 5.4 页面传递 5.4.1 页面传递操作 5.4.2 内存拷贝操作 5.5 授权表的使用 5.5.1 授权引用操作 5.5.2 设备驱动gntdev 5.6 本章小结 第3部分 Xen子系统 第6章 CPU虚拟化 6.1 中断和异常的处理 6.1.1 基本知识 6.1.2 物理中断处理 6.1.3 虚拟中断处理 6.1.4 异常处理 6.2 时间和计时器 6.2.1 时间 6.2.2 计时器 6.2.3 时间和计时器操作 6.3 VCPU设置 6.3.1 VCPU数据结构 6.3.2 VCPU初始化 6.3.3 VCPU操作 6.4 VCPU调度 6.4.1 调度器 6.4.2 调度处理 6.5 本章小结 第7章 内存虚拟化 7.1 内存寻址 7.1.1 80386的分段机制 7.1.2 Xen的分段机制 7.1.3 80386的分页机制 7.1.4 Xen的分页机制 7.2 内存分配 7.2.1 Xen的内存分配 7.2.2 Guest OS的物理内存 7.2.3 物理内存管理 7.3 虚拟地址转换 7.3.1 直接模式 7.3.2 页表更新 7.3.3 可写页表 7.4 本章小结 第8章 I/O设备虚拟化 8.1 设备虚拟化的三种模型 8.1.1 仿真设备模型 8.1.2 直接分配设备模型 8.1.3 虚拟设备模型 8.2 虚拟设备模型及其相关机制 8.3 隔离驱动域 8.4 设备I/O环 8.4.1 设备I/O环的基本原理 8.4.2 设备I/O环的实现方式 8.4.3 设备I/O环的实例——块设备的I/O环 8.5 Xenstore和Xenbus 8.5.1 Xenstore简介 8.5.2 Xenstore的实现原理 8.5.3 Xenbus简介 8.5.4 Xenbus的实现原理 8.6 虚拟块设备 8.6.1 虚拟块设备I/O环 8.6.2 虚拟块设备的初始化 8.7 虚拟网络设备 8.7.1 虚拟网络设备简介 8.7.2 虚拟网络设备的实现原理 8.7.3 虚拟网络设备的数据传输流程 8.8 本章小结 第4部分 Xen安全机制 第9章 Xen访问控制模块 9.1 ACM模块总体介绍 9.1.1 ACM模块架构 9.1.2 ACM模块的常用功能 9.1.3 ACM模块的编译 9.2 策略文档的编译与装载 9.2.1 策略文档的格式 9.2.2 策略文档的编译 9.2.3 策略文档的装载 9.3 ACM模块分析 9.3.1 ACM模块的Hooks函数及其接口函数 9.3.2 中国墙策略实现分析 9.3.3 STE策略实现分析 9.4 ACM模块实际操作示例 9.5 本章小结 第10章 可信平台模块虚拟化 10.1 可信计算 10.1.1 可信的定义 10.1.2 可信平台 10.1.3 可信平台模块 10.2 虚拟化可信平台模块(vTPM) 10.2.1 vTPM的设计 10.2.2 vTPM的实现 10.2.3 vTPM的使用 10.3 本章小结 第5部分 Xen展望 第11章 硬件虚拟化 11.1 特权级环 11.2 VMX和VMCS 11.2.1 VMX 11.2.2 VMCS 11.3 HVM中的其他机制 11.4 本章小结 附录 名词解释 参考文献
章节摘录
第1部分 Xen和虚拟化技术 第2章 Xen体系结构 2.1.1 基本概念 在Xen系统中,Xen向Domain提供了基本的虚拟硬件(VCPU、虚拟MMU)和基本机制(事件通道);同时向Domo提供了虚拟域管理API(控制接口),使Dom0能够利用运行在其用户空间的管理工具(控制软件)控制和管理其他Domain。对于Domain对设备的访问,Xen提供了相应的硬件接口(安全硬件接口),以保证设备访问的安全进行。 1.控制接口 Xen提供的控制接口仅能被Dom0使用,用以帮助Dom0控制和管理其他的Domain。通过控制接口,Dom0不仅能够创建、销毁Domain,控制Domain的运行、暂停、恢复以及迁移,还能够实现对其他Domain的CPU调度、内存分配以及设备访问,如物理磁盘存储和网络接口等。 2.安全硬件接口 作为Xen的核心组件之一,安全硬件接口(Safe Hardware Interface)需要完成除虚拟CPU、MMU之外所有的硬件虚拟工作,包括DMA/IO、驱动程序、虚拟的PCI地址空间配置、虚拟硬件中断等。安全硬件接口只能被拥有原生设备驱动的Domain(Domo、IDD)使用,向其他Domain仅提供虚拟硬件服务。这些工作是通过建立在拥有原生设备驱动的Domain和其他Domain之间的设备通道(Device Channel)来完成的。设备通道并不是Xen系统中存在的独立概念,而是借由事件通道和共享内存来实现的。其他Domain中的Guest OS通过设备通道向拥有原生设备驱动的Domain提交异步I/O请求,再由拥有原生设备驱动的Domain通过安全硬件接口完成I/O请求。
编辑推荐
《Xen虚拟化技术》特色内容 (1)综述虚拟化技术的发展历程实现层次及分类,详细分析x86架构下的虚拟化问题; (2)分析Xen体系结构的设计理念,包括虚拟机管理器和不同类型的虚拟域; (3)分析Xen采用的两种重要的共享信息页结构,包括启动信息页和共享信息页; (4)分析从虚拟机到Xen的同步调用机制超级调用,以及从Xen到虚拟机的异步调用机制事件通道; (5)分析Xen授权表机制,以及授权表在系统中的应用I/O环; (6)分析与CPLJ虚拟化相关的机制和原理,包括在Xerl系统中中断和异常处理机制的变化、Xen和GuestOS的时间和计时器,以及相关操作、VCPU的设置和调度等: (7)分析与内存虚拟化相关的机制和原理,包括Xen的分段、分页机制,以及对Guest OS内存空间的分配和管理等: (8)分析与I/O设备虚拟化相关的机制和原理,包括设备虚拟模型、前后端设备分离驱动模型,以及两种应用虚拟块设备和虚拟网络设备: (9)分析Xen相关安全机制,主要包括访问控制模块ACM及可信平台虚拟化模块vTPM; (10)分析Xen硬件辅助虚拟化技术的基本原理,主要包括VMX指令集和VMCS数据结构。
图书封面
图书标签Tags
无
评论、评分、阅读与下载