摘要:軟件定義汽車的基座即為車載操作系統,所有的功能及服務都運行在車載操作系統之上,對車載操作系統進行評價和選型已成為汽車制造商開發新產品的重要步驟,它決定未來產品的功能、性能、安全及成本等多方面特性。以信息娛樂系統所需的車載操作系統為例,就影響車載操作系統的幾大因素進行說明,并就其評價方法及幾種新型操作系統的評價結果做了研究,為汽車制造商在車載操作系統的選型方法方面提供理論支撐。
關鍵詞:車載操作系統;評價;選型;關鍵因素
中圖分類號:U463.2? 收稿日期:2023-11-05
DOI:1019999/jcnki1004-0226202401025
1 前言
隨著智能網聯汽車領域的不斷發展,軟件定義汽車的方向日漸明朗,車載操作系統作為功能及服務軟件運行的基礎,在車企的研發過程中占據了越來越重要的地位。
車載操作系統發端于普通操作系統,但相比于普通消費類電子操作系統,有著更多功能性與非功能性上的要求。車載操作系統既包含標準操作系統所需的內核、資源抽象、基礎庫等,又包含車載場景下上層應用服務所需的基礎服務,并有著更高的信息安全和功能安全要求[1]。
考慮到操作系統的多樣性及其功能方向的自由性,對操作系統的選型評測一直沒有統一的標準體系。車企通常會選擇合適的操作系統作為基線進行進一步的定制和開發,因此如何選擇一個合適的基線來平衡開發成本和定制需求的問題,有著進一步研究的必要性。
本文主要以支持信息娛樂系統為目標設計并實現的幾個新型車載操作系統為例,從多個角度分析影響車載操作系統選型的幾大因素及可行的評價方法。其中涉及的操作系統包括Android、AliOS、鴻蒙OS,其測試數據及結果基于三個新型車載操作系統2021年狀態完成,其中Android由一級供應商提供硬件設備及軟件,AliOS和鴻蒙OS由系統供應商提供硬件設備及軟件。
2 性能、穩定性、安全性評價
對于性能的評價,可以了解待選操作系統在不同負載條件下的表現,包括響應速度、資源利用率、處理能力等方面。通過性能評測,可以確定操作系統是否能夠滿足預期的性能需求,從而決定是否需要進行優化或調整配置。對于穩定性的評價,可以模擬各種使用場景和情況,如高負載、異常輸入等,測試操作系統是否能夠正常運行且不崩潰。穩定性評測幫助我們確定操作系統在長時間運行和面對各種異常情況時的表現,以確保系統的可靠性和可用性。對于安全性的評價,可以檢查操作系統是否存在潛在的安全漏洞,以及對惡意攻擊和未授權訪問的抵抗能力。安全性評測幫助我們發現并解決安全風險,提升操作系統的安全性,并保護最終用戶的數據和隱私[2]。
2.1 性能評測
對待選操作系統進行測試,主要是為了確定基線性能,以便在將來評估系統變更(如功能開發,硬件/軟件升級,負載增減等)后的性能影響。常見的性能測試包括以下內容:
a.通用性能測試。該測試包括啟動時間、響應時間、流暢度測試等。對于一個車載操作系統來說,往往包括從各種電源狀態起始的啟動時間、各個已整合功能達到可用狀態的啟動時間;各種頁面顯示及跳轉的響應時間、各類音源設置及切換的響應時間、物理按鍵的響應時間,如果有測試應用的話,也可以對應用的操作響應時間進行測試,側面反應系統的性能狀態;對于流暢度,需要結合主觀感受和客觀評價指標幀率,對各種滑動、點擊的狀態進行評測。
b.專業性能測試。該測試包括實時性、資源管理效率、壓力承受能力測試等。通過產生制定數量的定時器或者定時中斷,看系統的響應時間是否符合實時要求;或創建多個線程對操作系統進行并發操作,來測試其并發處理能力和任務切換時間;監測和記錄系統在運行過程中CPU、內存和存儲等資源的使用情況,從而了解系統的資源占用情況和資源管理效率;在操作系統上運行大量資源和計算密集的任務,來評估系統在極限條件下的表現,確定系統的最大負載能力,以及在超負載情況下恢復到正常狀態的能力。
2.2 穩定性評測
a.啟動穩定性測試。模擬休眠啟動、手動重啟、診斷重啟、斷電重啟等狀態,測試系統啟動后能否返回到正?;虍惓;謴椭暗臓顟B,數據是否完整,功能是否運行正常。
b.運行穩定性測試。遍歷所有常規操作,查看系統是否會發生死機、黑屏、卡死等現象。
c.高負荷穩定性測試。模擬高負載的情況來測試系統的穩定性和壓力承受能力。這可能包括同時運行多個應用程序、創建大量線程或進程,或者給系統輸入大量數據等。
d.長時間運行測試。通過讓系統長時間連續運行,觀察它是否能在這樣的環境下穩定運行,或是否可能出現慢速下降、程序崩潰、重啟等問題。
2.3 安全性評測
在項目前期選型階段對一個待選操作系統安全性進行評測,有認可和測試兩種做法。認可即是由操作系統供應商自行通過審計與合規認證,確保系統符合行業規定的安全標準和合規性要求;針對目前行業中已識別和評估的系統可能面臨的威脅和漏洞,系統供應商應說明在系統中已達成的相關防范措施及安全方案等。測試即由制造商或第三方檢測機構對現有系統進行相關評測,例如,靜態安全測試,即在源代碼級別進行的安全測試;動態安全測試,即在系統運行時測試其安全缺陷;網絡安全測試,即測試網絡連接及其防火墻等的安全性;弱點掃描及滲透測試。
對于上述3個操作系統,初步結果如下:
性能評測—啟動時間,主界面可見AliOS最快12 s,全功能可用鴻蒙OS最快27 s;功能平均響應時間,鴻蒙OS最快,低于1 s;操作流程度,鴻蒙OS最佳。
穩定性評測—超過30次各類型重啟,以評測其啟動穩定性,3個系統全部通過;定義4種高負荷運行場景,每種場景各10次測試,以評測其高負載穩定性,3個系統全部通過;超過8 h不間斷操作使用,以評測其長時運行穩定性,3個系統全部通過。
安全性評測—代碼成熟度方面,Android有超過10年開源維護,且在全球廣泛開發使用,AliOS通過Cymotive合格審核,但目前僅在小范圍車機系統使用,鴻蒙OS尚無審核證明,但在移動設備領域積累良好;權限管理方面,3個系統都具備Linux內核提供的安全機制,AliOS和鴻蒙OS還有供應商定制的增強機制。
3 功能整合及接口提供
一個已經整合了更多功能的操作系統,意味著開發團隊不需要從頭開始獨立開發或集成這些功能,可以幫忙團隊快速搭建產品,專注于定制化和優化產品的關鍵功能,提高開發效率加快產品上市和交付的速度。同時,統一服務整合的操作系統,往往能為上層應用提供更便捷、高效和一體化的使用體驗,在一個平臺體系上即可完成多樣化的任務和操作。更多的接口提供可以滿足用戶應用差異化的需求,允許上層應用根據需求進行自定義的調用和設置,提供更大的靈活性和自由度,而且通過更多的對外接口,可以更好地與外部設備、應用程序和服務進行交互和連接,滿足不同制造商和應用的需求,實現更高的擴展性和兼容性,推動汽車與智能設備、云服務等技術的融合。
對于一個待選的操作系統,其功能整合及接口狀態主要依靠系統供應商提供的合作相關資料和系統開發文檔,如開發者網站中的信息來進行分析。如果有測試應用及測試設備,也可以進行黑盒或白盒測試來對功能的整合狀態和接口的可用性進行評測。
對于上述3個操作系統,針對官網提供的信息進行了分析,初步結果如下:
Android提供的功能及API豐富,跨屏互動能力很強,但車載能力相對較弱,定制開發要求較多,;AliOS開放的API有限,但車載能力更強,適用于整車SOA開發;鴻蒙OS提供的API豐富,也適用于跨屏互動,車載能力更強,針對車載場景提供了超過500多種API。
4 硬件適配及資源需求
硬件適配狀態可以確定待選操作系統能否在不同硬件配置的設備上正常運行,發現可能存在的硬件兼容性問題,也為硬件選型提供一定的參考依據。了解系統對計算資源的使用情況,包括處理器、內存、存儲器等,可以幫助產品選擇合適的硬件配置,避免過度配置導致資源浪費,也避免硬件配置過低導致性能不佳,合理降低硬件成本,提高整體的成本效益。與此同時,可以識別待選的操作系統是否存在資源占用過高或者浪費的問題,幫助規劃在后續定制開發中進行優化,提高系統的資源利用效率,降低硬件資源消耗,提升整體系統性能[3]。
硬件適配評測主要應包含兩部分:硬件兼容性測試和驅動程序測試。硬件兼容性測試是為了驗證操作系統是否可以在目標硬件設備上正常運行。驅動程序測試是為了評測操作系統是否提供了所有需要的驅動程序,以支持所有的硬件設備。通常硬件適配評測可以基于系統供應商提供的目標芯片參考設計的公版硬件和配合待選操作系統的基礎適配實現來完成,如果待選操作系統已有相似硬件的量產狀態項目,并且運行狀態良好、無明顯故障及市場抱怨,也可作為成熟軟硬件適配狀態免去評估。而資源需求的評測可以基于性能評測中對資源占用的監控和記錄來完成,這里需要強調的是必須同時考慮正常運行狀態與高負荷運行狀態的資源需求,以防止在進行硬件配置時,峰值支持不足造成的性能問題。
對于上述3個操作系統,邀請系統供應商提供了目前已適配及量產的狀態,并對其提供的測試樣品進行了測試,初步結果如下:
Android在各類芯片上都由不同供應商進行了廣泛適配,測試樣品單系統消耗約3.2kDMIPS CPU和約2G內存;AliOS在杰發科技、TI、NXP、瑞薩、MTK、高通的芯片上都有適配,測試樣品單系統消耗約4.3kDMIPS CPU和約2G內存;鴻蒙OS僅在麒麟芯片上適配,測試樣品單系統消耗約5.8kDMIPS CPU和約4.8G內存。
5 開源狀態及定制擴展
開源的操作系統使制造商和開發團隊可以根據特殊的需求進行自定義和適應,添加個性化功能,這種靈活性可以促進操作系統的定制化和擴展性,使其更適應不同應用功能和用戶場景的需求。對于開源部分代碼的公開可見,使得潛在的安全漏洞、缺陷或后門都可以較快被發現,修復漏洞、改進系統的過程更加透明和快速,有助于確保操作系統的可靠性和安全性。但與之相對應的,開源代碼的漏洞易被發現易被攻擊,如果選擇使用公開化的開源操作系統,卻沒有及時對系統進行檢測和維護,也更易受到威脅。
這一部分的評估結果依賴于系統供應商公開的開發資源以及與制造商之間合作關系的約定。
對于上述3個操作系統,可以從官網信息及與供應商的溝通中獲取到相關的信息,初步結果如下:
Android完全開放源碼,易于全面定制化開發;AliOS開放應用程序框架和車輛服務層接口,對制造商開放車輛HAL層和車輛服務層源碼,支持擴展和商業定制開發;鴻蒙OS完全開放各層接口,支持擴展和商業定制開發。
6 開發語言及開發環境
選擇合適的開發語言和開發環境可以顯著影響開發團隊的生產效率和開發成本。待選操作系統如果使用一種流行且易用的開發語言可以讓開發團隊更快地上手和開發代碼,減少開發周期[4]。同時,一個穩定且易用的開發環境可以提供代碼編輯、調試和測試等工具,簡化開發流程,提高開發效率。高效和可擴展的開發語言以及高性能的開發環境對系統的性能和可擴展性也能提供更好的支撐。
這一部分的評估結果依賴于系統供應商公開的開發資源以及與制造商之間合作關系的約定。
對于上述3個操作系統,我們對于開放的接口和源碼進行了分析,并與供應商進行了溝通,初步結果如下:
開發語言—由于3個操作系統都是基于Linux內核,因此都在內核層使用C/C++開發;在中間件部分都支持C/C++語言,同時Android和鴻蒙OS還支持JAVA開發;在應用層,Android主要使用JAVA和Python,AliOS支持JavaScript、TypeScript、XTS、C/C++,鴻蒙OS則支持Java、JavaScript、C/C++。
開發環境—3個操作系統都有可支持系統層開發及編譯工具的IDE環境,Android和鴻蒙OS的IDE環境還整合入了HMI開發和各類開發工具包,而AliOS的HMI開發和工具包是獨立提供的。
7 路線圖及開發支持
操作系統的發布路線圖可以展示系統將來的發展方向、新功能和特性的計劃,通過了解系統的路線圖,制造商可以為未來做好準備,根據自己的需求進行規劃和決策。
操作系統供應商的開發支持可以幫助制造商和開發團隊獲得及時的技術支持和問題解決。這對于確保系統的穩定性、高效性和可靠性非常重要。
操作系統的維護周期決定了其供應商對系統的安全性和漏洞修復的支持程度,用于確保操作系統的安全性,并降低制造商和用戶受到攻擊的風險。另一方面,供應商對操作系統的長期支持和可持續發展能夠為制造商和用戶提供穩定的產品生命周期和升級路徑,保證其并在未來的應用開發和維護中持續受益[5]。
這一部分的評估結果依賴于系統供應商公開的系統發展規劃和功能開發路線,以及與制造商之間合作關系的約定。
對于上述3個操作系統,其路線圖與維護周期涉及各家制造商的商務溝通結果,除了Android以外其他不做詳述,而開發支持信息可以通過官網獲取,初步結果如下:
Android每年發布一版,4年官方維護期,有官方開發者手冊,存在大量第三方開發者論壇,且內容極其豐富;AliOS和鴻蒙OS有官方開發者手冊,官方開發者論壇,官方支持團隊,并可為合作方開發者提供培訓。
8 結語
車載操作系統選型并非一個純技術性的評價過程,可以有流程可以有體系,但不能對所有的制造商形成一致性的決策結果,只能作為參考依據成為一種決策因子。在對車載操作系統進行選型時,還需要綜合考慮產品定位與業務需求、預算和成本及合規性等。
本文對技術性與理論性的評價方法進行了研究與總結,選型決策應依據評價結果結合制造商的產品需求及策略來達成最終結果。
參考文獻:
[1]汪志鴻,于德營,馬天澤,等車用操作系統技術現狀及發展趨勢[J].汽車工程,2023,45(6):910-912
[2]任怡,吳慶波,戴華東,等通用操作系統對比評測標準研究. 計算機科學,2011,38(11):286-290
[3]梁爭爭,譚志宏,王斌嵌入式微處理器與操作系統集成驗證技術研究[J]航空計算技術,2023,53(4):98-101
[4]黃宏丞,裴海洋,呂振計算機軟件開發編程語言選擇研究. 科技風,2018(7):102
[5]朱芙蓉,劉敏,秦文貞車載信息娛樂系統開發模式現狀與未來趨勢分析[J]汽車電器,2021(12):33-35
作者簡介:
卜燁雯,女,1983年生,研究方向為車載操作系統架構。