ISO 26262定义了汽车安全完整性等级ASIL,通过对潜在危险进行风险分析,确定危害事件,并判断危害事件的严重性、暴露性和可控性,将安全等级由低到高划分为QM/A/B/C/D,其中ASIL D级最为严苛。
所有基于AUTOSAR(Automotive Open System Architecture,汽车开放系统架构)的操作系统,如Microsar操作系统、RTA操作系统和EB Tresos安全操作系统都具备功能安全等级认证。汽车ECU中常用的其他三款操作系统为:Integrity RTOS、VxWorks和QNX。
然而功能安全操作系统无法管理具有大型复杂软件代码的ECU,例如车载信息娱乐系统的复杂ECU、ADAS ECU和AV ECU。唯一例外的是QNX操作系统,其在ADAS和AV域ECU方面具有明显优势。
为了使本文重点关注安全性,我们没有分析操作系统的非安全方面(例如调试或分析工具)或操作系统范围之外的其他相关方面(例如支持中间件、编译器等) )。然而,这些也可能是决定操作系统的关键区别因素(最重要的是许可证成本!!)。
从功能安全的角度来看,对操作系统的期望是什么?
security和safety是两个不同的主题,各有其目的。然而,当我们转向 ADAS、V2X、域控制器等时,不仅危险成倍增加,而且由于连接性的增加而产生的威胁(基于互联网的攻击、无线攻击、传感器攻击等)。安全威胁可能会导致安全功能/机制受损或功能不正确。因此,我们已将此方面添加到我们的操作系统考虑因素中。
ASIL操作系统从哪些方面进行了分析?
我们分析了各种操作系统可用的公共文献,以了解以下几个方面:
- 操作系统达到的最高 ASIL 级别
- 操作系统是否符合 AUTOSAR 标准?
- 操作系统是否符合 POSIX 标准?
- 操作系统实现的其他安全标准(即 ISO26262 以外的标准)
- 操作系统是否支持多核和众核架构?
- 操作系统是否使用MMU?
- 操作系统是否使用MPU?
- 操作系统架构(内核性质、调度策略等)
- 操作系统如何实现内存(即任务/进程内存)不受干扰
- 操作系统如何检测或防止堆栈损坏/上溢/下溢
- 操作系统如何实现安全的任务间/进程间通信
- 操作系统如何实现定时和执行不受干扰
- 操作系统如何确保高可靠性、可用性和性能
- 操作系统支持的微控制器
- 操作系统如何考虑其架构中的安全性
ASIL 操作系统的广泛类别
我们将基于 ASIL 的操作系统大致分为 3 组:
市场上不同的操作系统
这些是我们分析过的操作系统:
- Vector’s Microsar OS
- ETAS’s RTA-OS
- Elektrobit’s EB Tresos Safety OS
- Blackberry’s QOS (QNX for Safety)
- Greenhills Integrity RTOS
- Windriver’s VxWorks
- eSOL's eMCOS POSIX
- WHIS’s SAFERTOS
- SCIOPTA Safety RTOS and
- eT-Kernel Compact
- alios
- hamony os
基于经典 AUTOSAR 的操作系统
属于这一类别的有 -
Vector 的 Microsar OS
、
ETAS 的 RTA-OS
和
Elektrobit 的 EB Tresos Safety OS
。
所有这些操作系统都支持单核和多核处理器,并通过了 ASIL-D 认证。EB Tresos Safety OS 还获得了 IEC61508 SIL3 认证。