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