操作系统(OS)是管理基于计算机系统的所有硬件和软件的必需,是汽车行业的关键软件平台。本文的重点是提供教程信息和一些关于汽车OS策略的观点。
每种OS在功能、程序大小、复杂性、开发工作量、硬件要求以及生命周期维护、支持工作量和成本方面都有很大的差异。一个OS可以是几千行代码的简单控制程序,也可以是用于Linux、macOS、iOS和Windows等主流OS的数千万行代码。Linux内核代码的大小因发行公司而异,GitHub版本大约有2800万行代码。
维基百科是OS的历史、技术和产品的一个很好的信息来源。虽然有关于OS技术的详细数据,但大部分内容集中在从大型机和PC到智能手机和平板电脑的传统计算机系统上。有关于领先的汽车OS的一般信息,如Linux和QNX,但很少有关于汽车OS使用的上下文和信息。
操作系统概述
OS是计算机硬件和应用程序之间的接口。这限制了一个应用程序通过遵循编入OS的规则和程序来使用硬件。OS还包括简化应用程序开发和执行的服务。这些服务包括管理应用程序将使用的所有硬件资源(将程序加载到内存中)与传感器和执行器通信,存储结果,以及许多其他功能。
还有许多额外的软件功能被认为是OS的一部分,包括所谓的中间件、库和其他系统软件。
OS的能力和生态系统对于开发软件定义汽车所需的应用程序和软件平台也很重要。换句话说,最好的OS选择需要一个庞大的生态系统和基础设施来支持未来不断增长的软件定义汽车。
下表总结了汽车OS的要求。
OS的许多特性决定了它的能力。单任务OS在同一时间只能运行一个程序,而多任务OS可以运行多个程序。单用户OS没有区分用户的工具,但可以允许多个程序同时运行。
多用户OS扩展了多任务处理,以运行来自多个用户的程序。这需要跟踪每个用户正在使用的硬件和软件资源。系统允许多个用户同时与系统交互。
OS内核
OS内核(kernel)包括管理硬件和软件的所有关键功能。有两种主要的组织内核的方法:单内核或微内核OS。单内核架构包括内核空间中的所有核心OS功能,所有系统调用和OS服务都在一个地方。Linux是一种领先的单内核OS。
微内核OS拥有能够提供实现OS所需机制的几乎最小数量的软件。其他OS服务被组织为分层服务,可以根据需要由微内核激活。这意味着微内核OS具有模块化架构。
其优点是微内核的代码空间小,且比单内核OS更安全。模块化OS结构更适合大多数汽车ECU。QNX是一种领先的微内核OS。
Hypervisor OS
Hypervisor是用于管理多个OS平台及其应用程序的小型软件平台。它也可以被称为虚拟机(VM)监视器,是运行VM的软件。
自20世纪60年代以来,虚拟化技术就应用于计算机行业,是IT数据中心的关键技术。Hypervisor对于将信息娱乐和功能安全功能结合起来很重要。
功能安全OS
许多ECU都需要具有功能安全认证的OS。这意味着要通过ISO 26262认证,并获得各种ASILs(Automotive Safety Integrity Levels)等级。ASIL从低到高有四种等级:ASIL A、B、C、D。
所有基于AUTOSAR的OS(如Vector的Microsar OS、ETAS的RTA-OS和Elektrobit的EB Tresos Safety OS)都有功能安全评级。其他三款产品也被普遍用于汽车ECU,Green Hills Integrity RTOS、Wind River VxWorks和BlackBerry QNX。
功能安全OS无法管理诸如信息娱乐系统、新兴领域的ADAS/AD ECU等大型复杂软件代码的ECU。唯一的例外是QNX,它是信息娱乐领域的领导者,在ADAS和AV领域ECU的定位很好。
信息娱乐系统对高性能OS的需求为Linux版本打开了大门,使其成为近5年来全球最受欢迎的信息娱乐OS(中国除外)。Linux的一个缺点是缺乏功能安全认证。当功能安全应用程序需要作为基于Linux的ECU的一部分时,hypervisor OS一直是Linux的解决方案。
OS生态系统支持
OS成功的关键是一个庞大的生态系统的支持。支持一个OS的软件平台越多,它就越成功。同样重要的是,该OS可以运行在领先的微处理器平台和特定的MCU实现上。然而,由于汽车ECU主要是基于Arm的微处理器,这一要求很容易满足。
所有的MCU应用软件都必须通过OS运行,这意味着一个成功的OS必须有良好的软件开发支持。
OS成本因素
决定使用OS成本的因素有很多。本文假设OS是由汽车OEM购买的,而不是开发的。
第一个因素是OS的许可成本,其中包括OS内核、中间件和库软件(如数学、浮点、图形等)。Linux内核OS是一个开源的免费软件平台。在大多数情况下,Linux中间件和一些库需要支付许可费。
OS的大小将影响运行软件及其应用程序所需的硬件数量。总代码大小影响所需的最大永久存储大小。在磁盘时代,这并不是一个重要的因素,因为大多数硬盘驱动都足够大。今天,永久存储主要是NAND芯片或eMMC模块,这通常会增加OS大小的额外成本。
OS的占用空间是运行OS及其应用程序所需的RAM。同样,OS占用空间的大小会影响系统的内存成本。
另一个因素是硬件成本,OS可能会影响MCU的成本。一个大的OS可能会增加所需的MCU性能,这可能会增加硬件成本。
本文的讨论是为了权衡所有潜在的OS成本因素。人们很容易认为,Linux的免费OS内核将提供足够的成本节约,超过大型OS将产生的潜在额外成本。
ECU软件开发
ECU软件开发对汽车行业至关重要,其复杂性和工作量也在不断增加。传统的ECU软件开发最初是通过多个供应商提供的SDK完成的。SDK已经被IDE所取代,后者具有更好的功能,并已扩展为基于web的IDE系统。Eclipse IDE已经成为汽车和许多其他行业最流行的软件开发系统。Eclipse是由Eclipse Foundation管理的,Eclipse Foundation是IBM在2001年创建的一个非营利性组织。
以web为中心的软件开发正在迅速发展,Amazon AWS尤其活跃。AWS正在建立合作伙伴关系,以满足更好的软件开发需求,包括SaaS功能。微软Azure和其他公司也在经历类似的增长。
提供专注于功能安全应用程序的软件开发系统也是一种趋势。Apex.AI是这一趋势的一个典型例子。
新兴ECU的需求
OS还需要包含对新兴技术需求的支持。网络安全是最重要的,所有OS都将安全作为核心功能。额外的硬件、软件和基于云的网络安全正在成为软件定义汽车的标准,需要尽可能多的支持,包括来自OS的支持。
OTA软件更新也越来越重要,可以使用OS服务的额外支持。OTA平台在嵌入式软件和云功能方面的能力都在增加。
ECU数据提取是网联汽车扩展功能的第三种类型。它还可以受益于OS服务和新功能。
OS战略视角
所有的汽车ECU都需要一个控制程序或OS来管理各种程序,以控制硬件组件和每个ECU设计完成的应用。随着ECU复杂度的增加,OS的复杂度也随之增加。整车厂将需要多个OS,以覆盖ECU的大范围能力和功能。
对于简单的ECU,OEM似乎更喜欢基于AUTOSAR的OS。AUTOSAR的能力有所提高,但无法处理高端ECU的复杂性,如信息娱乐和大多数域控制器。Green Hills和Wind River都拥有优秀的OS,安全性和安全性评级都很高,都是不错的选择。
高端ECU主要使用QNX或Linux版本作为OS,当需要功能安全时,QNX是首选。Linux已经超越QNX成为最受欢迎的信息娱乐操作系统。QNX正在成为域控制器的首选,至少ADAS和AV域控制器是如此。
开发一个OS是一个艰难的任务,OS可能有30-40年的生命周期,并定期更新和持续的技术改进。Linux已经发展了大约30年,而QNX已经发展了近40年。开发一款汽车OS需要大量的专业技术,而这些技术目前有限,而且需要多年的开发时间。
什么是最好的长期OS策略?最好的做法是从两个ECU类别(低复杂性和高复杂性)最安全的OS开始。为什么?因为网络安全问题将是汽车行业几十年来面临的最棘手的问题,而OS将发挥重要作用。
对于低复杂度的ECU,Green Hills拥有最高的安全和安全认证,包括FAA的飞机使用认证。
对于高端ECU,QNX拥有比Linux版本更高的安全和安全认证,并且很可能保持这一排名(即使一些Linux版本获得了ISO 26262认证)。QNX的微内核架构使OS更加安全。AVs的新标准(ISO 21448、UL 4600和IEEE P2851)可以在OS中使用一些有用的功能,QNX可能会首先开发这些功能。
| 诚迈科技汽车OS技术能力
诚迈科技在智能汽车领域深耕十余年,掌握了全栈式的电子架构软件开发能力,熟悉QNX、Linux、Android、HarmonyOS等汽车操作系统,具备底层系统软件层、功能软件层、上层应用算法软件层开发能力,不仅能为OEM和Tier1提供更多选择以及更灵活的定制服务,也可助力客户完成产品智能升级的研发目标,解决安全、效率和成本的问题。
评论
查看更多