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 認證。