深入浅出系统虚拟化:原理与实践(华为智能计算技术丛书)

深入浅出系统虚拟化:原理与实践(华为智能计算技术丛书)

编辑推荐

从源码到实验,剖析主流系统虚拟化技术,助力计算产业。

内容简介

本书是一本论述系统虚拟化原理与实践的专业图书。全书分为6章,第1章概述系统虚拟化的基本概念、发展历史、趋势展望、主要功能和分类,以及目前典型的虚拟化系统,并介绍openEuler操作系统的虚拟化技术。第2~4章分别介绍系统虚拟化的三大组成部分: CPU虚拟化、内存虚拟化和I/O虚拟化的相关原理,并配备相应实验便于读者理解。第5章介绍基于ARMv8的鲲鹏虚拟化架构,并概述其CPU、中断、内存、I/O和时钟虚拟化的基本原理。第6章结合代码讲解轻量级虚拟化平台StratoVirt的基本原理和技术特点,读者可以跟随本书从零开始打造一个具备基本功能的轻量级虚拟化平台。

为便于读者高效学习、深入掌握系统虚拟化的基本原理,本书的源代码及安装运行说明均保存于GiantVM和 StratoVirt开源社区。后续将通过开源社区进行代码更新和线上交流。

本书可作为相关领域工程技术人员的参考书,也可作为高年级本科生和研究生的学习用书,还可作为对虚拟化技术感兴趣的爱好者的自学用书。


作者简介

戚正伟,博士,上海交通大学电信学院/软件学院教授/博导,CCF杰出会员, CCF系统软件和理论计算机专委会委员,微软亚洲研究院访问教师、美国CMU大学访问学者(美方教授为Edmund Clarke,计算机图灵奖得主) 。2011年入选教育部新世纪优秀人才计划,获得上海市技术发明一等奖、教育部科技进步一等奖、教育部技术发明一等奖、国家科技进步奖二等奖各一项,出版译著《UNIX环境高级编程(第2版)》,为2008、2009年度畅销榜TOP50(China-Pub)。出版专著《BlewBluePill:深入理解硬件虚拟机》((获得IBM出版计划资助)和译著《UNIX高级环境编程(第3版)》(京东计算机与互联网图书2014/2015年度销售榜Top 100)。

章节目录

版权信息

内容简介

作者简介

华为技术有限公司

序一 FOREWORD

序二 FOREWORD

前言 PREFACE

第1章 系统虚拟化概述

1.1 系统虚拟化基本概念

1.2 系统虚拟化的发展历史和趋势展望

1.2.1 发展历史

1.2.2 趋势展望

1.3 系统虚拟化的主要功能和分类

1.3.1 虚拟化基本功能

1.3.2 虚拟化分类

1.3.3 系统虚拟化实现方式

1.4 典型虚拟化系统

1.4.1 典型虚拟化系统简介

1.4.2 openEuler的虚拟化技术

本章小结

第2章 CPU虚拟化

2.1 CPU虚拟化概述

2.1.1 敏感非特权指令的处理

2.1.2 虚拟机上下文切换

2.1.3 中断虚拟化

2.2 Intel VT-x硬件辅助虚拟化概述

2.2.1 VMX操作模式

2.2.2 VMCS

2.2.3 PIC&APIC

2.2.4 Intel VT-x中断虚拟化

2.3 QEMU/KVM CPU虚拟化实现

2.3.1 KVM模块初始化

2.3.2 虚拟机创建

2.3.3 vCPU创建

2.3.4 vCPU运行

2.3.5 实验:CPU虚拟化实例

2.4 QEMU/KVM中断虚拟化实现

2.4.1 PIC & IOAPIC模拟

2.4.2 PCI设备中断

2.4.3 QEMU/KVM中断路由

2.4.4 虚拟中断注入

2.4.5 实验:e1000网卡中断虚拟化

2.5 GiantVM CPU虚拟化

2.5.1 分布式vCPU

2.5.2 跨节点中断转发

本章小结

第3章 内存虚拟化

3.1 内存虚拟化概述

3.2 内存虚拟化的实现

3.2.1 虚拟内存的实现:页表

3.2.2 内存虚拟化的软件实现:影子页表

3.2.3 内存虚拟化的硬件支持:扩展页表

3.2.4 扩展页表与影子页表的结合:敏捷页表

3.2.5 内存的半虚拟化:直接页表映射与内存气球

3.3 QEMU/KVM内存虚拟化源码

3.3.1 QEMU内存数据结构

3.3.2 实验:打印MemoryRegion树

3.3.3 KVM内存数据结构

3.3.4 实验:将GVA翻译为HPA

3.4 GiantVM内存虚拟化

3.4.1 分布式共享内存

3.4.2 GiantVM中的DSM架构

3.4.3 GiantVM中DSM的实现

本章小结

第4章 I/O虚拟化

4.1 I/O虚拟化概述

4.1.1 I/O过程

4.1.2 I/O虚拟化的基本任务

4.1.3 软件实现的I/O虚拟化

4.1.4 硬件辅助的I/O虚拟化

4.2 I/O虚拟化的实现方式

4.2.1 PCI设备简介

4.2.2 设备模拟

4.2.3 I/O半虚拟化

4.2.4 设备直通访问

4.2.5 VFIO

4.2.6 SR-IOV

4.3 QEMU/KVM虚拟设备的实现

4.3.1 QEMU对象模型

4.3.2 主板芯片组与总线模拟

4.3.3 QEMU/KVM设备访问的模拟

4.3.4 实验:为edu设备添加设备驱动

4.4 GiantVM中的I/O处理

4.4.1 PIO转发

4.4.2 MMIO转发

4.4.3 DMA的处理

本章小结

第5章 鲲鹏虚拟化

5.1 鲲鹏虚拟化框架

5.1.1 鲲鹏虚拟化简介

5.1.2 EL2虚拟化框架

5.2 鲲鹏CPU虚拟化

5.2.1 CPU虚拟化

5.2.2 EL2异常级

5.2.3 VHE

5.3 鲲鹏中断虚拟化

5.3.1 GICv1

5.3.2 GICv2

5.3.3 GICv3/GICv4

5.3.4 GICv3/GICv4中断虚拟化

5.4 鲲鹏内存虚拟化

5.4.1 VMSAv8-64架构概述

5.4.2 地址空间与页表

5.4.3 内存属性、访问权限与缺页异常

5.4.4 MPAM

5.5 鲲鹏I/O虚拟化

5.5.1 MMIO的模拟

5.5.2 DMA重映射——SMMUv3

5.5.3 SMMUv3中的缓存机制

5.6 鲲鹏时钟虚拟化

本章小结

第6章 轻量级虚拟化平台StratoVirt

6.1 StratoVirt概述

6.2 发展背景

6.3 StratoVirt架构设计

6.3.1 CPU子系统

6.3.2 内存子系统

6.3.3 I/O子系统

6.4 从零开始构建StratoVirt

6.4.1 总体介绍

6.4.2 KVM模型

6.4.3 内存模型

6.4.4 CPU模型

6.4.5 BootLoader实现

6.4.6 串口实现

6.4.7 Epoll实现

6.4.8 鲲鹏平台支持

本章小结

附录A 缩略语

深入浅出系统虚拟化:原理与实践(华为智能计算技术丛书)是2021年由清华大学出版社出版,作者戚正伟,管海兵。

得书感谢您对《深入浅出系统虚拟化:原理与实践(华为智能计算技术丛书)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
VMwarevSphere7.0虚拟化架构实战指南 电子书

本书针对VMwarevSphere7.0虚拟化架构在生产环境中的实际需求,分8章详细介绍了在生产环境中如何部署VMwarevSphere7.0。
深入浅出Hyperscan:高性能正则表达式算法原理与设计 电子书
游戏引擎原理与实践 卷1:基础框架 电子书

着重讲解游戏引擎的基础知识和工作原理,并结合配套的游戏引擎示例和详尽的代码,介绍游戏引擎开发的技术细节。
新一代SDN:VMwareNSX网络原理与实践 电子书

本书适合网络和虚拟化设计架构师、项目实施工程师和IT管理人员阅读。
数据库系统——原理、设计与编程(MOOC版) 电子书

数据库原理与技术应用:关系模型、SQL、设计、管理及NoSQL等。
分布式系统设计实践 电子书

全面梳理分布式技术,详解原理及应用,研究大型系统案例。
AI+医疗健康:智能化医疗健康的应用与未来 电子书

本书从政策标准、技术创新、商业模式、人才资源、法规伦理等角度对中国人工智能+医疗健康的发展进行了展望。