Understanding automotive operating system perspectives is paramount to ensuring safe and reliable vehicles.
操作系统 (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 购买而不是开发的。
The first factor is the licensing cost of the OS, which includes the OS kernel, middleware, and library software such as math, floating point, graphics, and others. The Linux kernel OS is an open–source code and is a free software platform. In most cases, there are licensing fees for Linux middleware and some libraries.
The size of an OS will impact the amount of hardware required to run software with its applications. The total code size impacts the maximum permanent storage size needed. In the disk era, this was not much of a factor, as most hard disk drives were big enough. Today, the permanent storage is primarily NAND chips or eMMC modules, which can often add extra cost for OS size.
The OS footprint is the amount of RAM needed to run the OS and its applications. Again, the size of the OS footprint can impact the memory cost of the system.
Another factor is the hardware cost, where the OS may impact the MCU cost. A large OS is likely to increase the needed MCU performance, which could increase the hardware costs.
The reason for this discussion is to weigh all potential OS cost factors. It is too easy to assume that the free OS kernel of a Linux OS will provide enough cost savings to outweigh potential extra costs that a large OS will generate.
ECU software development
ECU software development is crucial to the automotive industry, and complexity and effort continue to grow. Traditional ECU software development was initially done via software development kits (SDKs) from multiple suppliers. SDKs have been replaced by integrated development environments (IDEs) that have much better capabilities and have expanded into web–based IDE systems. The Eclipse IDE has become the most popular software development system for auto and many other industries. Eclipse is managed by the Eclipse Foundation, a nonprofit corporation founded by IBM in 2001.
Web–centric software development is growing rapidly, with Amazon AWS being especially active. AWS is building partnerships to serve the need for better software development with SaaS functionality included. Microsoft Azure and others are also experiencing similar growth.
There is also a trend to provide software development systems focused on functional–safety applications. Apex.AI is a prime example of this trend.
Emerging ECU needs
The OS also needs to incorporate support for emerging technology needs. Cybersecurity is most important, and all OSes include security as a core function. Additional hardware, software, and cloud–based cybersecurity is becoming standard in software–defined vehicles and needs as much support as possible, including from the OS.
OTA software updates are also growing in importance and can use extra support from OS services. OTA platforms are increasing in capabilities from both embedded software and cloud functionality.
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 很可能会首先开发这些功能。
审核编辑 黄昊宇
-
汽车操作系统
+关注
关注
0文章
19浏览量
7241
发布评论请先 登录
相关推荐
评论