转型时代丛书:虚拟化技术原理与实现

转型时代丛书:虚拟化技术原理与实现
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2012-10
版次: 1
ISBN: 9787121185281
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 308页
字数: 330千字
正文语种: 简体中文
69人买过
  • 《转型时代丛书:虚拟化技术原理与实现》对云计算中关键技术之一的虚拟化技术进行了深入的分析,从x86计算机体系结构以及操作系统的工作原理出发,介绍了虚拟化技术原理以及业界主流虚拟化软件产品,并以Xen、KVM开源软件为例分析了虚拟化软件的架构及其实现方法,最后对虚拟化软件管理接口的工作原理以及实现方法进行了全面的梳理。    ·郭京·

    北京邮电大学硕士研究生,研究方向为云计算及虚拟化技术。

     

    ·侯光华·

    1995年获北方交通大学信号与信息处理专业硕士学位,拥有近15年的电信行业产品研发经验。2012年加入中国电信云计算分公司,任高级工程师,负责云计算产品规划和研发,同时担任宽带论坛(BBF)商业业务委员会委员,并发表论文、国际文稿若干,拥有多项专利。

    ·司伟·

    东北大学控制理论与控制工程专业硕士。2008年加入中国电信北京研究院,拥有多年数据通信产品研发经验,目前主要从事虚拟化安全、云计算系统架构、大数据等相关技术研究。

    ·顾茜·

    毕业于北京邮电大学,主要从事云计算技术研究,政务云行业数据研究工作,掌握云数据管理、云数据挖掘和SPECvirt性能测评等云相关知识体系。发表学术论文8篇,拥有第一发明人发明专利两项,参与发明专利4项。

     

    ·广小明·

    1993年毕业于上海交通大学。现任中国电信云计算分公司产品部总监,高级工程师,主要研究方向为服务器虚拟化和存储技术。

     

    ·胡杰·

    2004年毕业于电信科学技术研究院。现任中国电信北京研究院云平台及应用研究团队总监,高级工程师,主要研究方向为服务器虚拟化和存储技术。

     

    ·陈龙·

    2009年毕业于电子科技大学,毕业后加入中国电信北京研究院,负责中国电信定制网关中间件的开发和云主机业务的开发工作,并对嵌入式开发和和计算机体系结构方面有较深入的研究。 第一篇云计算与虚拟化技术
    第1章虚拟化技术基本原理
    1.1云计算与虚拟化技术
    1.2x86和非x86体系结构基础
    1.2.1x86的发展历程
    1.2.2x86-64
    1.2.3x86内存架构
    1.2.4x86-64的基本模式
    1.2.5x86-64的寄存器组
    1.2.6中断与异常
    1.2.7I/O架构
    1.2.8DMA
    1.2.9时钟
    1.3操作系统与虚拟化
    1.3.1操作系统
    1.3.2进程
    1.3.3系统虚拟化
    1.3.4系统虚拟化的发展历程
    1.3.5可虚拟化条件
    1.3.6虚拟化的原理与分类
    1.4VMM技术架构分类
    1.4.1Hypervisor模型
    1.4.2宿主(Hosted)模型
    1.4.3混合模型
    1.5本章小结

    第2章虚拟化实现技术架构
    2.1处理器虚拟化实现技术
    2.1.1IntelVT
    2.1.2AMDSVM
    2.1.3vCPU
    2.2中断虚拟化实现技术
    2.3内存虚拟化实现技术
    2.3.1影子页表
    2.3.2IntelEPT
    2.3.3AMDNPT
    2.4I/O设备虚拟化实现技术
    2.4.1IntelVT-d
    2.4.2DMA重映射
    2.4.3I/O页表
    2.4.4AMDIOMMU
    2.5网络虚拟化技术
    2.5.1虚拟通道
    2.6时间虚拟化技术
    2.6.1操作系统和客户机的时间概念
    2.6.2客户机时间概念的实现
    2.7主流虚拟化产品及其特点
    2.7.1Xen
    2.7.2VMware
    2.7.3Hyper-V
    2.7.4KVM
    2.8本章小结

    第二篇Xen虚拟化技术篇
    第3章Xen软件系统原理
    3.1Xen软件模块结构
    3.1.1XenHypervisor
    3.1.2特权虚拟域0(Dom0)
    3.1.3独立设备驱动域(IDD)
    3.1.4非特权虚拟域U(DomU)
    3.1.5硬件虚拟域(HVM)
    3.2Xen系统启动工作原理及流程
    3.2.1系统引导过程
    3.2.2Hypervisor启动与初始化过程
    3.2.3Dom0启动过程
    3.2.4DomU的启动
    3.3XenCPU虚拟化工作原理
    3.3.1x86体系虚拟化存在的问题
    3.3.2CPU虚拟化-半虚拟化(又称为泛虚拟化)
    3.3.3CPU虚拟化技术-硬件虚拟化技术支持的全虚拟化
    3.4Xen内存虚拟化工作原理
    3.4.1内存虚拟化-直接模式
    3.4.2内存虚拟化-影子模式
    3.5I/O虚拟化工作原理
    3.5.1半虚拟化I/O
    3.5.2全虚拟化I/O
    3.6Xen虚拟机(DomU)生命周期管理
    3.7本章小结

    第4章XenHypervisor技术实现
    4.1XenHypervisor关键技术概述
    4.2Hypercall
    4.2.1Hypercall的实现机制
    4.2.2自定义Hypercall的方法
    4.2.3应用程序使用Hypercall的方法
    4.3事件通道
    4.3.1事件通道的初始化
    4.3.2事件通道的绑定
    4.3.3发送事件通知
    4.3.4事件通知的处理
    4.4数据共享
    4.4.1授权表(Granttable)
    4.4.2XenStore和XenBus
    4.4.3分离设备驱动
    4.5本章小结

    第三篇KVM虚拟化技术篇
    第5章qemu-kvm虚拟化解决方案
    5.1概述
    5.2内核模块组成概述
    5.3KVM所提供的API
    5.4KVM内核模块重要的数据结构
    5.4.1KVM结构体
    5.4.2kvm_vcpu结构体
    5.4.3kvm_x86_ops结构体
    5.4.4KVMAPI中重要的结构体
    5.5KVM内核模块重要流程的分析
    5.5.1初始化流程
    5.5.2虚拟机的创建
    5.5.3vCPU的创建
    5.5.4vCPU的运行
    5.6qemu-kvm软件架构分析
    5.6.1QEMU的三种运行模式
    5.6.2libvirt和virt-manager
    5.6.3KVM的调试接口
    5.7本章小结

    第6章qemu-kvm原理与分析
    6.1QEMU软件架构
    6.1.1qemu-kvm的配置与编译
    6.1.2qemu-kvm的架构与配置
    6.2QEMU组件
    6.2.1模块模型
    6.2.2libkvm模块
    6.2.3virtio组件
    6.3基于KVM的QEMUPCEmulator
    6.3.1KVM中的Machine模块
    6.3.2基于KVM加速支持的CPU虚拟化模块
    6.3.3虚拟机的内存管理
    6.3.4I/O管理
    6.4本章小结

    第四篇虚拟化软件开放接口
    第7章XenAPI接口技术及实现
    7.1XenManagementAPI接口概述
    7.2XML-RPC工作原理
    7.2.1XML-RPC概述
    7.2.2XML-RPC请求
    7.2.3XML-RPC响应
    7.3XenManagemnetAPI的实现
    7.3.1C语言和Python语言的扩展与嵌入
    7.3.2XenManagementAPI类的定义
    7.3.3XenManagementAPI处理流程分析
    7.4本章小结

    第8章libvirt虚拟化控制中间件
    8.1libvirt概述
    8.1.1libvirt简介及使用样例
    8.1.2基于libvirt所开发的开源应用
    8.1.3安装与配置
    8.2libvirt架构与开发
    8.2.1libvirt架构说明
    8.2.2libvirtAPI控制接口
    8.2.3libvirt的主机域管理
    8.2.4libvirt的网络架构
    8.2.5libvirt的存储管理
    8.3基于libvirt的XML配置解析
    8.3.1XML配置格式简析
    8.3.2针对Xen的libvirt配置详解
    8.3.3针对KVM/QEMU的libvirt配置详解
    8.4本章小结
    参考文献
    图目录
    图1-1x86的发展历程
    图1-2线性地址空间构造
    图1-3分段机制流程分布
    图1-4段选择符的结构
    图1-5段寄存器的构造
    图1-6段描述符的结构
    图1-7通过段选择符索引段描述符表
    图1-8分页机制流程分布
    图1-9未启用PAE的4KB页——二级页表
    图1-10启用PAE的4KB页——三级页表
    图1-11四级页表结构
    图1-12APIC系统架构
    图1-13中断门的格式
    图1-14陷阱门的格式
    图1-15DMA传输示意图
    图1-16系统虚拟化结构
    图1-17系统虚拟化的发展历程
    图1-18虚拟环境的组成
    图1-19Hypervisor模型的VMM
    图1-20宿主模型的VMM
    图1-21混合模型的VMM
    图2-1IntelVT的组成
    图2-2VT-x的基本思想
    图2-3物理平台的中断架构
    图2-4虚拟机的中断架构
    图2-5内存虚拟化示意图
    图2-6影子页表的作用
    图2-7客户机操作系统页表与影子页表
    图2-8EPT原理图
    图2-9传统分页技术下的地址转换
    图2-10嵌套分页技术下的地址转换
    图2-11使用VT-d后访问内存架构
    图2-12BDF结构
    图2-13根条目的结构
    图2-14上下文条目的结构
    图2-15根条目表和上下文条目表构成的两级结构
    图2-16DMA重映射的4KB页面地址转换过程
    图2-17IOMMU技术示意图
    图2-18虚拟化网卡的基本原理
    图2-19SR-IOV原理图
    图2-20操作系统的时间概念
    图2-21客户机时间概念
    图2-22客户机时间概念2(客户机时间与实际时间统一)
  • 内容简介:
    《转型时代丛书:虚拟化技术原理与实现》对云计算中关键技术之一的虚拟化技术进行了深入的分析,从x86计算机体系结构以及操作系统的工作原理出发,介绍了虚拟化技术原理以及业界主流虚拟化软件产品,并以Xen、KVM开源软件为例分析了虚拟化软件的架构及其实现方法,最后对虚拟化软件管理接口的工作原理以及实现方法进行了全面的梳理。
  • 作者简介:
       ·郭京·

    北京邮电大学硕士研究生,研究方向为云计算及虚拟化技术。

     

    ·侯光华·

    1995年获北方交通大学信号与信息处理专业硕士学位,拥有近15年的电信行业产品研发经验。2012年加入中国电信云计算分公司,任高级工程师,负责云计算产品规划和研发,同时担任宽带论坛(BBF)商业业务委员会委员,并发表论文、国际文稿若干,拥有多项专利。

    ·司伟·

    东北大学控制理论与控制工程专业硕士。2008年加入中国电信北京研究院,拥有多年数据通信产品研发经验,目前主要从事虚拟化安全、云计算系统架构、大数据等相关技术研究。

    ·顾茜·

    毕业于北京邮电大学,主要从事云计算技术研究,政务云行业数据研究工作,掌握云数据管理、云数据挖掘和SPECvirt性能测评等云相关知识体系。发表学术论文8篇,拥有第一发明人发明专利两项,参与发明专利4项。

     

    ·广小明·

    1993年毕业于上海交通大学。现任中国电信云计算分公司产品部总监,高级工程师,主要研究方向为服务器虚拟化和存储技术。

     

    ·胡杰·

    2004年毕业于电信科学技术研究院。现任中国电信北京研究院云平台及应用研究团队总监,高级工程师,主要研究方向为服务器虚拟化和存储技术。

     

    ·陈龙·

    2009年毕业于电子科技大学,毕业后加入中国电信北京研究院,负责中国电信定制网关中间件的开发和云主机业务的开发工作,并对嵌入式开发和和计算机体系结构方面有较深入的研究。
  • 目录:
    第一篇云计算与虚拟化技术
    第1章虚拟化技术基本原理
    1.1云计算与虚拟化技术
    1.2x86和非x86体系结构基础
    1.2.1x86的发展历程
    1.2.2x86-64
    1.2.3x86内存架构
    1.2.4x86-64的基本模式
    1.2.5x86-64的寄存器组
    1.2.6中断与异常
    1.2.7I/O架构
    1.2.8DMA
    1.2.9时钟
    1.3操作系统与虚拟化
    1.3.1操作系统
    1.3.2进程
    1.3.3系统虚拟化
    1.3.4系统虚拟化的发展历程
    1.3.5可虚拟化条件
    1.3.6虚拟化的原理与分类
    1.4VMM技术架构分类
    1.4.1Hypervisor模型
    1.4.2宿主(Hosted)模型
    1.4.3混合模型
    1.5本章小结

    第2章虚拟化实现技术架构
    2.1处理器虚拟化实现技术
    2.1.1IntelVT
    2.1.2AMDSVM
    2.1.3vCPU
    2.2中断虚拟化实现技术
    2.3内存虚拟化实现技术
    2.3.1影子页表
    2.3.2IntelEPT
    2.3.3AMDNPT
    2.4I/O设备虚拟化实现技术
    2.4.1IntelVT-d
    2.4.2DMA重映射
    2.4.3I/O页表
    2.4.4AMDIOMMU
    2.5网络虚拟化技术
    2.5.1虚拟通道
    2.6时间虚拟化技术
    2.6.1操作系统和客户机的时间概念
    2.6.2客户机时间概念的实现
    2.7主流虚拟化产品及其特点
    2.7.1Xen
    2.7.2VMware
    2.7.3Hyper-V
    2.7.4KVM
    2.8本章小结

    第二篇Xen虚拟化技术篇
    第3章Xen软件系统原理
    3.1Xen软件模块结构
    3.1.1XenHypervisor
    3.1.2特权虚拟域0(Dom0)
    3.1.3独立设备驱动域(IDD)
    3.1.4非特权虚拟域U(DomU)
    3.1.5硬件虚拟域(HVM)
    3.2Xen系统启动工作原理及流程
    3.2.1系统引导过程
    3.2.2Hypervisor启动与初始化过程
    3.2.3Dom0启动过程
    3.2.4DomU的启动
    3.3XenCPU虚拟化工作原理
    3.3.1x86体系虚拟化存在的问题
    3.3.2CPU虚拟化-半虚拟化(又称为泛虚拟化)
    3.3.3CPU虚拟化技术-硬件虚拟化技术支持的全虚拟化
    3.4Xen内存虚拟化工作原理
    3.4.1内存虚拟化-直接模式
    3.4.2内存虚拟化-影子模式
    3.5I/O虚拟化工作原理
    3.5.1半虚拟化I/O
    3.5.2全虚拟化I/O
    3.6Xen虚拟机(DomU)生命周期管理
    3.7本章小结

    第4章XenHypervisor技术实现
    4.1XenHypervisor关键技术概述
    4.2Hypercall
    4.2.1Hypercall的实现机制
    4.2.2自定义Hypercall的方法
    4.2.3应用程序使用Hypercall的方法
    4.3事件通道
    4.3.1事件通道的初始化
    4.3.2事件通道的绑定
    4.3.3发送事件通知
    4.3.4事件通知的处理
    4.4数据共享
    4.4.1授权表(Granttable)
    4.4.2XenStore和XenBus
    4.4.3分离设备驱动
    4.5本章小结

    第三篇KVM虚拟化技术篇
    第5章qemu-kvm虚拟化解决方案
    5.1概述
    5.2内核模块组成概述
    5.3KVM所提供的API
    5.4KVM内核模块重要的数据结构
    5.4.1KVM结构体
    5.4.2kvm_vcpu结构体
    5.4.3kvm_x86_ops结构体
    5.4.4KVMAPI中重要的结构体
    5.5KVM内核模块重要流程的分析
    5.5.1初始化流程
    5.5.2虚拟机的创建
    5.5.3vCPU的创建
    5.5.4vCPU的运行
    5.6qemu-kvm软件架构分析
    5.6.1QEMU的三种运行模式
    5.6.2libvirt和virt-manager
    5.6.3KVM的调试接口
    5.7本章小结

    第6章qemu-kvm原理与分析
    6.1QEMU软件架构
    6.1.1qemu-kvm的配置与编译
    6.1.2qemu-kvm的架构与配置
    6.2QEMU组件
    6.2.1模块模型
    6.2.2libkvm模块
    6.2.3virtio组件
    6.3基于KVM的QEMUPCEmulator
    6.3.1KVM中的Machine模块
    6.3.2基于KVM加速支持的CPU虚拟化模块
    6.3.3虚拟机的内存管理
    6.3.4I/O管理
    6.4本章小结

    第四篇虚拟化软件开放接口
    第7章XenAPI接口技术及实现
    7.1XenManagementAPI接口概述
    7.2XML-RPC工作原理
    7.2.1XML-RPC概述
    7.2.2XML-RPC请求
    7.2.3XML-RPC响应
    7.3XenManagemnetAPI的实现
    7.3.1C语言和Python语言的扩展与嵌入
    7.3.2XenManagementAPI类的定义
    7.3.3XenManagementAPI处理流程分析
    7.4本章小结

    第8章libvirt虚拟化控制中间件
    8.1libvirt概述
    8.1.1libvirt简介及使用样例
    8.1.2基于libvirt所开发的开源应用
    8.1.3安装与配置
    8.2libvirt架构与开发
    8.2.1libvirt架构说明
    8.2.2libvirtAPI控制接口
    8.2.3libvirt的主机域管理
    8.2.4libvirt的网络架构
    8.2.5libvirt的存储管理
    8.3基于libvirt的XML配置解析
    8.3.1XML配置格式简析
    8.3.2针对Xen的libvirt配置详解
    8.3.3针对KVM/QEMU的libvirt配置详解
    8.4本章小结
    参考文献
    图目录
    图1-1x86的发展历程
    图1-2线性地址空间构造
    图1-3分段机制流程分布
    图1-4段选择符的结构
    图1-5段寄存器的构造
    图1-6段描述符的结构
    图1-7通过段选择符索引段描述符表
    图1-8分页机制流程分布
    图1-9未启用PAE的4KB页——二级页表
    图1-10启用PAE的4KB页——三级页表
    图1-11四级页表结构
    图1-12APIC系统架构
    图1-13中断门的格式
    图1-14陷阱门的格式
    图1-15DMA传输示意图
    图1-16系统虚拟化结构
    图1-17系统虚拟化的发展历程
    图1-18虚拟环境的组成
    图1-19Hypervisor模型的VMM
    图1-20宿主模型的VMM
    图1-21混合模型的VMM
    图2-1IntelVT的组成
    图2-2VT-x的基本思想
    图2-3物理平台的中断架构
    图2-4虚拟机的中断架构
    图2-5内存虚拟化示意图
    图2-6影子页表的作用
    图2-7客户机操作系统页表与影子页表
    图2-8EPT原理图
    图2-9传统分页技术下的地址转换
    图2-10嵌套分页技术下的地址转换
    图2-11使用VT-d后访问内存架构
    图2-12BDF结构
    图2-13根条目的结构
    图2-14上下文条目的结构
    图2-15根条目表和上下文条目表构成的两级结构
    图2-16DMA重映射的4KB页面地址转换过程
    图2-17IOMMU技术示意图
    图2-18虚拟化网卡的基本原理
    图2-19SR-IOV原理图
    图2-20操作系统的时间概念
    图2-21客户机时间概念
    图2-22客户机时间概念2(客户机时间与实际时间统一)
查看详情