華為鴻蒙系統用什么編程語言?
鴻蒙OS的由來
在過去的傳統模式下,每一類新形態終端的出現,都會伴隨新的操作系統的誕生。早在十年前,華為就開始思考面對未來的全場景智慧時代,用戶需要一個完全突破物理空間的跨硬件、跨平臺、無縫的全新體驗。
華為消費者業務CEO余承東在介紹鴻蒙OS開發初衷時表示:“隨著全場景智慧時代的到來,華為認為需要進一步提升操作系統的跨平臺能力,包括支持全場景、跨多設備和平臺的能力以及應對低時延、高安全性挑戰的能力,因此逐漸形成了鴻蒙OS的雛形,可以說鴻蒙OS的出發點和Android、iOS都不一樣,是一款全新的基于微內核的面向全場景的分布式操作系統,能夠同時滿足全場景流暢體驗、架構級可信安全、跨終端無縫協同以及一次開發多終端部署的要求,鴻蒙應未來而生。”
鴻蒙OS的四大技術特性鴻蒙OS的設計初衷是為滿足全場景智慧體驗的高標準的連接要求,為此華為提出了4大特性的系統解決方案。
1. 分布式架構首次用于終端OS,實現跨終端無縫協同體驗
鴻蒙OS的“分布式OS架構”和“分布式軟總線技術”通過公共通信平臺,分布式數據管理,分布式能力調度和虛擬外設四大能力,將相應分布式應用的底層技術實現難度對應用開發者屏蔽,使開發者能夠聚焦自身業務邏輯,像開發同一終端一樣開發跨終端分布式應用,也使最終消費者享受到強大的跨終端業務協同能力為各使用場景帶來的無縫體驗。
2. 確定時延引擎和高性能IPC技術實現系統天生流暢
鴻蒙 OS通過使用確定時延引擎和高性能IPC兩大技術解決現有系統性能不足的問題。確定時延引擎可在任務執行前分配系統中任務執行優先級及時限進行調度處理,優先級高的任務資源將優先保障調度,應用響應時延降低25.7%。鴻蒙微內核結構小巧的特性使IPC(進程間通信)性能大大提高,進程通信效率較現有系統提升5倍。
3. 基于微內核架構重塑終端設備可信安全
鴻蒙OS采用全新的微內核設計,擁有更強的安全特性和低時延等特點。微內核設計的基本思想是簡化內核功能,在內核之外的用戶態盡可能多地實現系統服務,同時加入相互之間的安全保護。微內核只提供最基礎的服務,比如多進程調度和多進程通信等。
鴻蒙OS將微內核技術應用于可信執行環境(TEE),通過形式化方法,重塑可信安全。形式化方法是利用數學方法,從源頭驗證系統正確,無漏洞的有效手段。傳統驗證方法如功能驗證,模擬攻擊等只能在選擇的有限場景進行驗證,而形式化方法可通過數據模型驗證所有軟件運行路徑。 鴻蒙OS首次將形式化方法用于終端TEE,顯著提升安全等級。同時由于鴻蒙OS微內核的代碼量只有Linux宏內核的千分之一,其受攻擊幾率也大幅降低。
4. 通過統一IDE支撐一次開發,多端部署,實現跨終端生態共享
鴻蒙OS憑借多終端開發IDE,多語言統一編譯,分布式架構Kit提供屏幕布局控件以及交互的自動適配,支持控件拖拽,面向預覽的可視化編程,從而使開發者可以基于同一工程高效構建多端自動運行App,實現真正的一次開發,多端部署,在跨設備之間實現共享生態。華為方舟編譯器是首個取代Android虛擬機模式的靜態編譯器,可供開發者在開發環境中一次性將高級語言編譯為機器碼。此外,方舟編譯器未來將支持多語言統一編譯,可大幅提高開發效率。
鴻蒙編譯器從上文可以看出,鴻蒙是支持多終端開發IDE,多語言統一編譯的,其中的核心就是編譯器了,那么就得說說方舟編譯器了。
這里我們要區分編譯器開發語言和編譯器支持語言的區別,編譯器開發語言指的是開發這個編譯器的語言,從華為方舟編譯器的編程規范來看,方舟編譯器用的是C/C++進行開發的,中間可能也涉及到一些匯編。
而編譯器支持的語言部分,根據華為官網消息,方舟編譯器是為支持多種編程語言、多種芯片平臺的聯合編譯、運行而設計的統一編程平臺,包含編譯器、工具鏈、運行時等關鍵部件。 方舟編譯器還在持續演進中,陸續將上述能力實現和開源。
目前方舟編譯器開源的是編譯器框架部分源碼,包括編譯器中間表示和語言編譯實現,同時搭配編譯器其他二進制組件,實現Java程序到aarch64匯編指令的編譯過程。華為預計將于2020年及以后陸續進行方舟編譯器工具鏈完整開源。