汽车操作系统的趋势

发布于 2023-5-6 11:15
浏览
0收藏

操作系统 (OS) 需要管理基于计算机的系统的所有硬件和软件,并且是汽车行业的关键软件平台。本文侧重于提供教程信息和汽车操作系统策略的一些观点。


每个操作系统在功能、程序大小、复杂性、开发工作和硬件要求以及生命周期维护、支持工作和成本方面都有很大差异。一个操作系统可以是几千行代码的简单控制程序,也可以是Linux、macOS、iOS 和 Windows等主要操作系统的数千万行代码。Linux 内核代码大小因发行公司而异,GitHub 版本大约有 2800 万行代码。


维基百科是获取操作系统历史、技术和产品信息的重要来源。有关于操作系统技术的详细资料,但大部分内容都集中在从大型计算机和个人电脑到智能手机和平板电脑的传统计算机系统上。有关于领先的汽车操作系统(如 Linux 和 QNX)的一般信息,但关于汽车操作系统使用情况的上下文和信息很少。

操作系统概述

操作系统提供计算机硬件和应用程序之间的接口。这限制了应用程序通过遵循编程到操作系统中的规则和程序来使用硬件。该操作系统还包括简化应用程序开发和执行的服务。这些服务包括管理应用程序将使用的所有硬件资源——将程序加载到内存中、与传感器和执行器通信、存储结果以及许多其他功能。


还有许多其他软件功能被视为操作系统的一部分,包括所谓的中间件、库和其他系统软件。


操作系统功能和生态系统对于开发软件定义车辆所需的应用程序和软件平台也很重要。换句话说,最好的操作系统选择需要一个庞大的生态系统和基础设施来支持未来不断增长的软件定义车辆。


下表总结了汽车操作系统的要求。

汽车操作系统的趋势-汽车开发者社区

操作系统的许多特性决定了它的能力。单任务操作系统一次只能运行一个程序,而多任务操作系统可以同时运行多个程序。单用户操作系统没有区分用户的功能,但可能允许多个程序同时运行。


多用户操作系统扩展了多任务处理以运行来自多个用户的程序。这需要跟踪每个用户使用的硬件和软件资源。该系统允许多个用户同时与系统交互。

操作系统内核

操作系统内核包括管理硬件和软件的所有关键功能。组织内核的主要方法有两种:单片内核或微内核操作系统。整体内核架构包括内核空间中的所有核心操作系统功能——所有系统调用和操作系统服务都在一个地方。Linux 是领先的单片内核操作系统。


微内核操作系统具有几乎最少数量的软件,可以提供实现操作系统所需的机制。额外的操作系统服务被组织为分层服务,可以根据需要由微内核激活。这意味着微内核操作系统具有模块化架构。


优点是微内核具有较小的代码空间,并且可以比单片内核操作系统更安全。模块化操作系统结构更适合大多数汽车 ECU。QNX 是领先的微内核操作系统。

管理程序操作系统

管理程序是一个小型软件平台,用于管理多个操作系统平台及其应用程序。它也可以称为虚拟机 (VM) 监视器,它是运行 VM 的软件。


自 1960 年代以来,虚拟化一直用于计算机行业,是 IT 数据中心的一项关键技术。管理程序对于结合信息娱乐和功能安全功能非常重要,例如用于备用监视器的主机显示器。

功能安全操作系统

许多 ECU 都需要具有功能安全认证的操作系统。这意味着具有各种汽车安全完整性等级 (ASIL) 的 ISO 26262 认证。该标准确定了四种 ASIL:ASIL A、B、C 和 D。ASIL D 具有最高的完整性要求。


所有基于 AUTOSAR 的操作系统——例如 Vector 的 Microsar OS、ETAS 的 RTA-OS 和 Elektrobit 的 EB Tresos Safety OS——都有功能安全评级。其他三种产品通常用于汽车 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 月,通用汽车宣布将使用获得功能安全认证的 Red Hat Linux 版本。通用汽车计划在 2023 年推出产品。目前尚不清楚 Red Hat 是否已经获得功能安全认证,但很可能其他 Linux 供应商将尝试获得功能安全认证。谷歌的信息娱乐操作系统正在快速进步,看起来像是功能安全的候选者。

操作系统生态系统支持

操作系统成功的关键是庞大的支持生态系统。支持操作系统的软件平台越多,它就越成功。操作系统可以在领先的微处理器平台和特定的 MCU 实现上运行也很重要。然而,由于汽车 ECU 以基于 ARM 的微处理器为主,因此这一要求很容易满足。


所有 MCU 应用软件都必须通过操作系统运行,这意味着成功的操作系统应该有良好的软件开发支持。

操作系统成本因素

有许多因素决定了使用操作系统的成本。此讨论假设操作系统是由汽车原始设备制造商购买而非开发的。


第一个因素是操作系统的许可成本,包括操作系统内核、中间件和数学、浮点、图形等库软件。Linux 内核操作系统是开源代码,是一个自由软件平台。在大多数情况下,Linux 中间件和一些库需要支付许可费用。


操作系统的大小将影响运行软件及其应用程序所需的硬件数量。总代码大小会影响所需的最大永久存储大小。在磁盘时代,这并不是什么大问题,因为大多数硬盘驱动器都足够大。如今,永久性存储主要是 NAND 芯片或 eMMC 模块,这通常会增加操作系统大小的额外成本。


操作系统占用空间是运行操作系统及其应用程序所需的 RAM 量。同样,操作系统占用空间的大小会影响系统的内存成本。


另一个因素是硬件成本,操作系统可能会影响 MCU 成本。大型操作系统可能会增加所需的 MCU 性能,这可能会增加硬件成本。


进行此讨论的原因是权衡所有潜在的操作系统成本因素。人们很容易假设 Linux 操作系统的免费操作系统内核将提供足够的成本节省,以超过大型操作系统可能产生的潜在额外成本。

ECU软件开发

ECU 软件开发对汽车行业至关重要,并且复杂性和工作量不断增加。传统的 ECU 软件开发最初是通过来自多个供应商的软件开发工具包 (SDK) 完成的。SDK 已被具有更好功能的集成开发环境 (IDE) 所取代,并且已扩展到基于 Web 的 IDE 系统。Eclipse IDE 已成为汽车和许多其他行业最流行的软件开发系统。Eclipse 由 Eclipse Foundation 管理,这是一家由 IBM 于 2001 年创立的非营利性公司。


以 Web 为中心的软件开发发展迅速,其中 Amazon AWS 尤为活跃。AWS 正在建立合作伙伴关系,以满足对包含 SaaS 功能的更好软件开发的需求。微软 Azure 和其他公司也在经历类似的增长。


还有一种趋势是提供专注于功能安全应用程序的软件开发系统。Apex.AI是这种趋势的典型例子。

新兴的 ECU 需求

操作系统还需要整合对新兴技术需求的支持。网络安全是最重要的,所有操作系统都将安全作为核心功能。额外的硬件、软件和基于云的网络安全正在成为软件定义车辆的标准,并且需要尽可能多的支持,包括来自操作系统的支持。


OTA 软件更新也变得越来越重要,并且可以使用操作系统服务的额外支持。OTA 平台正在增加嵌入式软件和云功能的功能。


ECU 数据提取是第三个类别,是扩展联网汽车功能的一部分。它还可以受益于操作系统服务和新功能。

操作系统战略观点

所有汽车 ECU 都需要一个控制程序或操作系统来管理各种程序,这些程序控制硬件组件和每个 ECU 旨在完成的应用程序。随着 ECU 的复杂性增加,操作系统的复杂性也随之增加。OEM 将需要多个操作系统来涵盖范围广泛的 ECU 功能。


对于简单的 ECU,OEM 似乎更青睐基于 AUTOSAR 的操作系统。AUTOSAR 功能有所增加,但无法处理高端 ECU 的复杂性,例如信息娱乐和大多数领域 ECU。Green Hills 和 Wind River 都有出色的操作系统,具有很强的安全性和安全性评级,是不错的选择。


高端 ECU 主要使用 QNX 或 Linux 版本作为操作系统,当需要功能安全时,QNX 受到青睐。Linux 已经超越 QNX 成为最受欢迎的信息娱乐操作系统。QNX 正在成为领域 ECU 的最爱,至少对于 ADAS 和 AV 领域 ECU 来说是这样。


有许多媒体报道称,包括大众和梅赛德斯-奔驰在内的几家原始设备制造商正在讨论开发自己的汽车操作系统。这是否意味着他们正在考虑制造而不是购买决定?这种策略并非没有风险。


开发操作系统是一项艰巨的任务,操作系统可能有 30 到 40 年的生命周期,定期更新和不断的技术改进。Linux大约有30年的发展,而QNX有近40年的发展。

开发汽车操作系统需要大量的技术专长,而这些专长是有限的,并且需要多年的开发。


通用汽车使用具有功能安全认证的 Red Hat Linux 的策略是为复杂的 ECU 获得自己的操作系统的更好方法。


最好的长期操作系统策略是什么?最佳实践是从可能适用于两个 ECU 类别的最安全操作系统开始——低复杂性和高复杂性。为什么?因为网络安全问题将是汽车行业几十年来面临的最棘手的问题,而操作系统将有所作为。


对于低复杂度的 ECU,Green Hills 拥有最高的安全和安全认证,包括飞机使用的 FAA 认证。


对于高端 ECU,QNX 拥有比 Linux 版本更高的安全和安全认证,并且很可能会保持这一排名——即使某些 Linux 版本获得了 ISO 26262 认证。QNX 的微内核架构造就了更安全的操作系统。AV 的新标准——ISO 21448、UL 4600 和 IEEE P2851——可以使用操作系统中的一些有用功能,QNX 很可能首先开发这些功能。


文章转载自公众号:软件赋能汽车

分类
标签
收藏
回复
举报
回复
相关推荐