基于微内核和Safety Linux的双内核智能驾驶操作系统丨ZTE Corporation确认申报2022金辑奖·中国汽车新供应链百强

申请技术:基于微内核和Safety Linux的双内核智能驾驶操作系统

申报领域:软件

创新点及优势

技术描述:

一、技术背景分析

智能驾驶操作系统主要面向智能驾驶领域,运行于智能驾驶域控制器,支持自动驾驶所需的高性能计算、高带宽通信的高算力异构芯片。该类操作系统对安全性、实时性和可靠性要求较高,同时对性能和运算能力的要求也较高,主要体现在如下方面:

1、强大的计算能力,以满足融合感知和决策计算的要求;

2、强大的数据吞吐能力,以满足多传感器数据的实时接入和处理;

3、高度的生态兼容性、扩展性,以满足多种算法模型的需要;

智能驾驶操作系统内核通常以标准的 POSIX 接口为基础,兼容国际主流的系统软件中间件如 Adaptive AUTOSAR 等,满足智能驾驶不同应用所需的功能安全和信息安全等要求。同时根据SOC异构硬件各单元架构和承载功能的不同,对内核系统功能安全等级的要求也有所不同, 比如AI 单元内核系统支持QM ~ ASIL-B,计算单元内核系统支持 QM ~ ASIL-D ,控制单元内核系统需支持 ASIL-D 安全等级等。

智能驾驶操作系统内核通常有两种发展路径:

1、一种是继承Linux丰富的开源生态,基于开源、功能强大的Linux宏内核,重点增强其安全性和实时性,发展以功能安全级别ASIL-B为目标的Safety Linux操作系统。

在实时性处理方面,Safety Linux包括了大部分POSIX 标准中的实时信号处理机制和功能,如符合POSIX标准的调度策略(包括FIFO、时间片轮转和完全公平调度等调度策略)。Safety Linux 内核提供内存锁定功能,以避免在实时处理中存储页面被换出,同时通过实时调度算法减少任务上下文的切换时间,从而满足任务的时限要求。另外,Safety Linux 通过开源实时性RT补丁,支持三级抢占、自旋锁主动释放、资源分区、任务可配置优先级、任务排他性绑核运行、无中断干扰、智能迁移等特性,增强实时调度能力。

在安全性方面,Safety Linux针对车用场景需求裁剪系统配置,借助ELISA开源项目提供的安全分析方法和认证工具,识别功能安全需求,对关键功能采用ISO 26262形式化或半形式化方法完成正向设计和验证。另外提供任务运行监控、内核增强管理、紧急控制台、可靠重启、轻量级异常转储以及系统黑匣子等安全机制,增强Linux的安全能力。

Safety Linux源自Linux,硬件、软件生态都非常丰富,可更好地支持汽车高级自动驾驶业务。但Safety Linux系统过于庞大,内核代码规模千万级,组件关联复杂,现阶段对内核关键功能进行鉴定分析和安全增强需要大量的工作去做,要想达到ASIL-B级功能安全认证更是一个长期任务。

2、另一种是注重功能安全,以ASIL-D功能安全级别为目标,基于POSIX标准实现的微内核RTOS。

微内核RTOS在内核部分仅实现任务调度、时钟、中断、内存管理、IPC等最基础功能,文件系统、网络协议栈、设备驱动、POSIX接口等都放在微内核之外,运行在受内存保护的用户态空间。微内核RTOS内核小巧,代码量少,运行速度极快,安全和稳定性高,不易受病毒破坏系统。

微内核RTOS目前在全世界范围内都处于研究发展的初期,不同厂家有不同的实现,芯片及应用生态尚未完备。相比Linux,由于微内核RTOS缺少类似的开源生态环境支持,目前只适合对功能安全要求更高、稳定性更强,但同时对软件生态没有过高要求的场景使用。未来对于智驾应用引入的AI算法模型框架,微内核RTOS需要向上扩展支持PSE51、PSE52及PSE53、PSE54等POSIX接口标准,甚至需要支持非POSIX标准接口,向下则需定制适配兼容不同硬件厂家的AI算力芯片,任重而道远。

二、解决方案

现阶段微内核RTOS与Safety Linux操作系统在智能驾驶领域都有一定的应用局限性,前者具备高功能安全等级,但缺乏完善的智能驾驶生态资源支撑,构建周期漫长;后者具备丰富的生态,但获得所需功能安全等级认证较难。考虑到这些,中兴通讯基于自研车用操作系统产品系列,推出基于微内核和Safety Linux的双内核智能驾驶操作系统解决方案,可完整兼顾智能驾驶对功能安全和丰富应用生态两方面要求,为汽车OEM主机厂快速落地智能驾驶项目提供强有力支撑。

 

图1  基于ZTE微内核和Safety Linux的双内核智能驾驶操作系统

基于微内核和Safety Linux的双内核智能驾驶操作系统主要由三部分组成:

1)ZTE Microkernel RTOS

采用微内核架构,内核仅保留少量的核心功能,其余功能运行在用户态,增强核心内核的可靠性。关中断路径短,中断响应快,调度及时,具备精准时空配额支撑能力,产品通过了ASIL-D产品认证。

2)ZTE Hypervisor

支持的虚拟化类型为Type-1,可允许多个操作系统和应用共享硬件,实现安全分区隔离。支持硬件虚拟化和软件虚拟化,支持全虚拟化和半虚拟化技术。可与ZTE Microkernel RTOS一体化设计,支撑同时运行原生实时任务和虚拟机中的任务,提升整体性能。

3)ZTE Safety Linux

在实时性、确定性、安全性方面都进行了增强的Safety Linux操作系统,业界领先的中断响应和调度处理效率,保证了系统中的关键事件和任务均能得到及时处理。分区调度能力保证了关键业务处理时长可控可期。

如图1所示,在ZTE Microkernel RTOS+Safety Linux的双内核方案中:

智能驾驶场景中的数据融合、环境建模、路径预测、决策、规划、控制等相关业务由Microkernel RTOS承载,最高可保证ASIL-D级功能安全。

AI融合感知处理及算法类业务,需要使用图形图像处理以及深度学习算法模型框架,对底层算力芯片的驱动适配要求也较高,则由Safety Linux承载,可充分利用其既有成熟的软硬件生态,快速完成开发。

同时,依托于ZTE Microkernel RTOS的ASIL-D级功能安全能力,通过在Safety Linux中部署健康监控代理,实时对Safety Linux的关键应用、内核和BSP进行异常监测和故障诊断,并根据故障等级和处理规则,控制其完成相应的失效处理,在一定程度上也可提升Safety Linux的功能安全。

独特优势:

1、本文所述双内核智能驾驶操作系统中的微内核产品ZTE Microkernel RTOS通过了功能安全ASIL D级产品认证,为系统整体功能安全提供了必要基础和支撑。

2、基于微内核系统承载智能驾驶大部分业务,有条件实现相应业务的高功能安全等级要求与保障。

3、基于经过实时性及安全性提升的Safety Linux系统承载AI融合感知与定位相关算法业务,有利于充分利用Linux生态能力,快速实现智能驾驶AI感知业务。

4、基于微内核系统实现对Safety Linux系统的监控,有助于提升双内核智能驾驶操作系统的整体可用性及功能安全特性。

5、虚拟化平台与微内核系统采用一体化实现方式,微内核上支持以原生任务及应用方式运行上层业务,从而避免了Hypervisor上启动VM虚拟机方式承载微内核的常规做法,进一步避免了对应系统性能的损耗。

6、虚拟化平台的安全分区引擎经过专门的裁剪和性能提升,专注于系统隔离、跨域通讯,能够极大程度保障智能驾驶操作系统整体安全和性能。

7、本文所述双内核智能驾驶操作系统方案后续结合SoC芯片适配支持进展,可以逐步将智能驾驶AI感知功能向微内核系统上迁移,有利于智能驾驶方案最终向纯微内核方案平滑过渡,以支持更高阶自动驾驶场景落地。

应用场景:

随着电动化、智能化带来的汽车电子电气架构革新,OEM厂商的核心能力从机械硬件逐步转向电子硬件和软件,汽车产业价值链也从以往单一硬件销售转向持续的软件及服务溢价商业模式。在软件定义汽车的大趋势下,车用操作系统是传统汽车实现智能汽车升级的关键,是未来汽车如何体现差异化,实现千车千面、消费者服务个性化的基础支撑平台。

国外操作系统厂家产品通常黑盒提供,无源代码,对国家自主可控及网络信息安全战略构成威胁。而且,国外操作系统厂家形成垄断,地位强势,对车企自身的多样化、低成本、技术支持机革新诉求非常不利。

相比国外厂家,国产操作系统厂商产品普遍成熟度不足,量产经验欠缺,生态不够丰富,但针对车企和供应商对车用操作系统的关键诉求,国产厂商通常会紧密协作,及时响应,加快提升自研操作系统的产品化能力。针对具体项目及应用场景,国产厂商会提供量身定制服务,赋能车企和供应商等合作伙伴,共同探索车用操作系统的国产化方案,努力规避和解决“卡脖子”问题。

考虑到这些因素,国内一些汽车OEM厂商采用开源Linux作为智能驾驶操作系统,推动L3级以下项目的实践落地,但这些项目普遍都只注重功能实现和用户体验,弱化了功能安全考虑,不利于后期向高等级自动驾驶项目的演进。

基于此,中兴通讯推出的微内核+Safety Linux的双内核智能驾驶操作系统,可以有效解决现阶段国内汽车OEM厂对智能驾驶操作系统的诉求,快速构建起智能驾驶业务生态,同时提供了自动驾驶等级相匹配的功能安全等级要求,而更进一步地,也考虑了后期向更高等级自动驾驶场景的平滑演进。

在现阶段,考虑到底层SoC芯片的AI感知驱动和算法适配,生态依赖复杂,涉及芯片厂商的核心算法库,纯微内核智能驾驶操作系统方案需要时间及SoC厂商的深度技术支持,尤其是需要获得GPU核心IP驱动的源码授权比较困难,中兴通讯的微内核+Safety Linux双内核智能驾驶操作系统能够较好地适配国产软硬件生态现状,为智能驾驶项目交付上车提供了一种比较现实的解决方案。

按照智能驾驶业务划分,微内核+Safety Linux双内核智能驾驶操作系统可支持如下应用场景:

1、仅有决策、规划、控制类等非AI类业务的场景

在这种场景下,只需要采用中兴通信提供的符合ASIL-D级功能安全认证的微内核产品ZTE Microkernel RTOS,在上面部署符合POSIX接口标准的中间件如AutoSAR AP或SOA服务框架,即可承载决策、规划、控制类业务。

图2  基于ZTE微内核承载决策、规划、控制类业务

2、仅有AI融合感知类业务的场景

在这种场景下,需要使用中兴通信提供的ZTE Safety Linux产品,可以沿用源自Linux生态的图形图像处理库、AI算法模型及加速库、智驾算法基础库等,同时部署AutoSAR AP及SOA服务框架,承载AI融合感知类业务。同时,为了提升Safety Linux的功能安全,可以部署ZTE Microkernel RTOS+ZTE Hypervisor一体化产品,在其上以HostOS方式运行故障检测和诊断服务,以GuestOS方式运行Safety Linux。故障检测和诊断服务通过健康监控代理监测Safety Linux虚拟机、Linux内核及BSP驱动的各种健康状态,同时故障检测和诊断服务还实时监测微内核自身的虚拟机管理模块、内存及线程调度等异常,发生时进行相应的失效处理。

图3  基于ZTE微内核和Safety Linux的双内核承载融合感知类业务

3、既有决策、规划、控制,又有AI融合感知类业务的场景

同场景2,需同时部署ZTE Safety Linux、ZTE Microkernel RTOS+ZTE Hypervisor一体化产品,在ZTE Safety Linux上面承载AI融合感知类业务,在ZTE Microkernel RTOS上承载决策、规划、控制等非AI类业务,同时运行在微内核上的故障检测和诊断服务负责对ZTE Safety Linux内核及其上的关键应用和服务进行实时监控,为其提供一定程度的功能安全保障。

 

图4  基于ZTE微内核和Safety Linux的双内核分区承载智能驾驶类业务

未来阶段,伴随着国内低等级智能驾驶项目的落地,一些主流SoC芯片的底层驱动适配以及AI算法模型库、融合感知处理算法等可以平滑移植到ZTE Microkernel RTOS功能域,微内核系统逐步完成对上层智驾应用的全部支撑。借助于ZTE Microkernel RTOS的ASIL-D级功能安全能力,智能驾驶操作系统最终可演进到支撑L3+高等级自动驾驶业务。

未来前景:

智能驾驶领域目前虽然有国外比较成熟的产品,但黑盒提供,价格昂贵,其收费是按照特许使用权费和开发费分别收取。此外,在客户服务上无法和国内厂商相比,用户需求响应不及时,维护流程繁琐,与底层大厂芯片联合形成事实上的垄断地位,不利用国内汽车OEM控制话语权。

中兴通讯的ZTE Microkernel RTOS+Safety Linux的双内核智能驾驶操作系统适用于智能驾驶各个阶段的应用场景,具有国产自主可控、需求响应快、适配灵活、价格合理等特点,是目前能快速落地的一个国产替代最佳解决方案,其平滑演进能力可助力OEM主机厂产品具有长久的生命力。

金辑奖介绍:

“金辑奖”由盖世发起,旨在“发现好公司·推广好技术”, 并围绕着“中国汽车新供应链百强”这个主题进行展开,重点聚焦自动驾驶、智能座舱、软件、芯片、动力总成电气化、热管理、车身及底盘技术、内外饰、环保轻量及新材料以及服务商十大细分板块,进行优秀企业及先进技术解决方案的评选,向行业内外展示这些优秀的企业和行业领军人物,共同推动行业的发展和进步。