一、鴻蒙系統簡介
1.簡介
鴻蒙系統(HarmonyOS),是第一款基於微內核的全場景(移動辦公、運動健康、社交通信、媒體娛樂等)分布式OS,是華為自主研發的操作系統。2019年8月9日,鴻蒙系統在華為開發者大會<HDC.2019>上正式發布,華為會率先部署在智慧屏、車載終端、穿戴等智能終端上,未來會有越來越多的智能設備使用開源的鴻蒙OS。
鴻蒙OS實現模塊化耦合,對應不同設備可彈性部署,鴻蒙OS有三層架構,第一層是內核,第二層是基礎服務,第三層是程序框架 。可用於大屏、PC、汽車等各種不同的設備上。還可以隨時用在手機上,但暫時華為手機端依然優先使用安卓。鴻蒙 OS 底層由鴻蒙微內核、Linux 內核、Lite OS 組成,未來將發展為完全的鴻蒙微內核架構。
對消費者而言,HarmonyOS能夠將生活場景中的各類終端進行能力整合,可以實現不同的終端設備之間的快速連接、能力互助、資源共享,匹配合適的設備、提供流暢的全場景體驗。
對應用開發者而言,HarmonyOS采用了多種分布式技術,使得應用程序的開發實現與不同終端設備的形態差異無關。這能夠讓開發者聚焦上層業務邏輯,更加便捷、高效地開發應用。
對設備開發者而言,HarmonyOS采用了組件化的設計方案,可以根據設備的資源能力和業務特征進行靈活裁剪,滿足不同形態的終端設備對於操作系統的要求。
2.技術架構
系統功能按照“系統 > 子系統 > 功能/模塊”逐級展開
(1)內核層
內核子系統:HarmonyOS采用多內核設計,支持針對不同資源受限設備選用適合的OS內核。內核抽象層(KAL,Kernel Abstract Layer)通過屏蔽多內核差異,對上層提供基礎的內核能力,包括進程/線程管理、內存管理、文件系統、網絡管理和外設管理等。
驅動子系統:硬件驅動框架(HDF)是HarmonyOS硬件生態開放的基礎,提供統一外設訪問能力和驅動開發、管理框架。
(2)系統服務層
系統服務層是HarmonyOS的核心能力集合,通過框架層對應用程序提供服務。該層包含以下幾個部分:
系統基本能力子系統集:為分布式應用在HarmonyOS多設備上的運行、調度、遷移等操作提供了基礎能力,由分布式軟總線、分布式數據管理、分布式任務調度、方舟多語言運行時、公共基礎庫、多模輸入、圖形、安全、AI等子系統組成。其中,方舟運行時提供了C/C++/JS多語言運行時和基礎的系統類庫,也為使用方舟編譯器靜態化的Java程序(即應用程序或框架層中使用Java語言開發的部分)提供運行時
基礎軟件服務子系統集:為HarmonyOS提供公共的、通用的軟件服務,由事件通知、電話、多媒體、DFX(Design For X) 、MSDP&DV等子系統組成。
增強軟件服務子系統集:為HarmonyOS提供針對不同設備的、差異化的能力增強型軟件服務,由智慧屏專有業務、穿戴專有業務、IoT專有業務等子系統組成。
硬件服務子系統集:為HarmonyOS提供硬件服務,由位置服務、生物特征識別、穿戴專有硬件服務、IoT專有硬件服務等子系統組成。
(3)框架層
框架層為HarmonyOS應用開發提供了Java/C/C++/JS等多語言的用戶程序框架和Ability框架,兩種UI框架(包括適用於Java語言的Java UI框架、適用於JS語言的JS UI框架),以及各種軟硬件服務對外開放的多語言框架API。根據系統的組件化裁剪程度,HarmonyOS設備支持的API也會有所不同。
(4)應用層
應用層包括系統應用和第三方非系統應用。HarmonyOS的應用由一個或多個FA(Feature Ability)或PA(Particle Ability)組成。其中,FA有UI界面,提供與用戶交互的能力;而PA無UI界面,提供后台運行任務的能力以及統一的數據訪問抽象。FA在進行用戶交互時所需的后台數據訪問也需要由對應的PA提供支撐。基於FA/PA開發的應用,能夠實現特定的業務功能,支持跨設備調度與分發,為用戶提供一致、高效的應用體驗。
3.發展進程
[2012] 2012年華為開始在上海交通大學規划“鴻蒙”操作系統。
[2019] 華為已經對100萬部搭載有自研“鴻蒙”操作系統的手機進行了測試。
[2019.5.17] 華為操作系統團隊開發了其自主產權的“鴻蒙操作系統”。
[2019.5.24] 注冊公告日期是2019年5月14日,專用權限期是從2019年5月14日到2029年5月13日。
[2019.8.9] 華為官方發布“鴻蒙操作系統”,並且宣布“鴻蒙操作系統”將開源。
二、鴻蒙系統特點
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虛擬機模式的靜態編譯器,可供開發者在開發環境中一次性將高級語言編譯為機器碼。此外,方舟編譯器未來將支持多語言統一編譯,可大幅提高開發效率。