汽車操作系統(tǒng)典型可分為兩大類,一類是針對(duì)異構(gòu)高性能運(yùn)算芯片和新型E/E架構(gòu)帶來(lái)的整車系統(tǒng),另一類是針對(duì)中控車機(jī)的。這里有非常多的基礎(chǔ)概念需要理清。
什么是操作系統(tǒng),狹義的操作系統(tǒng)包含原創(chuàng)的內(nèi)核。目前主流原創(chuàng)內(nèi)核不外乎Linux、微內(nèi)核和Windows三種。實(shí)際上我們熟悉的Linux只是內(nèi)核而不能稱得上是操作系統(tǒng),Ubuntu才是操作系統(tǒng)。內(nèi)核它沒(méi)有統(tǒng)一的操作接口,都需要自己開(kāi)發(fā)。絕大部分程序員都不關(guān)心內(nèi)核,操作系統(tǒng)用系統(tǒng)調(diào)用,system call來(lái)為程序員服務(wù),當(dāng)然,直接使用系統(tǒng)調(diào)用是非常繁瑣的,因此通常會(huì)在這之上提供一層封裝。如果是Windows,這個(gè)封裝就是Windows API,Linux只是一個(gè)開(kāi)源的內(nèi)核,如果一定要找一個(gè)類似的東西話那就是libc,也就是C標(biāo)準(zhǔn)庫(kù),這里同樣包括了對(duì)系統(tǒng)調(diào)用的封裝以及一些庫(kù)函數(shù),但libc不包含創(chuàng)建帶有圖形界面應(yīng)用程序的功能。
目前座艙的操作系統(tǒng)可以分為三大類:一是微內(nèi)核的QNX;另一類是基于Linux的,包括像特斯拉這樣的Linux直改,還有車規(guī)級(jí)Linux的AGL,還有GENIVI聯(lián)盟(更名為COVESA);再一大類是安卓,包括了兩種,一種是國(guó)內(nèi)的安卓直接改,還有一類是谷歌特別為車載推出的AAOS,注意,這可不是Android Auto那種App。為什么要把安卓獨(dú)立在Linux之外,下文會(huì)說(shuō)。華為的鴻蒙也勉強(qiáng)可以算是Linux直改,但它不能算嚴(yán)格的微內(nèi)核,也不是Linux的宏內(nèi)核,叫Split-Kernel比較合適,拿了宏內(nèi)核的組件構(gòu)成了微內(nèi)核。
2021-2026年新車座艙操作系統(tǒng)預(yù)測(cè)
來(lái)源:佐思汽研
操作系統(tǒng),應(yīng)用軟件設(shè)計(jì),網(wǎng)絡(luò)協(xié)議棧等等,都體現(xiàn)了分層思想。分層中,每個(gè)層次負(fù)責(zé)不同的功能。一般來(lái)講,下層為上層提供服務(wù),上層不要知道下層的具體實(shí)現(xiàn)細(xì)節(jié),只需使用下層提供的服務(wù)。而層與層之間聯(lián)系的橋梁就是“API接口”。OS調(diào)用硬件提供的API,軟件調(diào)用OS提供的API,而用戶調(diào)用軟件提供的API。
圖片來(lái)源:互聯(lián)網(wǎng)
典型的嵌入式系統(tǒng)結(jié)構(gòu)如上圖,實(shí)際硬件平臺(tái)還可以再分為兩部分,一部分是板級(jí)支持包即BSP,一部分是硬件本身。BSP是介于主板硬件和操作系統(tǒng)中驅(qū)動(dòng)層程序之間的一層,一般認(rèn)為它屬于操作系統(tǒng)一部分,主要是實(shí)現(xiàn)對(duì)操作系統(tǒng)的支持,為上層的驅(qū)動(dòng)程序提供訪問(wèn)硬件設(shè)備寄存器的函數(shù)包,使之能夠更好的運(yùn)行于硬件主板,類似于電腦的BIOS。BSP就是操作系統(tǒng)與硬件間的接口。
后來(lái)微軟發(fā)現(xiàn),程序設(shè)計(jì)直接與硬件通信,是造成系統(tǒng)不穩(wěn)定的主要原因。在得出這個(gè)結(jié)論的基礎(chǔ)上,微軟公司在Windows NT上取消了對(duì)硬件的直接訪問(wèn),首先提出了硬件抽象層 (Hardware AbstractionLayer ,簡(jiǎn)稱HAL) 的概念,硬件抽象層就是:“將硬件差別與操作系統(tǒng)其他層相隔離的一薄層軟件,它是通過(guò)采用使多種不同硬件在操作系統(tǒng)的其他部分看來(lái)是同一種虛擬機(jī)的做法來(lái)實(shí)現(xiàn)的。這種 HAL設(shè)計(jì)思路被一些嵌入式操作系統(tǒng)參考,其系統(tǒng)內(nèi)核被分成兩層,上層稱為“內(nèi)核(Kernel)”,底層則稱為 “硬件抽象層 ”。
促使HAL出現(xiàn)的另一個(gè)原因是芯片的指令集系統(tǒng)越來(lái)越復(fù)雜,且迭代速度很快。不將硬件隔離,軟件工作復(fù)用率太低。
圖片來(lái)源:互聯(lián)網(wǎng)
引入HAL之后操作系統(tǒng)將會(huì)使用相對(duì)更為統(tǒng)一的HAL接口來(lái)實(shí)現(xiàn)對(duì)硬件的操作,而不是直接使用BSP庫(kù)。當(dāng)然,HAL庫(kù)的實(shí)現(xiàn)是基于BSP庫(kù)的,只是將其進(jìn)一步封裝,形成統(tǒng)一的標(biāo)準(zhǔn)。順序依次是hardware –> board support package –> hardware abstract layer –>driver –> operating system –> application,當(dāng)然嵌入式系統(tǒng)中操作系統(tǒng)并不是必須的,并且在操作系統(tǒng)和應(yīng)用程序之間可以再有一層中間件Middleware層,用于提供更多的系統(tǒng)功能,這個(gè)中間件Middleware層也被稱作SDK。
圖片來(lái)源:互聯(lián)網(wǎng)
上圖是安卓的架構(gòu),Android的硬件抽象層,簡(jiǎn)單來(lái)說(shuō),就是對(duì)Linux內(nèi)核驅(qū)動(dòng)程序的封裝,向上提供接口,屏蔽低層的實(shí)現(xiàn)細(xì)節(jié)。也就是說(shuō),把對(duì)硬件的支持分成了兩層,一層放在用戶空間(User Space),一層放在內(nèi)核空間(Kernel Space),其中,硬件抽象層運(yùn)行在用戶空間,而Linux內(nèi)核驅(qū)動(dòng)程序運(yùn)行在內(nèi)核空間。傳統(tǒng)的Linux 系統(tǒng)則把對(duì)硬件的支持和管理全部放在內(nèi)核空間中,即把對(duì)硬件的全部支持都放在硬件驅(qū)動(dòng)模塊當(dāng)中。
Android 在用戶空間中新建一個(gè)HAL層來(lái)支持硬件設(shè)備的主要原因還是因?yàn)锳ndroid 使用的開(kāi)源協(xié)議是 Apache License,這個(gè)協(xié)議比較寬松,其允許開(kāi)發(fā)者獲取并修改了源碼之后,不用把源碼公開(kāi)出來(lái)。而 Linux 使用的開(kāi)源協(xié)議 GPL,它的要求限制就比較多,要求開(kāi)發(fā)者添加或修改了源碼之后,必須把添加或修改后的代碼公開(kāi)出來(lái)。HAL層分開(kāi)保護(hù)了開(kāi)發(fā)廠家的利益,但脫離了Linux的開(kāi)源,安卓是開(kāi)放的,但不是開(kāi)源的,這是為什么把安卓從Linux分出去的主要原因。
圖片來(lái)源:互聯(lián)網(wǎng)
上圖為QNX的架構(gòu),與安卓不同的是QNX沒(méi)有獨(dú)立的HAL層,QNX還是采用BSP的方式。
圖片來(lái)源:互聯(lián)網(wǎng)
上面為三種內(nèi)核架構(gòu)的對(duì)比,微內(nèi)核操作系統(tǒng)使用進(jìn)程來(lái)隔離系統(tǒng)組件,這些組件之間的通信使用了消息傳遞方式來(lái)實(shí)現(xiàn)一個(gè)組件對(duì)另一個(gè)組件的調(diào)用-這實(shí)際上是進(jìn)行了一次RPC(遠(yuǎn)程過(guò)程調(diào)用協(xié)議)調(diào)用。但這種類似RPC的方式是通過(guò)進(jìn)程間通信(IPC)機(jī)制實(shí)現(xiàn)的,其性能一般低于傳統(tǒng)操作系統(tǒng)的系統(tǒng)調(diào)用的性能。這個(gè)IPC有一點(diǎn)點(diǎn)HAL的意味。
因?yàn)镼NX是微內(nèi)核,這就意味著為其兼容性比較差,開(kāi)放性比較差,當(dāng)然,換來(lái)的是實(shí)時(shí)性很好,安全性極高。安卓的開(kāi)放性吸引了無(wú)數(shù)開(kāi)發(fā)者,而QNX凡事都需要黑莓自己去做,這就是BSP需要為硬件定制,而基于QNX的應(yīng)用軟件自然就很少人開(kāi)放。黑莓一家的開(kāi)發(fā)能力有限。這也是鴻蒙為什么要兼容安卓的原因,不兼容根本無(wú)法推廣。
隨著座艙聯(lián)網(wǎng)功能的拓展,QNX顯得不合時(shí)宜。
Genivi在2021年10月改名為COVESA即Connected Vehicle Systems Alliance。其頂級(jí)成員是寶馬和博世,核心會(huì)員是電裝、現(xiàn)代摩比斯、LG、瑞薩、風(fēng)河、Mentor汽車和Geotab。其他重要成員還有奔馳、本田、現(xiàn)代汽車、ARM、瑞薩、英偉達(dá)、NXP。寶馬、奔馳幾乎全線使用GENIVI的Linux平臺(tái),現(xiàn)代的Genesis也是如此,其他廠家較少見(jiàn)到有用Genivi。
AGL即Automotive Grade Linux,車規(guī)級(jí)Linux。成立于2016年1月,但是第一版AGL發(fā)布是在2014年的6月30日,實(shí)際上就是Tizen的修改版,Tizen源自三星,Tizen是三星電子開(kāi)發(fā)的一款基于Linux核心的開(kāi)放源代碼移動(dòng)操作系統(tǒng),可適用設(shè)備包括智能手機(jī)、平板電腦、智能手表、上網(wǎng)本、車載信息娛樂(lè)設(shè)備(IVI)和智能電視。該項(xiàng)目最初由Linux基金會(huì)以及LiMo基金會(huì)合力推出,目的在于取代MeeGo與LiMo平臺(tái)。在Linux基金會(huì)中,由技術(shù)指導(dǎo)小組(TSG)管理。目前三星是唯一推出使用 Tizen 的設(shè)備的業(yè)者,也是 Tizen 的最大支持者。至 2017 年結(jié)束,Tizen 是世界第二大智能手表操作系統(tǒng),僅次于蘋果 watchOS,比基于 Android 的 Wear OS 還要多。2011年9月,三星和英特爾與Linux基金會(huì)宣布致力在2012年開(kāi)發(fā)出Tizen,2012年1月1日,LiMo基金會(huì)更名為Tizen協(xié)會(huì)。大概在2015年,Tizen就基本沒(méi)人支持了,但是AGL開(kāi)始慢慢起來(lái)。這也算是失之東隅,收之桑榆。
AGL的頂級(jí)白金會(huì)員有亞馬遜、馬自達(dá)、電裝、瑞薩、鈴木、豐田、松下。白銀會(huì)員則有愛(ài)信精機(jī)、奔馳、福特、高通、上汽、大眾。其他重要會(huì)員還有阿爾派、ARM、博世、BOSE、中國(guó)移動(dòng)、大陸、德賽西威、富士通、本田、現(xiàn)代、三星哈曼、HERE、日立、GreenHills、英特爾、JVC建伍、李爾、LG、馬瑞利、Mentor、Microchip、三菱、NEC、東軟、日本精機(jī)、NXP、英偉達(dá)、三星、先鋒、索尼、東芝、Telechips、德州儀器。
目前采用AGL的車型主要有新一代奧迪MIB3TOP、豐田凱美瑞、馬自達(dá)3和斯巴魯傲虎及力獅。還有一款奔馳的MPV。大眾在2019年4月加入AGL,大眾未來(lái)也極有可能選用AGL做車機(jī)系統(tǒng)。
AGL的主要優(yōu)勢(shì)之一是它的統(tǒng)一代碼庫(kù)(UCB),這是一個(gè)新的Linux發(fā)行版,它基于AGL和另外兩個(gè)汽車開(kāi)源項(xiàng)目:Tizen和GENIVI Alliance。UCB是第二代Linux汽車系統(tǒng)。它從底層開(kāi)始開(kāi)發(fā),一直到特定的汽車應(yīng)用軟件。完成了操作系統(tǒng)大約70%的工作。
目前AGL應(yīng)用都在IVI(In-VehicleInfotainment)上,AGL正努力開(kāi)拓在儀表和ADAS領(lǐng)域,不過(guò)這兩個(gè)領(lǐng)域?qū)?shí)時(shí)性要求較高,阻力很大。
在很多廠家都使用手機(jī)版安卓之時(shí),谷歌也分別推出了Android Auto和Android Automotive OS,安卓Auto是一個(gè)超級(jí)App,不是一個(gè)操作系統(tǒng),但Android Automotive OS就是一個(gè)操作系統(tǒng),簡(jiǎn)稱AAOS。Android 官網(wǎng)上, Android Auto這個(gè)分類,是和 Android TV、WebOS by Google 并列。而在 Android 官網(wǎng)開(kāi)發(fā)者頁(yè)面處,我們能發(fā)現(xiàn)更多谷歌意圖獨(dú)立車載系統(tǒng)的想法。在Google官方的「Android developer guide」(安卓開(kāi)發(fā)者指南)中,Android Automotive OS和Chrome OS也是以「OS(operationsystem,操作系統(tǒng))」命名的。AAOS確實(shí)是為了解決Android本身在車機(jī)方面的一些問(wèn)題。Automotive OS采用了與正代安卓差異較大的顯示和交互邏輯,「區(qū)塊」成為 Automotive OS 最基本的設(shè)計(jì)語(yǔ)言。在操作準(zhǔn)確度要求非常高的車內(nèi)環(huán)境里面,觸屏相對(duì)孱弱的反饋被谷歌以碩大的圖標(biāo)設(shè)計(jì)和菜單劃分得以補(bǔ)償。
早在2016年,Google官方統(tǒng)計(jì),安卓的碎片化版本已經(jīng)達(dá)到了6000多個(gè)不同的版本,而且隨著時(shí)間的推移,安卓的版本碎片化也越來(lái)越嚴(yán)重。早年,在手機(jī)領(lǐng)域,同等條件下,相比安卓系統(tǒng)而言,蘋果的系統(tǒng)會(huì)更加的流暢一點(diǎn),也是安卓碎片化最被詬病的槽點(diǎn)。這其中有兩個(gè)主要原因。安卓平臺(tái)最大的缺點(diǎn)就是碎片化嚴(yán)重,設(shè)備繁多,品牌眾多,版本各異,分辨率不統(tǒng)一等,任何一個(gè)成功的智能操作系統(tǒng)都是由龐大的軟件資源支撐起來(lái),這要求系統(tǒng)和硬件有一定的一致性,這才能確保軟件的兼容性,以確保軟件和設(shè)備完全兼容。而由于Android完全免費(fèi)以及完全開(kāi)源的性質(zhì),最終導(dǎo)致Android設(shè)備的軟件兼容性變差。一言以概之,因?yàn)?,?nèi)核選擇更小,可以由車企自由定制,并管理版本。超98%的應(yīng)用存在開(kāi)發(fā)隱患、修復(fù)管理滯后、漏洞監(jiān)測(cè)困難等安全風(fēng)險(xiǎn)。92%安卓應(yīng)用存在過(guò)度獲取隱私權(quán)限。作為一款車載,很多情況下,是不需要考慮兼容Android的所有應(yīng)用,也不會(huì)允許別的第三方軟件加入進(jìn)來(lái),這相對(duì)于自身也是一種保護(hù)。
安卓是有大量的應(yīng)用,但是不同廠商的定制系統(tǒng),很可能導(dǎo)致未經(jīng)過(guò)A廠商設(shè)備適配的B廠商安卓應(yīng)用無(wú)法安裝、使用出錯(cuò)、安全問(wèn)題。同時(shí),Android國(guó)內(nèi)版本的大量應(yīng)用,在不同的應(yīng)用市場(chǎng)無(wú)法做到嚴(yán)格審核,安全存隱患。
最終于2017年3月,谷歌正式宣布AAOS,第一個(gè)采用AAOS的是沃爾沃旗下的電動(dòng)車Polestar。
2022 GMC Hummer EV
2022 GMC Sierra
2022 GMC Yukon
2022 Chevrolet Tahoe
2022 Chevrolet Suburban
2022 Chevrolet Silverado
2023 Cadillac Lyriq
2022 Renault Mégane E-Tech Electric
2021 Volvo XC40 P8
2021 Volvo XC40 Recharge
2022 Volvo C40 Recharge
2022 Volvo XC60
2022 Volvo S90
2022 Volvo V90
2022 Volvo V90 Cross Country
2021 Lucid Air
上面為確定使用AAOS的車型,還未確定車型但確定使用的還有2023年的PSA與FCA,包括Dodge Durango 和Chrysler Pacifica,2023年的福特和林肯,2022年的本田。
目前AAOS主要在英特爾A3900系列和高通SA8150/8155上運(yùn)行,谷歌一開(kāi)始就是和英特爾合作,A3900系列的AAOS的支持度比高通還高。
AAOS的架構(gòu)
圖片來(lái)源:互聯(lián)網(wǎng)
圖片來(lái)源:互聯(lián)網(wǎng)
典型的AAOS,第一輛采用AAOS的車沃爾沃旗下的Polestar 2,由安波福供應(yīng)車機(jī)和軟件系統(tǒng),屏幕尺寸為11.15英寸,分辨率1536*1152,這個(gè)分辨率相當(dāng)高,AAOS也需要高分辨率,硬件是英特爾的A3950,eMMC高達(dá)128GB。AAOS的基本要求比較高,至少4GiB的RAM,32GB的eMMC。
安卓系統(tǒng)最難的是顯示圖像啟動(dòng)時(shí)間慢,特別是倒車影像或360環(huán)視,這是業(yè)者需要特別下功夫的地方。AAOS特別提供了EVS模塊,專門應(yīng)對(duì)外接攝像頭,保證圖像2秒內(nèi)啟動(dòng)成像。
圖片來(lái)源:互聯(lián)網(wǎng)
AAOS自然離不開(kāi)谷歌的服務(wù),如谷歌助手,谷歌地圖等,所有這些服務(wù)都是要收費(fèi)的,估計(jì)是和車廠有分成協(xié)議,要不然AAOS根本無(wú)法推廣,谷歌沒(méi)有動(dòng)力,車廠也沒(méi)有動(dòng)力。
圖片來(lái)源:互聯(lián)網(wǎng)
谷歌的野心當(dāng)然不只是車機(jī),谷歌是要覆蓋車內(nèi)的全部應(yīng)用,包括自動(dòng)駕駛和儀表等等,早在2016年就開(kāi)發(fā)了Fuchsia,這是一個(gè)基于Zircon的微內(nèi)核操作系統(tǒng),可以用于車內(nèi)要求安全等級(jí)高的領(lǐng)域,如儀表和自動(dòng)駕駛。 谷歌不僅要占有你的手機(jī),還要占有你的汽車,當(dāng)然,蘋果也不會(huì)閑著。