从云计算到物联网:虚拟化技术的演变与嵌入式体系的融合 ...

吴旭华  金牌会员 | 2024-6-23 22:21:11 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 692|帖子 692|积分 2076


随着物联网设备的爆炸式增长和万物互联应用的快速发展,嵌入式体系正面临着一系列的挑衅与机会。为了顺应这一变革,虚拟化技术逐渐成为了业界关注的焦点,并在嵌入式体系中得到了广泛的应用。本文将深入探究嵌入式体系为何须要虚拟化技术,以及这一跨界创新组合的应用场景。
一、硬件性能提升:摩尔定律与嵌入式虚拟化

随着半导体技术的飞速发展,摩尔定律在推动硬件性能提升的同时,也使得成本逐渐降低。这使得今天的嵌入式体系中的SoC(System on a Chip)性能得到了极大的提升,甚至在某些方面逾越了传统的服务器。这种性能的提升为嵌入式体系引入虚拟化技术提供了可能。通过虚拟化技术,我们可以将多个操作体系或应用步伐运行在单一的硬件平台上,进一步提升硬件资源的利用率。
二、CPU多核技术:为嵌入式虚拟化提供支持

随着CPU多核技术的发展,一个物理处理处罚器能够同时执行多个线程或任务,这为嵌入式体系支持虚拟化技术提供了强大的底子。通过多核技术,我们可以轻松地在单个硬件平台上运行多个操作体系或应用步伐,从而实现真正的并行处理处罚。
三、业务负载整合:嵌入式虚拟化的核心需求

随着物联网的普及,差别业务之间的负载整合成为了关键需求。通过虚拟化技术,我们可以将各种业务负载整合到一个同一的平台上,从而实现资源的集中管理和优化。这种整合不但有助于提升体系的整体性能,还能降低运营成本和维护难度。
四、降低硬件成本:虚拟化技术的经济效益

在嵌入式体系的应用中,节约硬件成本是一个紧张的考虑因素。通过引入虚拟化技术,我们可以淘汰硬件体系的互连,降低整体硬件体系的复杂度。这不但能够降低硬件成本,还能提升体系的可靠性和稳定性。
五、软件重用与移植:虚拟化技术的上风

在嵌入式体系中,软件重用和移植是一个紧张的需求。通过虚拟化技术,我们可以将已有的软件体系举行封装和隔离,使其在差别的硬件平台上得到重用。此外,虚拟化技术还可以简化软件的移植过程,降低开发难度和维护成本。
六、异构操作体系的整合:虚拟化的独特价值

在许多应用场景中,我们须要将差别类型的操作体系(如及时体系和非及时体系、安全体系和非安全体系)整合到一个体系中。通过虚拟化技术,我们可以轻松地实现这种异构操作体系的整合,从而满足各种复杂的应用需求。这种整合不但有助于提升体系的灵活性和可扩展性,还能降低开发和维护成本。
七、嵌入式虚拟化的应用场景

嵌入式虚拟化技术的应用场景非常广泛,包罗但不限于以下几个方面:软件界说汽车驾驶舱、工业范畴的工作负载整合、智能家居设备的集中管理、医疗设备的远程监控和维护等。在这些场景中,虚拟化技术能够有效地提升体系的性能、可靠性和可维护性。
八、挑衅与展望:嵌入式虚拟化的将来发展

只管嵌入式虚拟化技术已经得到了广泛的应用和承认,但仍面临着一些挑衅。例如,如何进一步提升虚拟化技术的性能和服从、如何实现更精致的资源管理和调理等。将来,随着技术的不断进步和应用需求的不断增长,我们相信嵌入式虚拟化技术将会得到更广泛的应用和更深入的研究。

《嵌入式虚拟化技术与应用》


编辑保举

适读人群 :本书定位的读者是从事嵌入式虚拟化范畴开发的技术人员,或者任何想了解如安在嵌入式体系上实现虚拟机管理步伐的专业人员。
1.英特尔开源软件技术中央虚拟化项目组专家力作,本书围绕嵌入式虚拟化技术的核心内容,具体解读Linux基金会开源嵌入式虚拟机ACRN技术的架构、原理和应用实现。本书还特别披露和总结了虚拟化体系的及时性能调优方法和功能安全认证实践。读者可以从第一行代码实现一个x86平台上的“小身材、大能耐”的嵌入式虚拟机。ACRN开源项目的地址:https://projectacrn.org/。
2.读者通过该书学习,在须要高算力的嵌入式应用场景中,基于x86平台和ACRN虚拟化技术可以实现工业范畴的工作负载整合或软件界说汽车智能驾驶舱等应用产品。
3.本书得当从事嵌入式虚拟化范畴开发的技术人员,或者任何想了解如安在嵌入式体系上实现虚拟机管理步伐的专业人员。
内容简介

陪同着物联网设备的指数级增长,在须要高算力的场景,例如软件界说汽车驾驶舱、工业范畴的工作负载整合,开源虚拟化技术在嵌入式体系上受到了越来越多的关注和应用。本书首先介绍虚拟化技术的根本原理,包罗CPU虚拟化、内存虚拟化、中断虚拟化和设备虚拟化,对比KVM在云服务器上参考实现,重点介绍了开源嵌入式虚拟机ACRN的架构设计、原理和实现。还特别总结了虚拟化体系的及时性能调优方法和功能安全认证实践,以及嵌入式虚拟化技术的典型应用场景案例分析。本书作为嵌入式虚拟化技术入门参考书,通过对ACRN开源软件的介绍,资助读者从代码开始了解、学习、开发虚拟机软件,把握嵌入式虚拟化技术并应用于工程实践。
目  录

  1. 推荐序一
  2. 推荐序二
  3. 前言
  4. 第1章 虚拟化技术概述 / 1
  5. 1.1 虚拟化技术的发展历史 / 1
  6. 1.2 VMM模型的分类 / 3
  7. 1.3 虚拟化技术的分类 / 4
  8. 1.4 云虚拟化与嵌入式虚拟化 / 5
  9. 1.4.1 嵌入式虚拟化的背景与原因 / 5
  10. 1.4.2 云虚拟化和嵌入式虚拟化
  11.    的区别 / 5
  12. 1.5 嵌入式虚拟化技术的挑战 / 6
  13. 1.6 本章小结 / 7
  14. 第2章 虚拟化技术原理 / 8
  15. 2.1 通用虚拟化架构 / 8
  16. 2.1.1 虚拟化的基本概念 / 8
  17. 2.1.2 虚拟化技术的基本原理 / 9
  18. 2.1.3 虚拟化的主要方式 / 18
  19. 2.1.4 VMM的分类 / 19
  20. 2.2 云虚拟化和嵌入式虚拟化对比 / 22
  21. 2.3 嵌入式虚拟化的场景 / 23
  22. 2.4 嵌入式虚拟化技术的特征 / 23
  23. 2.5 本章小结 / 25
  24. 第3章 开源虚拟化技术—KVM / 26
  25. 3.1 KVM的历史 / 26
  26. 3.2 KVM的原理 / 27
  27. 3.2.1 KVM的架构 / 27
  28. 3.2.2 KVM API及示例 / 28
  29. 3.3 KVM虚拟化实现 / 32
  30. 3.3.1 KVM的初始化 / 33
  31. 3.3.2 KVM虚拟机的创建 / 35
  32. 3.3.3 CPU虚拟化 / 36
  33. 3.3.4 内存虚拟化 / 43
  34. 3.3.5 中断虚拟化 / 56
  35. 3.4 设备虚拟化 / 61
  36. 3.4.1 仿真设备 / 61
  37. 3.4.2 半虚拟化设备 / 62
  38. 3.4.3 直通设备 / 63
  39. 3.4.4 KVM设备虚拟化实现 / 64
  40. 3.5 本章小结 / 68
  41. 第4章 嵌入式虚拟化技术—
  42.     ACRN实现 / 69
  43. 4.1 ACRN简介 / 69
  44. 4.1.1 ACRN的由来 / 69
  45. 4.1.2 ACRN的关键技术特点 / 70
  46. 4.1.3 许可证和社区 / 71
  47. 4.2 ACRN应用场景 / 71
  48. 4.3 ACRN架构设计 / 73
  49. 4.3.1 ACRN 1.0整体架构 / 73
  50. 4.3.2 ACRN 2.0/3.0 整体架构 / 74
  51. 4.3.3 ACRN的关键组成 / 75
  52. 4.3.4 ACRN Hypervisor的架构 / 76
  53. 4.4 CPU虚拟化与实现 / 77
  54. 4.4.1 处理器管理 / 79
  55. 4.4.2 vCPU 生命周期 / 80
  56. 4.4.3 vCPU调度 / 80
  57. 4.4.4 VMX 初始化 / 85
  58. 4.4.5 CPUID 虚拟化 / 85
  59. 4.4.6 MSR虚拟化 / 86
  60. 4.4.7 CR虚拟化 / 86
  61. 4.4.8 IO/MMIO模拟 / 86
  62. 4.4.9 指令模拟 / 87
  63. 4.4.10 TSC 模拟 / 88
  64. 4.4.11 ART虚拟化 / 88
  65. 4.4.12 XSAVE虚拟化 / 89
  66. 4.5 内存虚拟化及实现 / 90
  67. 4.5.1 概述 / 90
  68. 4.5.2 Hypervisor物理内存管理 / 91
  69. 4.5.3 Hypervisor内存虚拟化 / 93
  70. 4.5.4 与EPT相关的VM Exit / 96
  71. 4.5.5 服务虚拟机内存管理 / 96
  72. 4.5.6 可信 / 97
  73. 4.6 中断虚拟化及实现 / 98
  74. 4.6.1 概述 / 98
  75. 4.6.2 物理中断 / 100
  76. 4.6.3 虚拟中断 / 105
  77. 4.6.4 中断重映射 / 107
  78. 4.7 I/O虚拟化及实现 / 110
  79. 4.7.1 I/O访问捕获路径 / 111
  80. 4.7.2 Hypervisor中的I/O模拟 / 112
  81. 4.7.3 I/O请求 / 112
  82. 4.8 本章小结 / 115
  83. 第5章 嵌入式虚拟化技术—
  84.        ACRN设备虚拟化 / 116
  85. 5.1 ACRN设备模型介绍 / 116
  86. 5.2 ACRN全虚拟化设备 / 119
  87. 5.2.1 PS/2控制器 / 119
  88. 5.2.2 UART串口 / 121
  89. 5.2.3 USB设备 / 122
  90. 5.2.4 AHCI控制器 / 125
  91. 5.2.5 系统时钟 / 126
  92. 5.2.6 看门狗设备 / 131
  93. 5.2.7 Ivshmem / 132
  94. 5.2.8 显卡设备 / 134
  95. 5.3 ACRN的virtio设备 / 135
  96. 5.3.1 ACRN的virtio框架实现 / 135
  97. 5.3.2 virtio-net / 139
  98. 5.3.3 virtio-blk / 141
  99. 5.3.4 virtio-input / 143
  100. 5.3.5 virtio-console / 144
  101. 5.3.6 virtio-i2c / 146
  102. 5.3.7 virtio-gpio / 148
  103. 5.3.8 virtio-rnd / 150
  104. 5.3.9 virtio-gpu / 151
  105. 5.4 本章小结 / 152
  106. 第6章 嵌入式虚拟化技术—
  107.     ACRN安装使用 / 153
  108. 6.1 系统环境硬件配置 / 153
  109. 6.1.1 开发环境搭建 / 153
  110. 6.1.2 目标机硬件配置要求 / 154
  111. 6.2 ACRN支持三种模式的场景 / 154
  112. 6.2.1 共享模式的场景 / 155
  113. 6.2.2 分区模式的场景 / 156
  114. 6.2.3 混合模式的场景 / 156
  115. 6.3 安装部署流程 / 157
  116. 6.4 安装部署入门指南 / 159
  117. 6.4.1 选择硬件和场景 / 160
  118. 6.4.2 准备开发机环境 / 160
  119. 6.4.3 准备目标机并生成目标
  120.    平台配置文件 / 162
  121. 6.4.4 编译ACRN / 169
  122. 6.4.5 在目标机上安装ACRN / 170
  123. 6.4.6 启动ACRN和服务
  124.       虚拟机 / 171
  125. 6.4.7 启动用户虚拟机 / 171
  126. 6.5 本章小结 / 172
  127. 第7章 嵌入式虚拟化技术——实时
  128.     性能优化 / 173
  129. 7.1 整体架构设计 / 173
  130. 7.1.1 实时性的分类 / 175
  131. 7.1.2 实时性的优化准则 / 175
  132. 7.2 ACRN虚拟机优化 / 177
  133. 7.3 CPU优化 / 179
  134. 7.4 中断优化 / 180
  135. 7.5 内存优化 / 181
  136. 7.5.1 缓存分配技术 / 182
  137. 7.5.2 软件SRAM / 185
  138. 7.6 I/O虚拟化 / 186
  139. 7.6.1 GPU直通 / 187
  140. 7.6.2 其他设备虚拟化 / 188
  141. 7.7 客户机优化—实时操作系统 / 188
  142. 7.8 工具辅助优化 / 189
  143. 7.8.1 ACRNTrace介绍 / 189
  144. 7.8.2 vmexit命令 / 191
  145. 7.8.3 PMU的数据分析 / 192
  146. 7.8.4 RTOS的实时性基准测试工具 / 192
  147. 7.8.5 Intel TCC的介绍 / 194
  148. 7.9 虚拟机间通信 / 197
  149. 7.10 本章小结 / 198
  150. 第8章 嵌入式实时操作系统 / 199
  151. 8.1 RTOS介绍 / 199
  152. 8.1.1 常见的RTOS / 199
  153. 8.1.2 从GPOS到RTOS的转换 / 200
  154. 8.1.3 RTOS运行在虚拟机上的
  155.    注意事项 / 200
  156. 8.2 Xenomai / 201
  157. 8.2.1 Xenomai的起源 / 201
  158. 8.2.2 Xenomai的特性 / 202
  159. 8.2.3 Xenomai 3.1系统架构 / 204
  160. 8.3 PREEMPT_RT Linux / 205
  161. 8.3.1 PREEMPT_RT Linux的起源 / 206
  162. 8.3.2 PREEMPT_RT Linux的发展 / 206
  163. 8.3.3 PREEMPT_RT的特性 / 207
  164. 8.4 Zephyr / 213
  165. 8.4.1 Zephyr的起源 / 213
  166. 8.4.2 Zephyr的特点 / 213
  167. 8.4.3 Zephyr的系统架构 / 214
  168. 8.4.4 Zephyr的实现 / 219
  169. 8.5 本章小结 / 224
  170. 第9章 嵌入式虚拟化技术赋能功能安全 / 226
  171. 9.1 功能安全背景 / 226
  172. 9.2 功能安全概述 / 227
  173. 9.2.1 风险概念 / 229
  174. 9.2.2 功能安全标准的基本
  175.    术语与定义 / 230
  176. 9.2.3 风险和安全完整性 / 232
  177. 9.2.4 系统功能安全 / 234
  178. 9.2.5 软件功能安全 / 236
  179. 9.3 典型软件安全设计 / 236
  180. 9.4 混合关键性系统 / 239
  181. 9.4.1 混合关键性系统典型应用场景 / 239
  182. 9.4.2 QNX Hypervisor / 241
  183. 9.5 ACRN赋能混合关键性系统 / 243
  184. 9.5.1 安全目标 / 245
  185. 9.5.2 系统级安全措施 / 246
  186. 9.5.3 独立性相关安全措施 / 247
  187. 9.5.4 安全分析 / 248
  188. 9.5.5 系统化开发流程 / 249
  189. 9.5.6 安全状态设计 / 253
  190. 9.5.7 安全架构设计 / 254
  191. 9.5.8 安全需求概述 / 256
  192. 9.5.9 使用限制 / 261
  193. 9.6 嵌入式虚拟化技术的功能
  194.   安全价值 / 265
  195. 9.7 本章小结 / 265
  196. 第10章 应用案例—智能数控
  197.      系统和数字孪生 / 266
  198. 10.1 行业概述 / 266
  199. 10.2 行业挑战与需求 / 266
  200. 10.3 解决方案 / 267
  201. 10.4 具体实现 / 268
  202. 10.4.1 架构设计 / 268
  203. 10.4.2 虚拟机与云端应用的
  204.        协同机制 / 270
  205. 10.4.3 编译及安装 / 271
  206. 10.5 方案优势 / 272
  207. 10.6 本章小结 / 273
  208. 第11章 应用案例—基于机器视觉和机器
  209.      控制的工作负载整合 / 274
  210. 11.1 行业概述 / 274
  211. 11.1.1 迈向工业4.0 / 274
  212. 11.1.2 物联网中的工作负载整合 / 275
  213. 11.1.3 现代工业物联网模型 / 275
  214. 11.2 行业挑战与需求 / 276
  215. 11.2.1 工业自动化需要数字化转型 / 276
  216. 11.2.2 软件定义的基础设施帮助
  217.     工业数字化转型 / 277
  218. 11.2.3 将软件定义的基础设施应用于
  219.     工业自动化 / 277
  220. 11.2.4 在工业领域进行工作负载整合
  221.     的需求 / 279
  222. 11.2.5 工业控制领域的工作负载
  223.     整合案例—机器视觉和
  224.     机器控制 / 280
  225. 11.3 解决方案 / 281
  226. 11.3.1 负载整合技术方案—虚拟化
  227.     和容器化 / 281
  228. 11.3.2 通过虚拟化技术实现工作
  229.     负载整合 / 282
  230. 11.4 具体实现 / 284
  231. 11.4.1 机器视觉—运行在人机交互
  232.     虚拟机里 / 284
  233. 11.4.2 机器控制—运行在实时
  234.     虚拟机里 / 285
  235. 11.4.3 服务虚拟机—为整机系统
  236.     提供后台服务 / 285
  237. 11.4.4 嵌入式虚拟机管理程序—
  238.     ACRN Hypervisor / 286
  239. 11.4.5 硬件资源和I/O设备的分配 / 286
  240. 11.4.6 虚拟机间通信 / 287
  241. 11.4.7 物理硬件平台—基于x86的
  242.     工控机 / 287
  243. 11.4.8 性能调优 / 287
  244. 11.4.9 安装步骤示例 / 288
  245. 11.5 方案优势 / 288
  246. 11.6 本章小结 / 289
  247. 第12章 应用案例—自主移动机器人 / 290
  248. 12.1 行业概述 / 290
  249. 12.2 行业挑战与需求 / 290
  250. 12.3 解决方案 / 291
  251. 12.4 具体实现 / 292
  252. 12.5 安装步骤示例 / 295
  253. 12.6 方案优势 / 295
  254. 12.7 本章小结 / 296
  255. 第13章 应用案例—软件定义汽车
  256.      驾驶舱 / 297
  257. 13.1 行业概述 / 297
  258. 13.1.1 多个独立ECU的实现 / 298
  259. 13.1.2 软件定义驾驶舱 / 299
  260. 13.2 行业挑战与需求 / 300
  261. 13.3 解决方案 / 302
  262. 13.4 具体实现 / 303
  263. 13.4.1 基于x86架构的SoC / 304
  264. 13.4.2 ACRN Hypervisor / 304
  265. 13.4.3 仪表盘系统—服务
  266.     虚拟机 / 304
  267. 13.4.4 中控娱乐系统—用户
  268.     虚拟机 / 304
  269. 13.4.5 Intel GVT-g图形显卡共享 / 305
  270. 13.5 编译及安装 / 306
  271. 13.6 方案优势 / 307
  272. 13.7 软件定义驾驶舱的未来展望 / 307
  273. 13.8 本章小结 / 308
  274. 附录 / 309
  275. 附录A Xenomai及其应用程序的
  276.     编译和安装 / 309
  277. 附录B PREEMPT_RT Linux的
  278.     编译和安装 / 316
  279. 附录C Zephyr的编译和安装 / 319
  280. 附录D 在ACRN上安装运行两个
  281.     虚拟机 / 323
  282. 附录E ROS 2安装与使用示例 / 331
  283. 技术术语表 / 335
  284. 参考文献 / 342
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

吴旭华

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表