OpenHarmony(開源鴻蒙系統(tǒng))是HarmonyOS的開源版,由華為捐贈給開放原子開源基金會(OpenAtom Foundation)開源,第一個開源版本支持在128KB~128MB設備上運行,歡迎參加開源社區(qū)一起持續(xù)演進。
系統(tǒng)介紹
9 月 10 日,華為在 HDC 2020 大會上宣布正式開源鴻蒙操作系統(tǒng)(HarmonyOS)。開源的鴻蒙項目名為 OpenHarmony。
OpenHarmony是開放原子開源基金會(OpenAtom Foundation)旗下開源項目,定位是一款面向全場景的開源分布式操作系統(tǒng)。
OpenHarmony在傳統(tǒng)的單設備系統(tǒng)能力的基礎上,創(chuàng)造性地提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的理念,支持多種終端設備上運行,第一個版本支持128K-128M設備上運行,歡迎參加開源社區(qū)一起持續(xù)演進。
針對設備開發(fā)者,OpenHarmony采用了組件化的設計方案,可以根據(jù)設備的資源能力和業(yè)務特征進行靈活裁剪,滿足不同形態(tài)的終端設備對于操作系統(tǒng)的要求??蛇\行在百K級別的資源受限設備和穿戴類設備,也可運行在百M級別的智能家用攝像頭/行車記錄儀等相對資源豐富的設備。
開發(fā)介紹
JS應用開發(fā)框架
作為JS應用開發(fā)框架的輕量實現(xiàn),提供一套跨平臺的類web應用開發(fā)框架,通過Toolkit將開發(fā)者編寫的HML、CSS和JS 文件編譯打包成JS Bundle,然后再將JS Bundle解析運行成C++ UIKit的View 組件進行渲染。通過支持三方開發(fā)者使用聲明式的API進行應用開發(fā),以數(shù)據(jù)驅動視圖變化,避免了大量的視圖操作,大大降低了應用開發(fā)難度,提升開發(fā)者開發(fā)體驗。
DFX
針對不同硬件架構和資源提供組件化且可定制的DFX框架。根據(jù)RISC-V、Cortex-M、Cortex-A不同硬件平臺,提供兩種不同的輕量級DFX框架。
XTS認證
XTS是OpenHarmony生態(tài)認證測試套件的集合,當前包括acts(application compatibility test suite)應用兼容性測試套,后續(xù)會拓展dcts(device compatibility test suite)設備兼容性測試套等。
全球化
全球化資源管理子系統(tǒng)主要提供語言資源回溯和多偏好語言支持的能力,包括多語言資源回溯和多偏好語言支持。
公共基礎
公共基礎庫存放OpenHarmony通用的基礎組件。這些基礎組件可被OpenHarmony各業(yè)務子系統(tǒng)及上層應用所使用。
內核
OpenHarmony內核是面向IoT領域的實時操作系統(tǒng)內核,它具備類似RTOS般輕快和Linux般易用的特點。包括功能組件部分:進程和線程調度、內存管理、IPC機制、timer管理等操作系統(tǒng)基礎組件。
分布式任務調度
分布式任務調度模塊,通過主(智慧屏設備)從設備(運動手表等小內存設備)服務代理機制,在異構操作系統(tǒng)上建立起分布式服務平臺,支持OpenHarmony智慧屏拉起其它OpenHarmony設備FA的能力。
分布式通信
實現(xiàn)近場設備間統(tǒng)一的分布式通信能力管理,提供不區(qū)分鏈路的設備發(fā)現(xiàn)和傳輸接口。包含服務發(fā)布、數(shù)據(jù)傳輸、安全等功能
啟動恢復
啟動恢復負責在內核啟動之后,應用啟動之前的操作系統(tǒng)中間層的啟動。支持使用LiteOS-A內核的平臺,當前包括:Hi3516DV300平臺和Hi3518EV300平臺。
圖形
主要包括UI組件、布局、動畫、字體、輸入事件、窗口管理、渲染繪制等模塊,構建基于輕量OS的應用框架,滿足硬件資源較小的物聯(lián)網(wǎng)設備的OpenHarmony系統(tǒng)應用開發(fā)。
媒體
為多媒體應用開發(fā)者開發(fā)者提供統(tǒng)一的開發(fā)接口,使得開發(fā)者可以專注于應用業(yè)務的開發(fā),輕松使用多媒體的資源。
安全
主要提供樣例給開發(fā)者展示如何去使用已有的安全機制來提升系統(tǒng)的安全能力,包括安全啟動、應用權限管理、IPC通信鑒權、HUKS、HiChain、應用簽名驗簽。
測試
開發(fā)過程采用測試驅動開發(fā)模式,開發(fā)者基于系統(tǒng)新增特性可以通過開發(fā)者自己開發(fā)用例保證,對于系統(tǒng)已有特性的修改,也可通過修改項目中原有自測試用例保證,旨在幫助開發(fā)者在開發(fā)階段就能開發(fā)出高質量代碼。
用戶程序框架
包含兩個模塊:Ability子系統(tǒng)和包管理子系統(tǒng)。Ability子系統(tǒng),是OpenHarmony為開發(fā)者提供的一套開發(fā)OpenHarmony應用的開發(fā)框架。包管理子系統(tǒng),是OpenHarmony為開發(fā)者提供的安裝包管理框架。
系統(tǒng)服務框架
由于平臺資源有限,且硬件平臺多樣,因此需要屏蔽不同硬件架構和資源的不同、以及運行形態(tài)的不同,提供統(tǒng)一化的系統(tǒng)服務開發(fā)框架。根據(jù)RISC-V、Cortex-M、Cortex-A不同硬件平臺,分為兩種平硬件平臺,簡稱M核、A核。
編譯構建
編譯構建提供了一個在GN與ninja基礎上的編譯構建框架。支持以下功能:1.構建不同芯片平臺的產(chǎn)品。如:Hi3518EV300平臺的ipcamera產(chǎn)品,Hi3516DV300平臺的ipcamera產(chǎn)品,Hi3861平臺的wifi模組產(chǎn)品。2.構建HPM包管理配置生成的自定義產(chǎn)品。
驅動
OpenHarmony驅動子系統(tǒng)采用C面向對象編程模型構建,通過平臺解耦、內核解耦,兼容不同內核,提供了歸一化的驅動平臺底座,旨在為開發(fā)者提供更精準、更高效的開發(fā)環(huán)境,力求做到一次開發(fā),多系統(tǒng)部署。