智能汽车虚拟化(Hypervisor)技术详解_汽车操作系统中的虚拟化(1)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
图1 虚拟化典型应用场景
技术形态
Hypervisor 直译即 “超级监督者” ,也称为虚拟机监控程序(VMM)。如图 2 所示,Hypervisor处于 SoC 硬件平台之上,将实体资源(如 CPU、内存、存储空间、网络适配器、外设等 ) 转换为虚拟资源,按需分配给每个虚拟机,允许它们独立地访问已授权的虚拟资源。Hypervisor 实现了硬件资源的整合和隔离,使应用程序既能共享 CPU 等物理硬件,也能依托不同的内核环境和驱动运行,从而满足汽车领域多元化应用场景需求。
图2 虚拟化在系统中的位置
在汽车领域,Hypervisior 主要完成以下任务:
CPU 虚拟化:为虚拟机提供 VCPU 资源和运行环境;
内存虚拟化:负责为其自身和虚拟机分配和管理硬件内存资源;
中断虚拟化:发生中断和异常时,按需将中断和异常路由到虚拟机进行处理;
虚拟机设备模拟:根据需求创建虚拟机可以访问的虚拟硬件组件;
硬件支持 BSP:提供 Hypervisor 在 SoC 上运行的板级支持包,如串口驱动;
虚拟机资源配置:对虚拟机的 CPU,内存,IO 外设等资源进行配置和管理;
虚拟机通信:为虚拟机提供 IPC,共享内存等通信机制。
虚拟机调度:为虚拟机提供优先级和时间片等调度算法;
虚拟机生命周期管理:创建,启动和停止虚拟机;
虚拟机调测服务:提供控制台,日志等调试功能;
在汽车领域,Hypervisior 还面临如下挑战:
轻量高效。Hypervisor 在带来软件定义的灵活性的同时,也导致了软件栈层次增加,不可避免会有性能损耗。汽车领域的成本敏感特性,注定了降低 CPU、存储、网络、GPU 等外设性能损耗的需求贯穿整车项目始终,因此 Hypervisor 的轻量和高效十分重要;
安全可靠。相较于互联网领域看重的资源动态分配和闲置利用,汽车领域更看重 Hypervisor 的实时性、可靠性、安全性;
便捷适配。在汽车领域,芯片类型和操作系统丰富多样,嵌入式虚拟化的一大特点就是异构,Hypervisor 必须具备快速适配不同的底层硬件和上层操作系统的能力。
技术发展趋势
2.1 云边端虚拟化关键技术差异化
虚拟化技术最早可以追溯到 20 世纪 60 年代,IBM 开发了虚拟机监视器软件&