嵌入式Hypervisor:架构、原理与应用

嵌入式Hypervisor:架构、原理与应用

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

深入剖析嵌入式Hypervisor的架构、设计与实现和高级应用。

内容简介

本书从解读虚拟化技术、Hypervisor产品入手,之后深入剖析嵌入式Hypervisor的架构、设计与实现、高级应用。

阅读本书,不仅能提升读者对嵌入式Hypervisor的认知,还能助力汽车、航空航天等高安全需求行业打造适用的产品,构建基于Hypervisor的软件生态。

作者简介

作者孙陈伟,某大厂编译器团队高级编译器开发工程师,曾任华为技术软件公司高级软件工程师,梅特勒托利多仪器(上海)有限公司嵌入式软件工程师以及华东计算技术研究所嵌入式系统软件工程师。有多年从事嵌入式系统开发工作的经验,对嵌入式系统软件(包括RTOS内核实现)、嵌入式Hypervisor内核设计等有着比较深入的理解。

章节目录

版权信息

前言

第1章 Hypervisor概述

1.1 虚拟化技术与实现

1.1.1 CPU虚拟化

1.1.2 I/O虚拟化

1.1.3 为什么需要虚拟化技术

1.1.4 虚拟化的实现

1.2 面向桌面和企业云的Hypervisor类型和产品

1.3 嵌入式Hypervisor

1.3.1 嵌入式Hypervisor概述

1.3.2 嵌入式Hypervisor的设计理念

1.4 主流的嵌入式Hypervisor产品

1.4.1 国外RTOS厂商的Hypervisor产品

1.4.2 开源嵌入式Hypervisor产品

1.4.3 国内RTOS厂商的Hypervisor产品

1.5 本章小结

第2章 基于分离内核的嵌入式Hypervisor

2.1 分区和分离内核

2.2 嵌入式Hypervisor的实现方式

2.2.1 基于分离内核的Hypervisor实现

2.2.2 基于RTOS扩展的Hypervisor实现

2.2.3 模块化开放软件解决方案

2.3 PRTOS Hypervisor

2.3.1 PRTOS Hypervisor的架构

2.3.2 PRTOS对处理器的功能需求

2.3.3 PRTOS Hypervisor的多核支持

2.3.4 PRTOS的安全性和可预测性

2.3.5 PRTOS系统的状态转换流程

2.4 本章小结

第3章 嵌入式Hypervisor组件设计

3.1 硬件依赖层

3.1.1 硬件资源虚拟化

3.1.2 处理器驱动

3.1.3 时钟驱动

3.1.4 定时器驱动

3.1.5 中断控制器驱动

3.1.6 页式内存管理驱动

3.1.7 控制台驱动

3.1.8 分区上下文切换

3.2 虚拟化服务层

3.2.1 虚拟中断服务

3.2.2 虚拟时钟和虚拟定时器服务

3.2.3 虚拟内存管理服务

3.2.4 虚拟设备管理服务

3.2.5 健康监控管理服务

3.2.6 虚拟处理器调度服务

3.2.7 分区管理服务

3.2.8 分区间通信服务

3.2.9 超级调用派发服务

3.2.10 跟踪管理服务

3.3 内部服务层

3.3.1 KLIBC

3.3.2 分区引导程序

3.3.3 队列操作数据结构

3.4 超级调用接口函数库

3.5 本章小结

第4章 中断隔离技术的设计与实现

4.1 中断模型

4.2 内核中断设计

4.3 分区中断设计

4.3.1 分区中断处理流程

4.3.2 分区陷阱表的初始化

4.3.3 分区中断描述符表的初始化

4.4 虚拟时钟和虚拟定时器

4.4.1 虚拟时钟

4.4.2 虚拟定时器

4.5 BAIL

4.5.1 BAIL概述

4.5.2 裸机应用示例

4.6 实验:虚拟时钟和虚拟定时器示例

4.6.1 分区0的裸机应用

4.6.2 分区1的裸机应用

4.7 本章小结

第5章 内存隔离技术的设计与实现

5.1 PRTOS内核的工作模式

5.1.1 X86处理器的特权模式

5.1.2 PRTOS内核和分区的实现方式

5.1.3 PRTOS内核空间的初始化

5.2 处理器的内存管理模型

5.2.1 PRTOS的虚拟地址空间分配

5.2.2 PRTOS分区内存的虚拟化

5.2.3 PRTOS分区内存的虚拟化实现

5.3 PRTOS内存管理的虚拟化

5.4 实验:分区内存隔离示例

5.4.1 分区0的裸机应用

5.4.2 分区1的裸机应用

5.4.3 分区2的裸机应用

5.5 本章小结

第6章 循环表调度器的设计与实现

6.1 PRTOS调度器概述

6.1.1 单处理器调度策略

6.1.2 多处理器调度策略

6.2 循环表调度器的数据结构与实现

6.2.1 内核线程数据结构

6.2.2 Per-CPU数据结构

6.2.3 调度器框架

6.2.4 循环表调度器的实现

6.2.5 内核线程上下文的切换

6.3 分区和虚拟处理器管理

6.4 实验:分区调度示例

6.4.1 单核多分区调度策略示例

6.4.2 多核多分区调度策略示例

6.5 本章小结

第7章 健康监控的设计与实现

7.1 健康监控的目的

7.2 健康监控的实现

7.2.1 健康监控事件

7.2.2 健康监控行为

7.2.3 健康监控配置

7.2.4 健康监控日志

7.3 分层健康监控的实现

7.3.1 Hypervisor级健康监控的实现

7.3.2 分区级健康监控的实现

7.4 实验:健康监控示例

7.4.1 示例描述

7.4.2 XML配置文件

7.4.3 分区0和分区1的裸机应用

7.4.4 分区2的裸机应用

7.5 本章小结

第8章 分区间通信技术

8.1 采样端口通信

8.1.1 采样端口的定义

8.1.2 采样端口的实现

8.2 排队端口通信

8.2.1 排队端口的定义

8.2.2 排队端口的实现

8.3 共享内存通信

8.4 实验:分区间通信示例

8.4.1 XML配置文件

8.4.2 分区的裸机应用

8.5 本章小结

第9章 内核资源管理模型设计

9.1 PRTOS内核的资源管理模型

9.1.1 虚拟控制台

9.1.2 对象管理框架

9.2 PRTOS功能组件注册

9.2.1 通信端口组件

9.2.2 控制台组件

9.2.3 健康监控组件

9.2.4 内存操作组件

9.2.5 状态查询组件

9.2.6 跟踪管理组件

9.3 控制台设备管理

9.3.1 UART输出设备

9.3.2 VGA输出设备

9.3.3 内存块输出设备

9.4 实验:内核设备驱动示例

9.4.1 跟踪管理示例

9.4.2 虚拟控制台设备管理示例

9.5 本章小结

第10章 系统初始化过程

10.1 Hypervisor内核的初始化过程

10.1.1 PRTOS启动序列

10.1.2 PRTOS初始化流程

10.2 PRTOS的初始化实现

10.2.1 start()函数的实现

10.2.2 start_prtos()函数的实现

10.2.3 setup_kernel()函数的实现

10.3 PRTOS分区的初始化过程

10.3.1 PBL的职责

10.3.2 分区引导器的实现

10.3.3 单vCPU分区的初始化

10.3.4 多vCPU分区的初始化

10.4 实验:双vCPU分区的初始化过程

10.5 本章小结

第11章 内核服务的设计原则

11.1 超级调用服务

11.1.1 系统服务

11.1.2 分区服务

11.1.3 时钟和定时器服务

11.1.4 调度服务

11.1.5 分区间通信服务

11.1.6 健康监控服务

11.1.7 追踪服务

11.1.8 中断管理服务

11.1.9 X86处理器专用服务

11.1.10 分区控制表服务

11.2 PRTOS的设计原则

11.2.1 系统确定性设计原则

11.2.2 静态资源配置原则

11.2.3 机密性设计原则

11.2.4 高速缓存处理原则

11.2.5 PRTOS开发流程原则

11.3 本章小结

第12章 PRTOS的配套工具

12.1 配置文件解析工具

12.1.1 功能选项说明

12.1.2 XSD语义文件

12.2 PEF格式转换工具

12.3 容器构建工具

12.4 自引导映像构建工具

12.5 配置信息提取工具

12.6 完整性检查工具

12.7 预留资源提取工具

12.8 结构体成员域偏移量计算工具

12.9 本章小结

第13章 分区Guest RTOS的虚拟化实现

13.1 μC/OS-Ⅱ概述

13.1.1 系统初始化模块

13.1.2 任务调度模块

13.1.3 互斥与同步机制模块

13.1.4 中断处理模块

13.2 μC/OS-Ⅱ的虚拟化过程

13.2.1 任务栈帧设计

13.2.2 初始任务上下文的恢复

13.2.3 任务上下文切换

13.2.4 中断上下文切换

13.2.5 μC/OS-Ⅱ分区入口函数的实现

13.2.6 μC/OS-Ⅱ分区的启动过程

13.3 针对传统RTOS的分区虚拟化总结

13.4 实验:分区μC/OS-Ⅱ示例

13.4.1 示例描述

13.4.2 在分区0和分区1上运行μC/OS-Ⅱ系统

13.5 本章小结

第14章 分区Guest GPOS的虚拟化实现

14.1 分区Linux内核的虚拟化

14.2 Linux虚拟化过程中的问题

14.2.1 分区Linux内核的I/O空间和设备管理

14.2.2 分区Linux的虚拟中断管理

14.2.3 分区Linux内核映像地址的重定位

14.2.4 分区Linux的启动过程

14.2.5 I/O空间访问管理

14.3 分区Linux内核的设备管理

14.3.1 分区Linux的设备分配

14.3.2 分区Linux的设备虚拟化

14.4 Linux分区的映像格式

14.5 Guest Linux SDK概述

14.5.1 生成Linux SDK

14.5.2 Linux SDK的安装过程

14.5.3 Linux SDK组件

14.5.4 虚拟化Linux的构建过程

14.6 本章小结

第15章 PRTOS Hypervisor开源社区环境

15.1 PRTOS Hypervisor的硬件支持

15.1.1 X86指令集

15.1.2 ARMv8指令集

15.1.3 RISC-V指令集

15.2 PRTOS的开发模式

15.3 PRTOS Hypervisor的愿景

15.4 本章小结

嵌入式Hypervisor:架构、原理与应用是2024年由机械工业出版社出版,作者孙陈伟。

得书感谢您对《嵌入式Hypervisor:架构、原理与应用》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
区块链原理与技术应用 电子书
本书详细介绍了区块链的概念与技术体系,涉及其本质、作用、技术背景、原理、关键知识点和应用场景等,在内容写作上由整体到局部,层次分明,难度由浅入深,理论联系实际,力图使读者能快速、全面地了解区块链相关技术。
OpenStack云计算基础架构平台技术与应用 电子书
本书较为全面地介绍了开源的OpenStack云计算架构及其组件,并借助开源脚本搭建形成一个完整的云平台。全书共分为认识OpenStack、环境设计和系统准备、认证服务、基础控制服务、网络服务、虚拟化服务、存储服务、控制服务和平台构建脚本解读等9个项目。本书可以作为云计算技术与应用专业、计算机网络技术专业及其他计算机相关专业的云计算课程教材,也可以作为云计算相关的培训班教材,还可供云计算相关从业人员
ERP原理与应用(微课版) 电子书
本书从ERP的概念和理论出发,对ERP所蕴含的管理思想和计划层次进行了剖析。
分布式应用系统架构设计与实践 电子书
本书以理论与实践相结合的方式,对分布式应用系统的架构设计进行系统、全面的阐述。
软件定义网络核心原理与应用实践 电子书
本书分为核心原理和应用实践两大部分,对软件定义网络(SDN)技术进行了全面剖析和深入解读。第一部分首先阐述了SDN的设计思想与体系架构,详细分析了软件定义网络的控制转发分离和可编程性两个突出属性,其次介绍了以OpenFlow为代表的SDN南向接口协议,以及北向和东向接U协议,接下来根据SDN的层次化架构,依次介绍了SDN数据平面、控制平面以及SDN应用案例,最后梳理总结J,SDN标准化进展以及学术