操作系统 (OS) 是管理基于计算机的系统的所有硬件和软件所必需的,它是汽车行业的关键软件平台。本文重点介绍汽车操作系统策略的教程信息和一些观点。
每个操作系统在功能、程序大小、复杂性、开发工作量和硬件要求以及终身维护、支持工作量和成本方面都有很大差异。一个操作系统的范围可以从几千行代码的简单控制程序到Linux、macOS、iOS和Windows等主要操作系统的几千万行代码。Linux 内核代码大小因发行公司而异,GitHub 版本约有 2800 万行代码。
Wikipedia 是有关操作系统历史、技术和产品信息的重要来源。有关于操作系统技术的详细数据,但大部分内容都集中在传统计算机系统上,从大型计算机和个人电脑到智能手机和平板电脑。有关于领先的汽车操作系统(如 Linux 和 QNX)的一般信息,但很少有关于汽车操作系统使用的上下文和信息。
操作系统概述
操作系统提供计算机硬件和应用程序之间的接口。这通过遵循编程到操作系统中的规则和程序来限制应用程序使用硬件。该操作系统还包括简化应用程序开发和执行的服务。这些服务包括管理应用程序将使用的所有硬件资源——将程序加载到内存中、与传感器和执行器通信、存储结果以及许多其他功能。
还有许多其他软件功能被认为是操作系统的一部分,包括所谓的中间件、库和其他系统软件。
操作系统功能和生态系统对于开发软件定义车辆所需的应用程序和软件平台也很重要。换句话说,最好的操作系统选择需要一个庞大的生态系统和基础设施来支持未来不断增长的软件定义车辆。
下表总结了汽车操作系统的要求。
操作系统的许多特性决定了它的功能。单任务操作系统一次只能运行一个程序,而多任务操作系统可以运行多个程序。单用户操作系统没有区分用户的功能,但可能允许多个程序同时运行。
多用户操作系统扩展了多任务处理以运行来自多个用户的程序。这需要跟踪每个用户正在使用的硬件和软件资源。该系统允许多个用户同时与系统交互。
操作系统内核
操作系统内核包括管理硬件和软件的所有关键功能。组织内核有两种主要方法:单片内核或微内核操作系统。单片内核架构包括内核空间中的所有核心操作系统功能——所有系统调用和操作系统服务都集中在一个地方。Linux 是领先的单片内核操作系统。
微内核操作系统具有几乎最少数量的软件,可以提供实现操作系统所需的机制。额外的操作系统服务被组织为分层服务,可以根据需要由微内核激活。这意味着微内核操作系统具有模块化架构。
优点是微内核具有较小的代码空间,并且可以比单片内核操作系统更安全。模块化操作系统结构更适合大多数汽车 ECU。QNX 是领先的微内核操作系统。
管理程序操作系统
管理程序是一个小型软件平台,用于管理多个操作系统平台及其应用程序。它也可以称为虚拟机 (VM) 监视器,它是运行 VM 的软件。
自 1960 年代以来,虚拟化一直用于计算机行业,是 IT 数据中心的一项关键技术。管理程序对于将信息娱乐和功能安全功能(例如用于备用监视器的主机显示器)结合起来非常重要。
功能安全操作系统
许多 ECU 需要具有功能安全认证的操作系统。这意味着具有各种汽车安全完整性等级 (ASIL) 的 ISO 26262 认证。该标准确定了四种 ASIL:ASIL A、B、C 和 D。ASIL D 具有最高的完整性要求。
所有基于 AUTOSAR 的操作系统——例如 Vector 的 Microsar 操作系统、ETAS 的 RTA-OS 和 Elektrobit 的 EB Tresos 安全操作系统——都具有功能安全等级。汽车 ECU 中常用的其他三种产品:Green Hills Integrity RTOS、Wind River VxWorks 和 BlackBerry QNX。您可以在本文中了解有关功能安全信息的更多信息。
功能安全操作系统无法管理具有大型复杂软件代码的 ECU,例如信息娱乐系统和新兴领域的高级驾驶员辅助系统 (ADAS) ECU 和自动驾驶汽车 (AV) ECU。QNX 是个例外,它是信息娱乐领域的领导者,在 ADAS 和 AV 域 ECU 方面处于有利地位。
信息娱乐中对高性能操作系统的需求为 Linux 版本打开了大门,并使其成为过去五年中最受欢迎的信息娱乐操作系统。Linux 的一个缺点是缺乏功能安全认证。当需要功能安全应用程序作为基于 Linux 的 ECU 的一部分时,管理程序操作系统一直是 Linux 的解决方案。
看起来 Linux 在不久的将来至少会有一个功能安全版本。2022 年 5 月,通用汽车宣布将使用获得功能安全认证的红帽 Linux 版本。通用汽车计划在 2023 年推出产品。目前尚不清楚红帽是否已经获得功能安全认证,但其他 Linux 供应商很可能会尝试获得功能安全认证。谷歌的信息娱乐操作系统正在快速发展,看起来像是功能安全的候选者。
操作系统生态系统支持
操作系统成功的关键是庞大的支持生态系统。支持操作系统的软件平台越多,它就越成功。操作系统可以在领先的微处理器平台和特定的 MCU 实现上运行也很重要。但是,由于汽车 ECU 以基于 ARM 的微处理器为主,因此很容易满足这一要求。
所有 MCU 应用软件都必须通过操作系统运行,这意味着成功的操作系统应该有良好的软件开发支持。
操作系统成本因素
有许多因素决定了使用操作系统的成本。本讨论假设操作系统是由汽车 OEM 购买而不是开发的。
第一个因素是操作系统的许可成本,其中包括操作系统内核、中间件和库软件,如数学、浮点、图形等。Linux 内核操作系统是一个开源代码,是一个自由软件平台。在大多数情况下,Linux 中间件和一些库需要支付许可费。
操作系统的大小将影响使用其应用程序运行软件所需的硬件数量。总代码大小会影响所需的最大永久存储大小。在磁盘时代,这并不是什么大问题,因为大多数硬盘驱动器都足够大。如今,永久存储主要是 NAND 芯片或 eMMC 模块,这通常会增加操作系统大小的额外成本。
操作系统占用空间是运行操作系统及其应用程序所需的 RAM 量。同样,操作系统占用空间的大小会影响系统的内存成本。
另一个因素是硬件成本,其中操作系统可能会影响 MCU 成本。大型操作系统可能会增加所需的 MCU 性能,这可能会增加硬件成本。
进行此讨论的原因是权衡所有潜在的操作系统成本因素。很容易假设 Linux 操作系统的免费操作系统内核将提供足够的成本节约,以超过大型操作系统可能产生的潜在额外成本。
ECU软件开发
ECU 软件开发对汽车行业至关重要,而且复杂性和工作量不断增加。传统的 ECU 软件开发最初是通过来自多个供应商的软件开发套件 (SDK) 完成的。SDK 已被集成开发环境 (IDE) 所取代,这些环境具有更好的功能并已扩展到基于 Web 的 IDE 系统。Eclipse IDE 已成为汽车和许多其他行业最流行的软件开发系统。Eclipse 由 Eclipse 基金会管理,该基金会是 IBM 于 2001 年创立的非营利性公司。
以 Web 为中心的软件开发正在迅速发展,亚马逊 AWS 尤其活跃。AWS 正在建立合作伙伴关系,以满足对包含 SaaS 功能的更好软件开发的需求。Microsoft Azure 和其他公司也在经历类似的增长。
还有一种趋势是提供专注于功能安全应用的软件开发系统。Apex.AI就是这种趋势的一个典型例子。
新兴的ECU需求
操作系统还需要整合对新兴技术需求的支持。网络安全最为重要,所有操作系统都将安全作为核心功能。额外的硬件、软件和基于云的网络安全正在成为软件定义车辆的标准,并且需要尽可能多的支持,包括来自操作系统的支持。
OTA 软件更新也越来越重要,并且可以使用操作系统服务的额外支持。OTA 平台的嵌入式软件和云功能的功能正在增加。
ECU 数据提取是第三类,它是扩展联网汽车功能的一部分。它还可以从操作系统服务和新功能中受益。
操作系统战略观点
所有汽车 ECU 都需要一个控制程序或操作系统来管理各种控制硬件组件和每个 ECU 旨在完成的应用程序的程序。随着 ECU 复杂性的增加,操作系统的复杂性也在增加。原始设备制造商将需要多个操作系统来涵盖广泛的 ECU 能力和功能。
对于简单的 ECU,OEM 似乎更喜欢基于 AUTOSAR 的操作系统。AUTOSAR 功能有所增加,但无法处理高端 ECU 复杂性,例如信息娱乐和大多数领域 ECU。Green Hills 和 Wind River 都拥有出色的操作系统,具有很强的安全性和安全性评级,是不错的选择。
高端 ECU 主要使用 QNX 或 Linux 版本作为操作系统,在需要功能安全时优先使用 QNX。Linux 已超越 QNX 成为最受欢迎的信息娱乐操作系统。QNX 正在成为域 ECU 的最爱,至少对于 ADAS 和 AV 域 ECU 而言。
有大量新闻报道称,包括大众和梅赛德斯-奔驰在内的多家 OEM 正在讨论开发自己的汽车操作系统。这是否意味着他们正在考虑制造而不是购买决定?这种策略并非没有风险。
开发操作系统是一项艰巨的任务,并且操作系统的生命周期可能为 30 到 40 年,并定期更新和不断的技术改进。Linux 大约有 30 年的发展,而 QNX 有近 40 年的发展。
开发汽车操作系统需要大量的技术专长,但供应有限,而且需要多年的开发。
GM 使用具有功能安全认证的 Red Hat Linux 的策略是为复杂的 ECU 获得自己的操作系统的更好方法。
最佳的长期操作系统策略是什么?最佳实践是从两个 ECU 类别可能最安全的操作系统开始 - 低复杂性和高复杂性。为什么?因为网络安全问题将是汽车行业数十年来面临的最严峻问题,而操作系统将发挥作用。
对于低复杂度的 ECU,Green Hills 拥有最高的安全和安全认证,包括 FAA 飞机使用认证。
对于高端 ECU,QNX 拥有比 Linux 版本更高的安全性和安全认证,并且很可能保持这一排名——即使某些 Linux 版本获得了 ISO 26262 认证。QNX 的微内核架构使操作系统更加安全。自动驾驶汽车的新标准——ISO 21448、UL 4600 和 IEEE P2851——可以在操作系统中使用一些有用的功能,而 QNX 很可能会首先开发这些功能。
-
Linux
+关注
关注
87文章
11292浏览量
209323 -
ecu
+关注
关注
14文章
886浏览量
54482
发布评论请先 登录
相关推荐
评论