电动汽车EE架构从分布式演变为集中式,自动驾驶等级从L2向L2 、NOA/NOP乃至L4进化,系统自动驾驶OS(操作系统)的要求也越来越高。而且,自动驾驶与生命安全有关OS对实时性和可靠性的要求远高于车载娱乐系统OS。
OS价值主要在于资源可以更好地分配、调度和存储,但在分布式上EE架构下,各ECU基本上只处理一项单一任务,不需要资源的分配和调度;甚至Mobileye的EyeQ 3和EyeQ 4.也只是跑单任务ASIC,因此,只需处理摄像头的数据,使用Tier 1的MCU就可以了,不需要高性能OS。
但随着L2 、NOA/NOP等高级自动驾驶功能逐渐成为新车的标准配置,无论是否感兴趣,有进取心的汽车公司都必须努力补充自动驾驶OS课程;个别汽车公司甚至计划自学OS。
带着这些疑惑,笔者去年11月中旬参加了自动驾驶操作系统论坛,并在会后与黑莓合作QNX IOT大中华区事业部首席代表董渊文、地平线市场拓展与战略规划副总裁李星宇、公众CEO张人杰等人进行了深入交流。
车载智能计算平台可大致分为硬件平台和系统软件(硬件抽象层) OS内核 中间件)、功能软件(库组件 中间件)和应用算法软件。OS特指可直接携带在硬件上OS内核;广义OS从下到上包括从BSP、硬件与上层应用之间的所有程序,如操作系统内核、中间件和库组件。
Hypervisor——一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件,也可叫做VMM( virtual machine monitor ),即虚拟机监视器。Hypervisors是虚拟环境中的元操作系统。它们可以访问所有物理设备,包括磁盘和内存。
具体来说,中间部件通常抽象传感器、计算平台等资源,模块化管理算法、子系统和功能。通过提供的统一接口,开发人员可以在不了解相关细节的情况下,专注于各自业务层面的开发。这为开发者快速、高效、灵活地开发和集成自动驾驶软件提供了极大的便利。
自动驾驶OS核心模式相对稳定,主要玩家是QNX(Blackberry)、Linux(开源基金会),VxWorks(风河)OS需要太多的人力物力。目前,基本上没有企业会发展新的OS内核。
现在,不管是Waymo、百度,特斯拉,Mobileye,它仍然是许多自动驾驶初创公司和汽车公司。所谓自主研发自动驾驶OS,在上述现成内核的基础上,开发中间件和应用软件。
华为的AOS,它是基于完全自我研究的OS基于内核Linux对于核心的中间件,外界有两种说法:很多人认为是完全自主研究,但也有很多操作系统领域的从业者认为,AOS仍是基于Linux内核,但对Linux在此基础上,对内核进行了深度切割,增加了一些安全固件和独特的驱动程序,并开发了中间件。
以是否优先划分要执行的任务为标准,OS内核可分为分时OS和实时OS两者。前者对每个用户/操作完全公平,不区分任务的紧急性;后者是指在需要执行高优先级紧急任务时,可以在严格的时间限制内抢占切换到任务。