天天看點

鴻蒙OpenHarmony開篇-2021.06.02鴻蒙OpenHarmony開篇-2021.06.02

鴻蒙OpenHarmony開篇-2021.06.02

文章目錄

  • 鴻蒙OpenHarmony開篇-2021.06.02
    • 架構及說明
      • 核心層
      • 系統服務層
      • 架構層
      • 應用層
    • 源碼
      • 核心層
        • Linux核心
        • LiteOS-A
        • LiteOS-M
    • 總結
核心版本 Linux4.19
平台 OpenHarmony
作者 nineyole

今天是2021年6月2日,晚上就有鴻蒙2.0釋出會,去OpenHarmony的官網看了一下,發現2.0也已經釋出了。

鴻蒙OpenHarmony開篇-2021.06.02鴻蒙OpenHarmony開篇-2021.06.02

其下載下傳位址在這裡,可以自行下載下傳。

架構及說明

整個OpenHarmony架構如下圖所示:

鴻蒙OpenHarmony開篇-2021.06.02鴻蒙OpenHarmony開篇-2021.06.02

核心層

  • 核心子系統:采用多核心(Linux核心或者LiteOS)設計,支援針對不同資源受限裝置選用适合的OS核心。核心抽象層(KAL,Kernel Abstract Layer)通過屏蔽多核心差異,對上層提供基礎的核心能力,包括程序/線程管理、記憶體管理、檔案系統、網絡管理和外設管理等。
  • 驅動子系統:驅動架構(HDF)是系統硬體生态開放的基礎,提供統一外設通路能力和驅動開發、管理架構。

系統服務層

系統服務層是OpenHarmony的核心能力集合,通過架構層對應用程式提供服務。該層包含以下幾個部分:

  • 系統基本能力子系統集:為分布式應用在多裝置上的運作、排程、遷移等操作提供了基礎能力,由分布式軟總線、分布式資料管理、分布式任務排程、公共基礎庫、多模輸入、圖形、安全、AI等子系統組成。
  • 基礎軟體服務子系統集:提供公共的、通用的軟體服務,由事件通知、電話、多媒體、DFX(Design For X) 等子系統組成。
  • 增強軟體服務子系統集:提供針對不同裝置的、差異化的能力增強型軟體服務,由智慧屏專有業務、穿戴專有業務、IoT專有業務等子系統組成。
  • 硬體服務子系統集:提供硬體服務,由位置服務、生物特征識别、穿戴專有硬體服務、IoT專有硬體服務等子系統組成。

根據不同裝置形态的部署環境,基礎軟體服務子系統集、增強軟體服務子系統集、硬體服務子系統集内部可以按子系統粒度裁剪,每個子系統内部又可以按功能粒度裁剪。

架構層

架構層為應用開發提供了C/C++/JS等多語言的使用者程式架構和Ability架構,适用于JS語言的JS UI架構,以及各種軟硬體服務對外開放的多語言架構API。根據系統的元件化裁剪程度,裝置支援的API也會有所不同。

應用層

應用層包括系統應用和第三方非系統應用。應用由一個或多個FA(Feature Ability)或PA(Particle Ability)組成。其中,FA有UI界面,提供與使用者互動的能力;而PA無UI界面,提供背景運作任務的能力以及統一的資料通路抽象。基于FA/PA開發的應用,能夠實作特定的業務功能,支援跨裝置排程與分發,為使用者提供一緻、高效的應用體驗。

源碼

整個源碼的目錄如下所示:

鴻蒙OpenHarmony開篇-2021.06.02鴻蒙OpenHarmony開篇-2021.06.02

核心層

個人對kernel層比較感興趣,進去看看呢。

鴻蒙OpenHarmony開篇-2021.06.02鴻蒙OpenHarmony開篇-2021.06.02

Linux核心

其中Linux4.19就是我們常見的Linux核心。其目錄如下所示。看上去是不是很熟悉。

鴻蒙OpenHarmony開篇-2021.06.02鴻蒙OpenHarmony開篇-2021.06.02

LiteOS-A

​ OpenHarmony LiteOS-A核心是基于Huawei LiteOS核心演進發展的新一代核心,Huawei LiteOS是面向IoT領域建構的輕量級物聯網作業系統。在IoT産業高速發展的潮流中,OpenHarmony LiteOS-A核心能夠帶給使用者小體積、低功耗、高性能的體驗以及統一開放的生态系統能力,新增了豐富的核心機制、更加全面的POSIX标準接口以及統一驅動架構HDF(OpenHarmony Driver Foundation)等,為裝置廠商提供了更統一的接入方式,為OpenHarmony的應用開發者提供了更友好的開發體驗。

整個檔案的目錄如下所示:

鴻蒙OpenHarmony開篇-2021.06.02鴻蒙OpenHarmony開篇-2021.06.02

目前支援的有:

鴻蒙OpenHarmony開篇-2021.06.02鴻蒙OpenHarmony開篇-2021.06.02

不知道後續像全志,瑞芯微等國産晶片是否會跟進。

LiteOS-M

而關于LiteOS-M,官方的說法如下:

​ OpenHarmony LiteOS-M核心是面向IoT領域建構的輕量級物聯網作業系統核心,具有小體積、低功耗、高性能的特點,其代碼結構簡單,主要包括核心最小功能集、核心抽象層、可選元件以及工程目錄等,分為硬體相關層以及硬體無關層,硬體相關層提供統一的HAL(Hardware Abstraction Layer)接口,提升硬體易适配性,不同編譯工具鍊和晶片架構的組合分類,滿足AIoT類型豐富的硬體和編譯工具鍊的拓展。

鴻蒙OpenHarmony開篇-2021.06.02鴻蒙OpenHarmony開篇-2021.06.02

目前支援的有:cortexM3、cortexM4、cortexM7。

鴻蒙OpenHarmony開篇-2021.06.02鴻蒙OpenHarmony開篇-2021.06.02

總結

​ OpenHarmony系統是上層重寫了所有的api以及架構,底層可以是采用多核心,可以是Linux,也可以是 LiteOS-A或者 LiteOS-M,其中 LiteOS-A主要針對cortexA系列的,LiteOS-M主要針對于cortexM系列,Linux主要針對功能複雜且龐大的系統,像手機,PC等。

​ 看完應該都清楚了吧。期待國産OS,要是能統一PC、手機、物聯網、伺服器,那基本上就妥妥的了。

​ 最後,默默的問一句,華為基于OpenHarmony開發的系統叫Harmony,那這樣别的廠家基于OpenHarmony開發的系統應該叫什麼呢?

繼續閱讀