操作系統(OS)是管理基于計算機系統的所有硬件和軟件的必需,是汽車行業的關鍵軟件平臺。本文的重點是提供教程信息和一些關于汽車OS策略的觀點。
每種OS在功能、程序大小、復雜性、開發工作量、硬件要求以及生命周期維護、支持工作量和成本方面都有很大的差異。一個OS可以是幾千行代碼的簡單控制程序,也可以是用于Linux、macOS、iOS和Windows等主流OS的數千萬行代碼。Linux內核代碼的大小因發行公司而異,GitHub版本大約有2800萬行代碼。
維基百科是OS的歷史、技術和產品的一個很好的信息來源。雖然有關于OS技術的詳細數據,但大部分內容集中在從大型機和PC到智能手機和平板電腦的傳統計算機系統上。有關于領先的汽車OS的一般信息,如Linux和QNX,但很少有關于汽車OS使用的上下文和信息。
操作系統概述
OS是計算機硬件和應用程序之間的接口。這限制了一個應用程序通過遵循編入OS的規則和程序來使用硬件。OS還包括簡化應用程序開發和執行的服務。這些服務包括管理應用程序將使用的所有硬件資源(將程序加載到內存中)與傳感器和執行器通信,存儲結果,以及許多其他功能。
還有許多額外的軟件功能被認為是OS的一部分,包括所謂的中間件、庫和其他系統軟件。
OS的能力和生態系統對于開發軟件定義汽車所需的應用程序和軟件平臺也很重要。換句話說,最好的OS選擇需要一個龐大的生態系統和基礎設施來支持未來不斷增長的軟件定義汽車。
下表總結了汽車OS的要求。
OS的許多特性決定了它的能力。單任務OS在同一時間只能運行一個程序,而多任務OS可以運行多個程序。單用戶OS沒有區分用戶的工具,但可以允許多個程序同時運行。
多用戶OS擴展了多任務處理,以運行來自多個用戶的程序。這需要跟蹤每個用戶正在使用的硬件和軟件資源。系統允許多個用戶同時與系統交互。
OS內核
OS內核(kernel)包括管理硬件和軟件的所有關鍵功能。有兩種主要的組織內核的方法:單內核或微內核OS。單內核架構包括內核空間中的所有核心OS功能,所有系統調用和OS服務都在一個地方。Linux是一種領先的單內核OS。
微內核OS擁有能夠提供實現OS所需機制的幾乎最小數量的軟件。其他OS服務被組織為分層服務,可以根據需要由微內核激活。這意味著微內核OS具有模塊化架構。
其優點是微內核的代碼空間小,且比單內核OS更安全。模塊化OS結構更適合大多數汽車ECU。QNX是一種領先的微內核OS。
Hypervisor OS
Hypervisor是用于管理多個OS平臺及其應用程序的小型軟件平臺。它也可以被稱為虛擬機(VM)監視器,是運行VM的軟件。
自20世紀60年代以來,虛擬化技術就應用于計算機行業,是IT數據中心的關鍵技術。Hypervisor對于將信息娛樂和功能安全功能結合起來很重要。
功能安全OS
許多ECU都需要具有功能安全認證的OS。這意味著要通過ISO 26262認證,并獲得各種ASILs(Automotive Safety Integrity Levels)等級。ASIL從低到高有四種等級:ASIL A、B、C、D。
所有基于AUTOSAR的OS(如Vector的Microsar OS、ETAS的RTA-OS和Elektrobit的EB Tresos Safety OS)都有功能安全評級。其他三款產品也被普遍用于汽車ECU,Green Hills Integrity RTOS、Wind River VxWorks和BlackBerry QNX。
功能安全OS無法管理諸如信息娛樂系統、新興領域的ADAS/AD ECU等大型復雜軟件代碼的ECU。唯一的例外是QNX,它是信息娛樂領域的領導者,在ADAS和AV領域ECU的定位很好。
信息娛樂系統對高性能OS的需求為Linux版本打開了大門,使其成為近5年來全球最受歡迎的信息娛樂OS(中國除外)。Linux的一個缺點是缺乏功能安全認證。當功能安全應用程序需要作為基于Linux的ECU的一部分時,hypervisor OS一直是Linux的解決方案。
OS生態系統支持
OS成功的關鍵是一個龐大的生態系統的支持。支持一個OS的軟件平臺越多,它就越成功。同樣重要的是,該OS可以運行在領先的微處理器平臺和特定的MCU實現上。然而,由于汽車ECU主要是基于Arm的微處理器,這一要求很容易滿足。
所有的MCU應用軟件都必須通過OS運行,這意味著一個成功的OS必須有良好的軟件開發支持。
OS成本因素
決定使用OS成本的因素有很多。本文假設OS是由汽車OEM購買的,而不是開發的。
第一個因素是OS的許可成本,其中包括OS內核、中間件和庫軟件(如數學、浮點、圖形等)。Linux內核OS是一個開源的免費軟件平臺。在大多數情況下,Linux中間件和一些庫需要支付許可費。
OS的大小將影響運行軟件及其應用程序所需的硬件數量。總代碼大小影響所需的最大永久存儲大小。在磁盤時代,這并不是一個重要的因素,因為大多數硬盤驅動都足夠大。今天,永久存儲主要是NAND芯片或eMMC模塊,這通常會增加OS大小的額外成本。
OS的占用空間是運行OS及其應用程序所需的RAM。同樣,OS占用空間的大小會影響系統的內存成本。
另一個因素是硬件成本,OS可能會影響MCU的成本。一個大的OS可能會增加所需的MCU性能,這可能會增加硬件成本。
本文的討論是為了權衡所有潛在的OS成本因素。人們很容易認為,Linux的免費OS內核將提供足夠的成本節約,超過大型OS將產生的潛在額外成本。
ECU軟件開發
ECU軟件開發對汽車行業至關重要,其復雜性和工作量也在不斷增加。傳統的ECU軟件開發最初是通過多個供應商提供的SDK完成的。SDK已經被IDE所取代,后者具有更好的功能,并已擴展為基于web的IDE系統。Eclipse IDE已經成為汽車和許多其他行業最流行的軟件開發系統。Eclipse是由Eclipse Foundation管理的,Eclipse Foundation是IBM在2001年創建的一個非營利性組織。
以web為中心的軟件開發正在迅速發展,Amazon AWS尤其活躍。AWS正在建立合作伙伴關系,以滿足更好的軟件開發需求,包括SaaS功能。微軟Azure和其他公司也在經歷類似的增長。
提供專注于功能安全應用程序的軟件開發系統也是一種趨勢。Apex.AI是這一趨勢的一個典型例子。
新興ECU的需求
OS還需要包含對新興技術需求的支持。網絡安全是最重要的,所有OS都將安全作為核心功能。額外的硬件、軟件和基于云的網絡安全正在成為軟件定義汽車的標準,需要盡可能多的支持,包括來自OS的支持。
OTA軟件更新也越來越重要,可以使用OS服務的額外支持。OTA平臺在嵌入式軟件和云功能方面的能力都在增加。
ECU數據提取是網聯汽車擴展功能的第三種類型。它還可以受益于OS服務和新功能。
OS戰略視角
所有的汽車ECU都需要一個控制程序或OS來管理各種程序,以控制硬件組件和每個ECU設計完成的應用。隨著ECU復雜度的增加,OS的復雜度也隨之增加。整車廠將需要多個OS,以覆蓋ECU的大范圍能力和功能。
對于簡單的ECU,OEM似乎更喜歡基于AUTOSAR的OS。AUTOSAR的能力有所提高,但無法處理高端ECU的復雜性,如信息娛樂和大多數域控制器。Green Hills和Wind River都擁有優秀的OS,安全性和安全性評級都很高,都是不錯的選擇。
高端ECU主要使用QNX或Linux版本作為OS,當需要功能安全時,QNX是首選。Linux已經超越QNX成為最受歡迎的信息娛樂操作系統。QNX正在成為域控制器的首選,至少ADAS和AV域控制器是如此。
開發一個OS是一個艱難的任務,OS可能有30-40年的生命周期,并定期更新和持續的技術改進。Linux已經發展了大約30年,而QNX已經發展了近40年。開發一款汽車OS需要大量的專業技術,而這些技術目前有限,而且需要多年的開發時間。
什么是最好的長期OS策略?最好的做法是從兩個ECU類別(低復雜性和高復雜性)最安全的OS開始。為什么?因為網絡安全問題將是汽車行業幾十年來面臨的最棘手的問題,而OS將發揮重要作用。
對于低復雜度的ECU,Green Hills擁有最高的安全和安全認證,包括FAA的飛機使用認證。
對于高端ECU,QNX擁有比Linux版本更高的安全和安全認證,并且很可能保持這一排名(即使一些Linux版本獲得了ISO 26262認證)。QNX的微內核架構使OS更加安全。AVs的新標準(ISO 21448、UL 4600和IEEE P2851)可以在OS中使用一些有用的功能,QNX可能會首先開發這些功能。
| 誠邁科技汽車OS技術能力
誠邁科技在智能汽車領域深耕十余年,掌握了全棧式的電子架構軟件開發能力,熟悉QNX、Linux、Android、HarmonyOS等汽車操作系統,具備底層系統軟件層、功能軟件層、上層應用算法軟件層開發能力,不僅能為OEM和Tier1提供更多選擇以及更靈活的定制服務,也可助力客戶完成產品智能升級的研發目標,解決安全、效率和成本的問題。
評論
查看更多