鴻蒙OS 技術(shù)架構(gòu)

2020-09-18 09:31 更新

HarmonyOS 整體遵從分層設(shè)計,從下向上依次為:內(nèi)核層、系統(tǒng)服務(wù)層、框架層和應(yīng)用層。系統(tǒng)功能按照“系統(tǒng) > 子系統(tǒng) > 功能/模塊”逐級展開,在多設(shè)備部署場景下,支持根據(jù)實際需求裁剪某些非必要的子系統(tǒng)或功能/模塊。HarmonyOS 技術(shù)架構(gòu)如[圖1]所示。

圖1 技術(shù)架構(gòu)

點擊放大

內(nèi)核層

  • 內(nèi)核子系統(tǒng): HarmonyOS 采用多內(nèi)核設(shè)計,支持針對不同資源受限設(shè)備選用適合的 OS 內(nèi)核。內(nèi)核抽象層(KAL,KernelAbstract Layer)通過屏蔽多內(nèi)核差異,對上層提供基礎(chǔ)的內(nèi)核能力,包括進(jìn)程/線程管理、內(nèi)存管理、文件系統(tǒng)、網(wǎng)絡(luò)管理和外設(shè)管理等。
  • 驅(qū)動子系統(tǒng):HarmonyOS驅(qū)動框架(HDF)是 HarmonyOS 硬件生態(tài)開放的基礎(chǔ),提供統(tǒng)一外設(shè)訪問能力和驅(qū)動開發(fā)、管理框架。

系統(tǒng)服務(wù)層

系統(tǒng)服務(wù)層是 HarmonyOS 的核心能力集合,通過框架層對應(yīng)用程序提供服務(wù)。該層包含以下幾個部分:

  • 系統(tǒng)基本能力子系統(tǒng)集:為分布式應(yīng)用在 HarmonyOS 多設(shè)備上的運行、調(diào)度、遷移等操作提供了基礎(chǔ)能力,由分布式軟總線、分布式數(shù)據(jù)管理、分布式任務(wù)調(diào)度、方舟多語言運行時、公共基礎(chǔ)庫、多模輸入、圖形、安全、AI 等子系統(tǒng)組成。其中,方舟運行時提供了 C / C++ / JS 多語言運行時和基礎(chǔ)的系統(tǒng)類庫,也為使用方舟編譯器靜態(tài)化的 Java 程序(即應(yīng)用程序或框架層中使用 Java 語言開發(fā)的部分)提供運行時。
  • 基礎(chǔ)軟件服務(wù)子系統(tǒng)集:為 HarmonyOS 提供公共的、通用的軟件服務(wù),由事件通知、電話、多媒體、DFX、MSDP & DV 等子系統(tǒng)組成。
  • 增強軟件服務(wù)子系統(tǒng)集:為 HarmonyOS 提供針對不同設(shè)備的、差異化的能力增強型軟件服務(wù),由智慧屏專有業(yè)務(wù)、穿戴專有業(yè)務(wù)、IoT 專有業(yè)務(wù)等子系統(tǒng)組成。
  • 硬件服務(wù)子系統(tǒng)集:為 HarmonyOS 提供硬件服務(wù),由位置服務(wù)、生物特征識別、穿戴專有硬件服務(wù)、IoT 專有硬件服務(wù)等子系統(tǒng)組成。

根據(jù)不同設(shè)備形態(tài)的部署環(huán)境,基礎(chǔ)軟件服務(wù)子系統(tǒng)集、增強軟件服務(wù)子系統(tǒng)集、硬件服務(wù)子系統(tǒng)集內(nèi)部可以按子系統(tǒng)粒度裁剪,每個子系統(tǒng)內(nèi)部又可以按功能粒度裁剪。

框架層

框架層為 HarmonyOS 的應(yīng)用程序提供了 Java / C / C++ / JS 等多語言的用戶程序框架和 Ability 框架,以及各種軟硬件服務(wù)對外開放的多語言框架 API ;同時為采用HarmonyOS的設(shè)備提供了 C / C++ / JS 等多語言的框架 API,不同設(shè)備支持的 API 與系統(tǒng)的組件化裁剪程度相關(guān)。

應(yīng)用層

應(yīng)用層包括系統(tǒng)應(yīng)用和第三方非系統(tǒng)應(yīng)用。HarmonyOS 的應(yīng)用由一個或多個 FA(Feature Ability)PA(Particle Ability)組成。其中,F(xiàn)A 有 UI 界面,提供與用戶交互的能力;而 PA 無 UI 界面,提供后臺運行任務(wù)的能力以及統(tǒng)一的數(shù)據(jù)訪問抽象?;?FA / PA 開發(fā)的應(yīng)用,能夠?qū)崿F(xiàn)特定的業(yè)務(wù)功能,支持跨設(shè)備調(diào)度與分發(fā),為用戶提供一致、高效的應(yīng)用體驗。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號