自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一文帶你看懂HarmonyOS如何適配多種終端

系統(tǒng) OpenHarmony
HarmonyOS是一款面向萬物互聯(lián)時代的、全新的分布式操作系統(tǒng)。在傳統(tǒng)的單設(shè)備系統(tǒng)能力基礎(chǔ)上,HarmonyOS提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的分布式理念。

[[428758]]

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

HarmonyOS是一款面向萬物互聯(lián)時代的、全新的分布式操作系統(tǒng)。在傳統(tǒng)的單設(shè)備系統(tǒng)能力基礎(chǔ)上,HarmonyOS提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的分布式理念。

為了實現(xiàn)“基于同一套系統(tǒng)能力、適配多種終端形態(tài)”,HarmonyOS采用了“組件化”的設(shè)計方案,實現(xiàn)根據(jù)設(shè)備的資源能力和業(yè)務特征靈活裁剪,滿足不同形態(tài)終端設(shè)備對操作系統(tǒng)的要求。

一、為什么采用“組件化”設(shè)計方案?

分層架構(gòu)是最為流行、應用最為廣泛的軟件架構(gòu)設(shè)計方式,將整個軟件系統(tǒng)自頂而下垂直劃分成若干個層級,對每一層的系統(tǒng)能力、特定行為進行抽象。層級之間單向依賴,上層使用下層的各種服務,而下層對上層不感知。每一層對自己的上層提供接口的同時,隱藏內(nèi)部實現(xiàn)細節(jié)。

對于中小規(guī)模系統(tǒng),基于架構(gòu)分層可以較好地解決系統(tǒng)架構(gòu)解耦和跨團隊協(xié)作問題,每一層提供一定的業(yè)務功能,可以由不同的小團隊負責每一層不同的業(yè)務交付。然而,對于操作系統(tǒng)這么龐大的軟件系統(tǒng),只有架構(gòu)分層還是遠遠不夠的,因為每一層都很復雜,同一分層內(nèi)不同模塊之間相互依賴、無序調(diào)用。如果沒有進一步的組件化架構(gòu),絕對會給軟件工程和項目管理帶來巨大的災難。

一文帶你看懂HarmonyOS如何適配多種終端-鴻蒙HarmonyOS技術(shù)社區(qū)

圖1 架構(gòu)分層

基于以上原因,HarmonyOS采用了組件化的設(shè)計方案,先對復雜的操作系統(tǒng)進行架構(gòu)分層,再對每一層進行組件化。

下面我們就來具體看看HarmonyOS的“組件化”設(shè)計方案。

二、“組件化”設(shè)計方案詳解

1. HarmonyOS架構(gòu)分層

首先,我們來看看HarmonyOS系統(tǒng)是如何架構(gòu)分層的。

一文帶你看懂HarmonyOS如何適配多種終端-鴻蒙HarmonyOS技術(shù)社區(qū) 

圖2 HarmonyOS架構(gòu)分層

如圖2所示,HarmonyOS劃分為以下層級:

應用層: 由應用開發(fā)者交付,向最終消費者提供UI接口,為消費者體驗負責。應用層向下僅依賴于框架層提供的API,應用開發(fā)僅依賴于HarmonyOS發(fā)布的SDK。

框架層、系統(tǒng)服務層和內(nèi)核層: 這三個層級屬于HarmonyOS基礎(chǔ)平臺,由HarmonyOS平臺開發(fā)者交付,面向北向應用生態(tài)提供API和SDK,面向南向設(shè)備生態(tài)提供Driver Interface和DDK(Driver Development Kit,驅(qū)動開發(fā)包)。

驅(qū)動層: 由設(shè)備開發(fā)者交付,向HarmonyOS提供器件驅(qū)動實現(xiàn)。驅(qū)動層僅依賴于驅(qū)動框架提供的Driver Interface,驅(qū)動開發(fā)僅依賴于HarmonyOS發(fā)布的DDK。

我們通過架構(gòu)分層對HarmonyOS操作系統(tǒng)進行大顆粒系統(tǒng)解構(gòu),方便不同的生態(tài)參與方。參與方既可以相對獨立,又可以相互協(xié)作,共同構(gòu)建形形色色的智能終端設(shè)備和豐富的應用軟件,為消費者帶來全場景智慧服務體驗。

2. HarmonyOS基礎(chǔ)平臺組件化

HarmonyOS基礎(chǔ)平臺涉及框架層、系統(tǒng)服務層和內(nèi)核層三部分,HarmonyOS對這三個層級進行了進一步的組件化設(shè)計。

內(nèi)核層組件化

如圖3所示,內(nèi)核層包括LiteOS、Linux和驅(qū)動框架三個組件。

LiteOS和Linux組件可以按需部署在不同設(shè)備之上。這兩個組件向系統(tǒng)服務層提供POSIX(Portable Operating System Interface,可移植操作系統(tǒng)接口)和CMSIS(Common Microcontroller Software Interface Standard,通用微處理器軟件接口標準)接口,用于屏蔽不同的內(nèi)核實現(xiàn)差異。

驅(qū)動框架組件向驅(qū)動層提供了Driver Interface和DDK,向系統(tǒng)服務層提供標準化的硬件操作接口HDI(HarmonyOS Driver Interface)。

一文帶你看懂HarmonyOS如何適配多種終端-鴻蒙HarmonyOS技術(shù)社區(qū)

圖3 內(nèi)核層組件化

框架層/系統(tǒng)服務層組件化

HarmonyOS系統(tǒng)架構(gòu)分層根據(jù)功能定位區(qū)分了系統(tǒng)服務層和框架層,系統(tǒng)服務層是所有系統(tǒng)服務的匯總,通過框架層向應用暴露API。單個系統(tǒng)能力實現(xiàn)通常分布在系統(tǒng)服務層和框架層,考慮到系統(tǒng)服務和框架緊密耦合,在HarmonyOS中未統(tǒng)一定義系統(tǒng)服務層和框架層之間的層間接口。如圖4所示,HarmonyOS將同一個功能實現(xiàn)的系統(tǒng)服務和框架組合在一起,形成一個個獨立的“組件”,每個組件提供一個的系統(tǒng)能力和對應的API接口。組件之間基于InnerSDK完成解耦,支持組件獨立代碼下載、獨立編譯、獨立測試和組件拼裝。

一文帶你看懂HarmonyOS如何適配多種終端-鴻蒙HarmonyOS技術(shù)社區(qū)

圖4 框架層/系統(tǒng)服務層組件化

三、HarmonyOS如何在多終端部署?

通過“組件化”設(shè)計后,HarmonyOS支持根據(jù)設(shè)備的資源能力和業(yè)務特征靈活裁剪,滿足不同形態(tài)終端設(shè)備對操作系統(tǒng)的要求。也就是說,一套HarmonyOS可以部署到不同的終端設(shè)備上。

為了部署在不同形態(tài)的終端設(shè)備上,HarmonyOS細分為以下四種基本系統(tǒng)規(guī)格:

  • 輕量系統(tǒng)(mini system)

面向MCU(Micro Control Unit,微控制單元)類處理器的設(shè)備,支持的設(shè)備最小內(nèi)存為128KiB,如智能家居領(lǐng)域的連接類模組、傳感器設(shè)備、穿戴類設(shè)備等。

可以提供多種輕量級網(wǎng)絡(luò)協(xié)議,輕量級的圖形框架,以及豐富的IoT總線讀寫組件等。

  • 小型系統(tǒng)(small system)

面向應用處理器的設(shè)備,支持的設(shè)備最小內(nèi)存為1MiB,如智能家居領(lǐng)域的IP Camera、電子貓眼、路由器以及行車記錄儀等。

可以提供更高的安全能力,標準的圖形框架,以及視頻編解碼的多媒體能力。

  • 標準系統(tǒng)(standard system)

面向應用處理器的設(shè)備,支持的設(shè)備最小內(nèi)存為128MiB,如帶屏IoT設(shè)備、智能手機。

可以提供增強的交互能力,3D GPU和硬件合成能力,更多控件和動效更豐富的圖形能力,以及完整的應用框架。

  • 大型系統(tǒng)(large system)

面向應用處理器的設(shè)備,支持的設(shè)備最小內(nèi)存為1GiB,如智慧屏、智能手表等。

可以提供支持兼容三方OS系統(tǒng)的應用框架。

HarmonyOS根據(jù)不同的系統(tǒng)規(guī)格,分別定義了最小系統(tǒng)必選組件集和對應的可選組件集。產(chǎn)品部署HarmonyOS時,根據(jù)系統(tǒng)規(guī)格類型選擇對應的最小系統(tǒng)必選組件集,同時根據(jù)不同產(chǎn)品的差異化功能需要選擇可選組件。基于組件間依賴管理,如果某個可選組件被選擇,相應該組件依賴的其他組件也會自動被打包到HarmonyOS系統(tǒng)。

一文帶你看懂HarmonyOS如何適配多種終端-鴻蒙HarmonyOS技術(shù)社區(qū)

圖5 選擇組件

在開發(fā)者資源中心DevEco Marketplace可以進行組件管理,靈活拼裝出不同的產(chǎn)品解決方案。DevEco Marketplace的詳細介紹,請參見往期推文。

DevEco Marketplace鏈接如下:

https://repo.harmonyos.com

組件是拼裝HarmonyOS的一個個零部件。每個組件都提供一定的系統(tǒng)能力,一些組件還涉及面向應用暴露API接口。不同組件組合部署到特定設(shè)備上,面向應用提供的API能力會存在差異。本文我們就組件的部署原理做了詳細說明,后續(xù)我們還將對組件化架構(gòu)下的組件運行態(tài)管理、SDK管理與應用分發(fā)原理做進一步的詳細解析,敬請期待!

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2020-03-31 14:40:24

HashMap源碼Java

2023-04-10 11:35:31

評估模型業(yè)務流程

2016-12-23 14:08:30

物聯(lián)網(wǎng)操作系統(tǒng)開源

2019-09-25 08:51:44

Python收藏算法

2021-02-06 10:47:12

Redis 高性能位操作

2016-08-18 00:21:12

網(wǎng)絡(luò)爬蟲抓取網(wǎng)絡(luò)

2021-12-08 22:29:41

經(jīng)營分析體系

2024-08-12 12:30:27

2025-01-20 09:15:00

iOS 18.3蘋果iOS 18

2021-08-02 06:56:19

TypeScript編程語言編譯器

2022-12-20 07:39:46

2023-11-20 08:18:49

Netty服務器

2023-12-21 17:11:21

Containerd管理工具命令行

2021-10-18 14:55:17

人臉識別AI人工智能

2019-07-01 09:22:15

Linux操作系統(tǒng)硬件

2019-05-22 09:50:42

Python沙箱逃逸網(wǎng)絡(luò)攻擊

2024-05-24 13:29:41

云計算Akamai平臺

2023-11-06 08:16:19

APM系統(tǒng)運維

2021-05-29 10:11:00

Kafa數(shù)據(jù)業(yè)務

2023-07-31 08:18:50

Docker參數(shù)容器
點贊
收藏

51CTO技術(shù)棧公眾號