2.2 云虚拟化和嵌入式虚拟化对比 / 22
2.3 嵌入式虚拟化的场景 / 23
2.4 嵌入式虚拟化技术的特征 / 23
2.5 本章小结 / 25
第3章 开源虚拟化技术—KVM / 26
3.1 KVM的历史 / 26
3.2 KVM的原理 / 27
3.2.1 KVM的架构 / 27
3.2.2 KVM API及示例 / 28
3.3 KVM虚拟化实现 / 32
3.3.1 KVM的初始化 / 33
3.3.2 KVM虚拟机的创建 / 35
3.3.3 CPU虚拟化 / 36
3.3.4 内存虚拟化 / 43
3.3.5 中断虚拟化 / 56
3.4 设备虚拟化 / 61
3.4.1 仿真设备 / 61
3.4.2 半虚拟化设备 / 62
3.4.3 直通设备 / 63
3.4.4 KVM设备虚拟化实现 / 64
3.5 本章小结 / 68
第4章 嵌入式虚拟化技术—
ACRN实现 / 69
4.1 ACRN简介 / 69
4.1.1 ACRN的由来 / 69
4.1.2 ACRN的关键技术特点 / 70
4.1.3 许可证和社区 / 71
4.2 ACRN应用场景 / 71
4.3 ACRN架构设计 / 73
4.3.1 ACRN 1.0整体架构 / 73
4.3.2 ACRN 2.0/3.0 整体架构 / 74
4.3.3 ACRN的关键组成 / 75
4.3.4 ACRN Hypervisor的架构 / 76
4.4 CPU虚拟化与实现 / 77
4.4.1 处理器管理 / 79
4.4.2 vCPU 生命周期 / 80
4.4.3 vCPU调度 / 80
4.4.4 VMX 初始化 / 85
4.4.5 CPUID 虚拟化 / 85
4.4.6 MSR虚拟化 / 86
4.4.7 CR虚拟化 / 86
4.4.8 IO/MMIO模拟 / 86
4.4.9 指令模拟 / 87
4.4.10 TSC 模拟 / 88
4.4.11 ART虚拟化 / 88
4.4.12 XSAVE虚拟化 / 89
4.5 内存虚拟化及实现 / 90
4.5.1 概述 / 90
4.5.2 Hypervisor物理内存管理 / 91
4.5.3 Hypervisor内存虚拟化 / 93
4.5.4 与EPT相关的VM Exit / 96
4.5.5 服务虚拟机内存管理 / 96
4.5.6 可信 / 97
4.6 中断虚拟化及实现 / 98
4.6.1 概述 / 98
4.6.2 物理中断 / 100
4.6.3 虚拟中断 / 105
4.6.4 中断重映射 / 107
4.7 I/O虚拟化及实现 / 110
4.7.1 I/O访问捕获路径 / 111
4.7.2 Hypervisor中的I/O模拟 / 112
4.7.3 I/O请求 / 112
4.8 本章小结 / 115
第5章 嵌入式虚拟化技术—
ACRN设备虚拟化 / 116
5.1 ACRN设备模型介绍 / 116
5.2 ACRN全虚拟化设备 / 119
5.2.1 PS/2控制器 / 119
5.2.2 UART串口 / 121
5.2.3 USB设备 / 122
5.2.4 AHCI控制器 / 125
5.2.5 系统时钟 / 126
5.2.6 看门狗设备 / 131
5.2.7 Ivshmem / 132
5.2.8 显卡设备 / 134
5.3 ACRN的virtio设备 / 135
5.3.1 ACRN的virtio框架实现 / 135
5.3.2 virtio-net / 139
5.3.3 virtio-blk / 141
5.3.4 virtio-input / 143
5.3.5 virtio-console / 144
5.3.6 virtio-i2c / 146
5.3.7 virtio-gpio / 148
5.3.8 virtio-rnd / 150
5.3.9 virtio-gpu / 151
5.4 本章小结 / 152
第6章 嵌入式虚拟化技术—
ACRN安装使用 / 153
6.1 系统环境硬件配置 / 153
6.1.1 开发环境搭建 / 153
6.1.2 目标机硬件配置要求 / 154
6.2 ACRN支持三种模式的场景 / 154
6.2.1 共享模式的场景 / 155
6.2.2 分区模式的场景 / 156
6.2.3 混合模式的场景 / 156
6.3 安装部署流程 / 157
6.4 安装部署入门指南 / 159
6.4.1 选择硬件和场景 / 160
6.4.2 准备开发机环境 / 160
6.4.3 准备目标机并生成目标
平台配置文件 / 162
6.4.4 编译ACRN / 169
6.4.5 在目标机上安装ACRN / 170
6.4.6 启动ACRN和服务
虚拟机 / 171
6.4.7 启动用户虚拟机 / 171
6.5 本章小结 / 172
第7章 嵌入式虚拟化技术——实时
性能优化 / 173
7.1 整体架构设计 / 173
7.1.1 实时性的分类 / 175
7.1.2 实时性的优化准则 / 175
7.2 ACRN虚拟机优化 / 177
7.3 CPU优化 / 179
7.4 中断优化 / 180
7.5 内存优化 / 181
7.5.1 缓存分配技术 / 182
7.5.2 软件SRAM / 185
7.6 I/O虚拟化 / 186
7.6.1 GPU直通 / 187
7.6.2 其他设备虚拟化 / 188
7.7 客户机优化—实时操作系统 / 188
7.8 工具辅助优化 / 189
7.8.1 ACRNTrace介绍 / 189
7.8.2 vmexit命令 / 191
7.8.3 PMU的数据分析 / 192
7.8.4 RTOS的实时性基准测试工具 / 192
7.8.5 Intel TCC的介绍 / 194
7.9 虚拟机间通信 / 197
7.10 本章小结 / 198
第8章 嵌入式实时操作系统 / 199
8.1 RTOS介绍 / 199
8.1.1 常见的RTOS / 199
8.1.2 从GPOS到RTOS的转换 / 200
8.1.3 RTOS运行在虚拟机上的
注意事项 / 200
8.2 Xenomai / 201
8.2.1 Xenomai的起源 / 201
8.2.2 Xenomai的特性 / 202
8.2.3 Xenomai 3.1系统架构 / 204
8.3 PREEMPT_RT Linux / 205
8.3.1 PREEMPT_RT Linux的起源 / 206
8.3.2 PREEMPT_RT Linux的发展 / 206
8.3.3 PREEMPT_RT的特性 / 207
8.4 Zephyr / 213
8.4.1 Zephyr的起源 / 213
8.4.2 Zephyr的特点 / 213
8.4.3 Zephyr的系统架构 / 214
8.4.4 Zephyr的实现 / 219
8.5 本章小结 / 224
第9章 嵌入式虚拟化技术赋能功能安全 / 226
9.1 功能安全背景 / 226
9.2 功能安全概述 / 227
9.2.1 风险概念 / 229
9.2.2 功能安全标准的基本
术语与定义 / 230
9.2.3 风险和安全完整性 / 232
9.2.4 系统功能安全 / 234
9.2.5 软件功能安全 / 236
9.3 典型软件安全设计 / 236
9.4 混合关键性系统 / 239
9.4.1 混合关键性系统典型应用场景 / 239
9.4.2 QNX Hypervisor / 241
9.5 ACRN赋能混合关键性系统 / 243
9.5.1 安全目标 / 245
9.5.2 系统级安全措施 / 246
9.5.3 独立性相关安全措施 / 247
9.5.4 安全分析 / 248
9.5.5 系统化开发流程 / 249
9.5.6 安全状态设计 / 253
9.5.7 安全架构设计 / 254
9.5.8 安全需求概述 / 256
9.5.9 使用限制 / 261
9.6 嵌入式虚拟化技术的功能
安全价值 / 265
9.7 本章小结 / 265
第10章 应用案例—智能数控
系统和数字孪生 / 266
10.1 行业概述 / 266
10.2 行业挑战与需求 / 266
10.3 解决方案 / 267
10.4 具体实现 / 268
10.4.1 架构设计 / 268
10.4.2 虚拟机与云端应用的
协同机制 / 270
10.4.3 编译及安装 / 271
10.5 方案优势 / 272
10.6 本章小结 / 273
第11章 应用案例—基于机器视觉和机器
控制的工作负载整合 / 274
11.1 行业概述 / 274
11.1.1 迈向工业4.0 / 274
11.1.2 物联网中的工作负载整合 / 275
11.1.3 现代工业物联网模型 / 275
11.2 行业挑战与需求 / 276
11.2.1 工业自动化需要数字化转型 / 276
11.2.2 软件定义的基础设施帮助
工业数字化转型 / 277
11.2.3 将软件定义的基础设施应用于
工业自动化 / 277
11.2.4 在工业领域进行工作负载整合
的需求 / 279
11.2.5 工业控制领域的工作负载
整合案例—机器视觉和
机器控制 / 280
11.3 解决方案 / 281
11.3.1 负载整合技术方案—虚拟化
和容器化 / 281
11.3.2 通过虚拟化技术实现工作
负载整合 / 282
11.4 具体实现 / 284
11.4.1 机器视觉—运行在人机交互
虚拟机里 / 284
11.4.2 机器控制—运行在实时
虚拟机里 / 285
11.4.3 服务虚拟机—为整机系统
提供后台服务 / 285
11.4.4 嵌入式虚拟机管理程序—
ACRN Hypervisor / 286
11.4.5 硬件资源和I/O设备的分配 / 286
11.4.6 虚拟机间通信 / 287
11.4.7 物理硬件平台—基于x86的
工控机 / 287
11.4.8 性能调优 / 287
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!
6576682)]
[外链图片转存中…(img-pccEbpqx-1715676576683)]
[外链图片转存中…(img-YUbvDNr9-1715676576684)]
[外链图片转存中…(img-ic5dbBm6-1715676576685)]
[外链图片转存中…(img-UflEB4MM-1715676576686)]
[外链图片转存中…(img-HXeFnpBx-1715676576687)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!