OpenHarmony子系統
- OpenHarmony子系統
- 1. AI業務子系統
- 2. 方舟運行時子系統
- 3. ArkUI框架子系統
- 4. DFX子系統
- 5. DeviceProfile子系統
- 6. XTS子系統
- 7. 上傳下載子系統
- 8. 主題框架子系統
- 9. 事件通知子系統
- 10. 位置服務子系統
- 11. 元能力子系統
- 12. 全局資源調度子系統
- 13. 全球化子系統
- 14. 公共基礎庫
- 15. 內核子系統
- 16. 分布式數據管理子系統
- 17. 分布式硬件子系統
- 18. 分布式軟總線子系統
- 19. 包管理子系統
- 20. 升級子系統
- 21. 啟動恢復子系統
- 22. 圖形子系統
- 23. 多模輸入子系統
- 24. 媒體子系統
- 25. 安全基礎能力子系統
- 26. 定制子系統
- 27. 賬號子系統
- 28. 文件管理子系統
- 29. 時間時區子系統
- 30. 泛Sensor子系統
- 31. 測試子系統
- 32. 用戶IAM子系統
- 33. 電源管理子系統
- 34. 電話服務子系統
- 35. 研發工具鏈子系統
- 36. 程序訪問控制子系統
- 37. 窗口子系統
- 38. 系統應用
- 39. 系統服務管理子系統
- 40. 編譯構建子系統
- 41. 網絡管理子系統
- 42. 語言運行時子系統
- 43. 輸入法框架子系統
- 44. 驅動子系統
OpenHarmony子系統
OpenHarmony整體遵從分層設計,從下向上依次為:內核層、系統服務層、框架層和應用層。系統功能按照“系統 > 子系統 > 組件”逐級展開,在多設備部署場景下,支持根據實際需求裁剪某些非必要的組件。子系統是一個邏輯概念,它具體由對應的組件構成。組件對子系統的進一步拆分,可復用的軟件單元,它包含源碼、配置文件、資源文件和編譯腳本;能獨立構建,以二進制方式集成,具備獨立驗證能力的二進制單元。
官方文檔:https://gitee.com/openharmony/docs/tree/master/zh-cn/readme
1. AI業務子系統
AI業務子系統是OpenHarmony提供原生的分布式AI能力的子系統。本次開源范圍是提供了統一的AI引擎框架,實現算法能力快速插件化集成。框架中主要包含插件管理、模塊管理和通信管理等模塊,對AI算法能力進行生命周期管理和按需部署。后續,會逐步定義統一的AI能力接口,便于AI能力的分布式調用。同時,提供適配不同推理框架層級的統一推理接口。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/AI業務子系統.md
2. 方舟運行時子系統
方舟編譯器(ArkCompiler)是為支持多種編程語言、多種芯片平臺的聯合編譯、運行而設計的統一編譯運行時平臺。它支持包括動態類型和靜態類型語言在內的多種編程語言,如JS、TS、ArkTS;它是支撐OpenHarmony系統成為打通手機、PC、平板、電視、車機和智能穿戴等多種設備的操作系統的編譯運行時底座。
ArkCompiler主要分成兩個部分:編譯工具鏈與運行時。
編譯工具鏈架構:
運行時架構:
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/ARK-Runtime-Subsystem-zh.md
3. ArkUI框架子系統
ArkUI框架是OpenHarmony UI開發框架,提供開發者進行應用UI開發時所必需的能力,包括UI組件、動畫、繪制、交互事件、JS API擴展機制等。ArkUI框架提供了兩種開發范式,分別是基于ArkTS的聲明式開發范式(簡稱“聲明式開發范式”)和兼容JS的類Web開發范式(簡稱“類Web開發范式”)。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/ArkUI框架子系統.md
4. DFX子系統
在OpenHarmony中,DFX(Design for X)是為了提升質量屬性軟件設計,目前包含的內容主要有DFR(Design for Reliability,可靠性)和DFT(Design for Testability,可測試性)特性。提供以下功能:
-
HiLog流水日志。
-
HiView插件平臺。
-
FaultLoggerd應用故障收集和訂閱。
-
HiAppEvent應用事件記錄接口及框架。
-
HiSysEvent系統事件記錄接口及服務。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/DFX子系統.md
5. DeviceProfile子系統
DeviceProfile是設備硬件能力和系統軟件特征的管理器,典型的Profile有設備類型、設備名稱、設備OS類型、OS版本號等。DeviceProfile提供快速訪問本地和遠端設備Profile的能力,是發起分布式業務的基礎。主要功能如下:
- 本地設備Profile的查詢、插入、刪除。
- 遠程設備Profile的查詢。
- 跨設備同步Profile。
- 訂閱遠程Profile變化的通知。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/DeviceProfile子系統.md
6. XTS子系統
XTS子系統是OpenHarmony兼容性測試套件的集合,當前包括acts(application compatibility test suite)應用兼容性測試套件,后續會拓展dcts(device compatibility test suite)設備兼容性測試套件等。XTS子系統當前包括acts與tools軟件包:
- acts,存放acts相關測試用例源碼與配置文件,其目的是幫助終端設備廠商盡早發現軟件與OpenHarmony的不兼容性,確保軟件在整個開發過程中滿足OpenHarmony的兼容性要求。
- tools,存放acts相關測試用例開發框架。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/XTS子系統.md
7. 上傳下載子系統
上傳下載服務為應用提供上傳/下載能力,包括創建、移除、暫停、啟動任務上傳/下載,以及訂閱任務進度、成功、失敗等,支撐開發者方便、高效地使用下載/上傳業務的功能。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/上傳下載子系統.md
8. 主題框架子系統
主題框架子系統包括壁紙管理服務和鎖屏管理服務,為系統提供設置壁紙、鎖屏、解鎖等基礎能力。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/主題框架子系統.md
9. 事件通知子系統
OpenHarmony通過CES(Common Event Service,公共事件服務)為應用程序提供訂閱、發布、退訂公共事件的能力。公共事件可分為系統公共事件和自定義公共事件。
-
系統公共事件:系統將收集到的事件信息,根據系統策略發送給訂閱該事件的用戶程序。 例如:系統關鍵服務發布的系統事件(例如:hap安裝,更新,卸載等)。
-
自定義公共事件:應用自定義一些公共事件用來實現跨應用的事件通信能力。
每個應用都可以按需訂閱公共事件,訂閱成功且公共事件發布,系統會把其發送給應用。這些公共事件可能來自系統、其他應用和應用自身。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/事件通知子系統.md
10. 位置服務子系統
移動終端設備已經深入人們日常生活的方方面面,如查看所在城市的天氣、新聞軼事、出行打車、旅行導航、運動記錄。這些習以為常的活動,都離不開定位用戶終端設備的位置。當用戶處于這些豐富的使用場景中時,系統的位置能力可以提供實時準確的位置數據。對于開發者,設計基于位置體驗的服務,也可以使應用的使用體驗更貼近每個用戶。當應用在實現基于設備位置的功能時,如:駕車導航,記錄運動軌跡等,可以調用該模塊的API接口,完成位置信息的獲取。
位置能力用于確定用戶設備在哪里,系統使用位置坐標標示設備的位置,并用多種定位技術提供服務,如GNSS定位、基站定位、WLAN/藍牙定位(基站定位、WLAN/藍牙定位后續統稱“網絡定位技術”)。通過這些定位技術,無論用戶設備在室內或是戶外,都可以準確地確定設備位置。
-
坐標,系統以1984年世界大地坐標系統為參考,使用經度、緯度數據描述地球上的一個位置。
-
GNSS定位,基于全球導航衛星系統,包含:GPS、GLONASS、北斗、Galileo等,通過導航衛星,設備芯片提供的定位算法,來確定設備準確位置。定位過程具體使用哪些定位系統,取決于用戶設備的硬件能力。
-
基站定位,根據設備當前駐網基站和相鄰基站的位置,估算設備當前位置。此定位方式的定位結果精度相對較低,并且需要設備可以訪問蜂窩網絡。
-
WLAN、藍牙定位,根據設備可搜索到的周圍WLAN、藍牙設備位置,估算設備當前位置。此定位方式的定位結果精度依賴設備周圍可見的固定WLAN、藍牙設備的分布,密度較高時,精度也相較于基站定位方式更高,同時也需要設備可以訪問網絡。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/位置服務子系統.md
11. 元能力子系統
元能力子系統實現對Ability的運行及生命周期進行統一的調度和管理,應用進程能夠支撐多個Ability,Ability具有跨應用進程間和同一進程內調用的能力。Ability管理服務統一調度和管理應用中各Ability,并對Ability的生命周期變更進行管理。元能力子系統架構圖說明:
- Ability Kit為Ability的運行提供基礎的運行環境支撐。Ability是系統調度應用的最小單元,是能夠完成一個獨立功能的組件,一個應用可以包含一個或多個Ability。Ability分為FA(Feature Ability)和PA(Particle Ability)兩種類,其中FA支持Page Ability,PA支持Service Ability和Data Ability。
- Ability管理服務(AbilityManagerService):用于協調各Ability運行關系、及對生命周期進行調度的系統服務。
- Ability棧管理模塊(AbilityStackManager)負責維護各個Ability之間跳轉的先后關系。
- 連接管理模塊(AbilityConnectManager)是Ability管理服務對Service類型Ability連接管理的模塊。
- 數據管理模塊(DataAbilityManager)是Ability管理服務對Data類型Ability管理的模塊。
- App管理服務調度模塊(AppScheduler)提供Ability管理服務對用戶程序管理服務進行調度管理的能力。
- Ability調度模塊(AbilityScheduler)提供對Ability進行調度管理的能力。
生命周期調度模塊(LifecycleDeal)是Ability管理服務對Ability的生命周期事件進行管理調度的模塊。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/元能力子系統.md
12. 全局資源調度子系統
全局資源調度子系統承擔系統中CPU、內存、存儲資源的調度管理,包括任務的分組,優先級管理,后臺任務的管理等。在保障前臺操作流暢的基礎上,盡力提供后臺多任務流暢運行的環境。同時, 全局資源調度子系統也負責性能、功耗、熱的均衡調度,即考慮用戶操作的及時響應, 也護航系統的長續航能力,并兼顧系統發熱控制,避免發熱和控制發熱的影響在可控范圍內。
全局資源調度子系統主要適用于標準系統,對于輕量系統,一般進行刪減處理。下面的介紹僅針對標準系統。全局資源調度子系統從整個系統的性能、功耗、熱三個維度分別對CPU、內存、IO、網絡、軟資源進行調度和管控,即三大調度引擎五大資源維度。所述軟資源包括前后臺任務、消息、隊列等可管理的軟件實體。全局資源調度子系統的模塊劃分如下圖所示:
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/全局資源調度子系統.md
13. 全球化子系統
當OpenHarmony系統/應用在全球不同區域使用時,系統/應用需要滿足不同市場用戶關于語言、文化習俗的需求。全球化子系統提供支持多語言、多文化的能力,包括:
-
資源管理能力
-
根據設備類型、系統配置等信息,對系統資源和應用資源加載、解析和初始化,對外提供獲取字符串、媒體等資源的接口。
-
國際化能力
-
提供底層的資源回溯能力,同時對外提供豐富的國際化接口,包括時間日期格式化、數字格式化、電話號碼格式化、單復數等。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/全球化子系統.md
14. 公共基礎庫
公共基礎類庫存放OpenHarmony通用的基礎組件。這些基礎組件包括一些常用的C、C++、JS開發增強API,可被OpenHarmony各業務子系統及上層應用所使用。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/公共基礎庫.md
15. 內核子系統
OpenHarmony針對不同量級的系統,分別使用了不同形態的內核,分別為LiteOS和Linux。在輕量系統、小型系統可以選用LiteOS;在小型系統和標準系統上可以選用Linux。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/內核子系統.md
16. 分布式數據管理子系統
分布式數據管理子系統支持單設備的各種結構化數據的持久化,以及跨設備之間數據的同步、共享功能。開發者通過分布式數據管理子系統,能夠方便地完成應用程序數據在不同終端設備間的無縫銜接,滿足用戶跨設備使用數據的一致性體驗。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/分布式數據管理子系統.md
17. 分布式硬件子系統
超級終端是指多個設備互相協同,借助各個設備的優勢能力為用戶提供1+1>2的更優體驗。 分布式硬件子系統是超級終端中用于設備間外設能力共享的子系統,其管理超級終端內各個設備的硬件信息,納入硬件資源池統一管理,實現設備間硬件能力的跨設備共享和調用能力,打破了設備邊界,并通過軟件定義各種新產品形態和體驗。如手機可以使用電視大屏幕顯示,辦公PC也能使用手機攝像頭提供更強的攝像能力。 分布式硬件平臺對超級終端中的所有設備的硬件資源池化都是基于硬件虛擬化組件來進行構建的,每一個硬件在平臺上注冊對應的虛擬硬件實例,虛擬硬件通過虛擬化組件實現與對應的物理硬件之間的交互,從而實現了對周邊設備對應硬件的控制和數據傳輸。硬件資源池化基于驅動接口(HDI)完成硬件虛擬化,服務層各個業務子系統可以像使用本機硬件一樣使用分布式硬件。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/分布式硬件子系統.md
18. 分布式軟總線子系統
分布式軟總線子系統旨在為OpenHarmony系統提供的通信相關的能力,包括:WLAN服務能力、藍牙服務能力、軟總線、進程間通信RPC(Remote Procedure Call)等通信能力。
-
WLAN服務:為用戶提供WLAN基礎功能、P2P(peer-to-peer)功能和WLAN消息通知的相應服務,讓應用可以通過WLAN和其他設備互聯互通。
-
藍牙服務:為應用提供傳統藍牙以及低功耗藍牙相關功能和服務。
-
軟總線:為應用和系統提供近場設備間分布式通信的能力,提供不區分通信方式的設備發現,連接,組網和傳輸功能。
-
進程間通信:提供不區分設備內或設備間的進程間通信能力。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/分布式軟總線子系統.md
19. 包管理子系統
包管理子系統負責應用安裝包的管理,提供安裝包的信息查詢、安裝、更新、卸載和包信息存儲等能力。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/包管理子系統.md
20. 升級子系統
OpenHarmony升級子系統用來支持OpenHarmony設備的OTA(Over The Air)升級。整個升級子系統包括如下幾塊:
-
升級包制作工具,升級包制作工具是使用python開發,運行在PC端用來制作升級包的工具。它首先會打包各個升級鏡像,然后對升級包進行簽名,同時生成升級包執行腳本,最后制作出升級包。工具生成升級腳本,設備側解析執行腳本。最終完成所有的升級動作。升級包里面有兩個文件,包括build_tools.zip 和update.bin。工具對update.bin 和最終生成的升級包(zip 壓縮文件)分別進行簽名。
- build_tools.zip:用來輔助升級的工具,包括升級的可執行文件和升級腳本
- update.bin:TLV編碼的文件,所有的升級內容按照TLV格式序列化存儲,最終生成update.bin
-
升級服務,升級服務是用來搜索,下載和觸發升級。
-
升級包安裝,升級包安裝是升級子系統的核心功能,主要包括:
- 從misc分區獲取升級命令,根據不同的命令執行不同的任務。
- 對升級包進行解壓和合法性效驗。
- 啟動升級進程,并解析出升級腳本。
- 根據升級腳本安裝各個組件包。
- 完成升級后,進行后處理。如清理升級包,記錄升級狀態等。
-
升級客戶端,升級客戶端是用來觸發搜包和下載的app。
在進行應用的開發前,開發者應了解以下基本概念:
-
OTA,Over The Air 的縮寫。 OTA 是無線升級的一種方式。升級包通過網絡下載到設備中。由設備通過升級子系統進行升級。
-
全量包,全量包是完整的鏡像,由升級子系統將全量包寫到分區,達到更新分區的目的。
-
差分包,根據兩個特定版本(源版本,目標版本)之間的差異,使用bsdiff生成差分數據,升級子系統根據差分數據制作差分包。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/升級子系統.md
21. 啟動恢復子系統
啟動恢復負責在內核啟動之后到應用啟動之前的系統關鍵進程和服務的啟動過程的功能。涉及以下組件:
-
init組件,支持使用LiteOS-A和Linux內核的平臺。負責處理從內核加載第一個用戶態進程開始,到第一個應用程序啟動之間的系統服務進程啟動過程。啟動恢復子系統除負責加載各系統關鍵進程之外,還需在啟動的同時設置其對應權限,并在子進程啟動后對指定進程實行保活(若進程意外退出要重新啟動),對于核心進程意外退出時,啟動恢復子系統還要執行系統重啟操作。詳見“init啟動引導組件”部分。
-
appspawn應用孵化器組件,提供了Lite和Standard兩個版本,Lite版本支持使用LiteOS-A內核的平臺;Standard版本支持使用Linux內核的平臺。負責接受應用程序框架的命令孵化應用進程,設置其對應權限,并調用應用程序框架的入口。
-
bootstrap啟動引導組件,支持使用LiteOS-M內核的平臺。提供了各服務和功能的啟動入口標識。在SAMGR啟動時,會調用bootstrap標識的入口函數,并啟動系統服務。
-
syspara系統參數組件,負責提供獲取與設置操作系統相關的系統屬性。支持全量系統平臺。支持的系統屬性包括:默認系統屬性、OEM廠商系統屬性和自定義系統屬性。OEM廠商部分僅提供默認值,具體值需OEM產品方按需進行調整,詳見“syspara系統屬性組件”部分。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/啟動恢復子系統.md
22. 圖形子系統
圖形子系統主要包括UI組件、布局、動畫、字體、輸入事件、窗口管理、渲染繪制等模塊,構建基于輕量OS應用框架滿足硬件資源較小的物聯網設備或者構建基于標準OS的應用框架滿足富設備的OpenHarmony系統應用開發。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/圖形子系統.md
23. 多模輸入子系統
OpenHarmony旨在為開發者提供NUI(Natural User Interface)的交互方式,有別于傳統操作系統的輸入,在OpenHarmony上,我們將多種維度的輸入整合在一起,開發者可以借助應用程序框架、系統自帶的UI組件或API接口輕松地實現具有多維、自然交互特點的應用程序。具體來說,多模輸入子系統基于Linux原生驅動和HDF驅動接收設備輸入事件,如鍵盤、鼠標、觸摸屏、觸摸板等, 對輸入事件進行歸一化和標準化后通過innerSDK分發到ArkUI框架,ArkUI框架封裝事件后轉發到應用,或者innerSDK通過JsKit接口直接分發事件到應用。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/多模輸入子系統.md
24. 媒體子系統
媒體子系統為開發者提供一套簡單且易于理解的接口,使得開發者能夠方便接入系統并使用系統的媒體資源。媒體子系統包含了音視頻、相機相關媒體業務,提供以下常用功能:
- 音頻播放和錄制。
- 視頻播放和錄制。
- 相機拍照和錄制。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/媒體子系統.md
25. 安全基礎能力子系統
安全基礎能力子系統包括系統安全、數據安全、應用安全等功能,為OpenHarmony提供有效保護應用和用戶數據的能力。安全基礎能力子系統當前開源的功能,包括應用完整性保護、應用權限管理、設備認證、密鑰管理服務、數據傳輸管控。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/安全基礎能力子系統.md
26. 定制子系統
當OpenHarmony設備或應用在特定行業、地域等場景下使用時,需要對系統進行不同程度的定制以滿足特定場景的使用需求。定制子系統提供支持企業設備管理和配置策略的能力。
- 配置策略,為各業務模塊提供獲取各配置層級的配置目錄或配置文件路徑的接口。
- 企業設備管理組件,為企業MDM(Mobile Device Management)應用開發者提供管理應用的開發框架,設定管理模式,提供企業設備管理功能能力集。同時為企業環境下的應用提供系統級別的API。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/定制子系統.md
27. 賬號子系統
在標準系統上,賬號子系統主要提供系統賬號生命周期管理,分布式賬號登錄狀態管理和應用賬號信息管理等基礎能力。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/賬號子系統.md
28. 文件管理子系統
文件管理子系統為OpenHarmony提供一套完整的文件數據管理解決方案,提供安全、易用的文件訪問能力和完善的文件存儲管理能力,包括:
- 為應用提供安全的沙箱隔離技術,保證應用數據安全基礎上權限最小化;
- 統一的公共文件管理能力,統一公共數據訪問入庫,保證用戶數據安全、純凈;
- 分布式文件系統和云接入文件系統訪問框架,應用可以像使用本地文件一樣使用分布式和云端文件;
- 支持公共數據、跨應用、跨設備的系統級文件分享能力;
- 提供系統的存儲管理能力和基礎文件系統能力。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/文件管理子系統.md
29. 時間時區子系統
時間時區為OpenHarmony系統提供了管理系統時間時區和定時的能力,包括:
-
管理時間時區,統一管理系統時間時區,包括設置/獲取系統時間、日期、時區,同時提供獲取系統啟動時間。
-
定時能力,提供系統定時器能力。包括定時器創建、啟動、停止和銷毀。定時器類型提供三種:系統啟動時間計時類定時器、系統當前時間計時類定時器、喚醒類定時器。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/時間時區子系統.md
30. 泛Sensor子系統
泛Sensor服務子系統提供了輕量級sensor服務基礎框架,提供了如下功能:
- Sensor列表查詢
- Sensor啟停
- Sensor訂閱/去訂閱
- 設置數據上報模式等
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/泛Sensor子系統.md
31. 測試子系統
OpenHarmony為開發者提供了一套全面的自測試框架,開發者可根據測試需求開發相關測試用例,開發階段提前發現缺陷,大幅提高代碼質量。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/測試子系統.md
32. 用戶IAM子系統
用戶身份和訪問管理子系統,下稱用戶IAM(Identity and Access Management),旨在為OpenHarmony提供統一用戶身份憑據管理和身份認證的能力,支持多用戶分別設置憑據信息,并根據用戶設置的憑據信息提供用戶身份認證功能,支撐鎖屏和支付等安全場景。同時,用戶IAM子系統也提供對外的接口供三方應用調用,實現業務對用戶的訪問控制要求。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/用戶IAM子系統.md
33. 電源管理子系統
電源管理子系統提供如下功能:
- 重啟服務:系統重啟和下電。
- 系統電源管理服務:系統電源狀態管理和休眠運行鎖管理。
- 顯示相關的能耗調節:包括根據環境光調節背光亮度,和根據接近光亮滅屏。
- 省電模式 :在不損害主要功能和性能的前提下,提供一種低功耗操作模式 。
- 電池服務:支持充放電、電池和充電狀態的監測,包括狀態的更新和上報,還包括關機充電。
- 溫控 :在設備溫度到一定程度之后對應用、SoC、外設進行管控,限制溫升 。
- 耗電統計: 主要包括軟件耗電和硬件耗電統計,以及單個應用的耗電統計 。
- 輕設備電池服務。
- 輕設備電源管理服務。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/電源管理子系統.md
34. 電話服務子系統
電話服務子系統,提供了一系列的API用于獲取無線蜂窩網絡和SIM卡相關的一些信息。應用可以通過調用API來獲取當前注冊網絡名稱、網絡服務狀態、信號強度以及SIM卡的相關信息。各個模塊主要作用如下:
- 核心服務模塊:主要功能是初始化RIL管理、SIM卡和搜網模塊。
- 通話管理模塊:主要功能是管理CS(Circuit Switch,電路交換)、IMS(IP Multimedia Subsystem,IP多媒體子系統)和OTT(over the top,OTT解決方案)三種類型的通話,申請通話所需要的音視頻資源,處理多路通話時產生的各種沖突。
- 蜂窩通話模塊:主要功能是實現基于運營商網絡的基礎通話。
- 蜂窩數據模塊:主要功能是實現基于運營商網絡的蜂窩數據上網。
- 短彩信模塊:主要功能是短信收發和彩信編解碼。
- 狀態訂閱模塊:主要功能是提供電話服務子系統各種消息事件的訂閱以及取消訂閱的API。
- 數據存儲模塊:主要功能是持久化數據存儲,提供DataAbility訪問接口。
- RIL Adapter模塊: 主要功能是與modem通信接口的適配。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/電話服務子系統.md
35. 研發工具鏈子系統
在OpenHarmony中,研發工具鏈子系統主要為開發人員提供了開發時用于調試的命令行以及追蹤性能軌跡、查看性能的工具。本子系統主要實現了以下功能:
- bytrace,開發人員用于追蹤進程軌跡、查看性能的一種工具,主要對內核ftrace進行了封裝和擴展,來支持用戶態的打點。
- hdc,開發人員用于調試的命令行工具,通過該工具可以在windows/linux/mac等系統上與開發機或者模擬器進行交互。
- profiler,旨在為開發者提供一套性能調優平臺,可以用來分析內存、性能等問題。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/研發工具鏈子系統.md
36. 程序訪問控制子系統
程序訪問控制子系統負責管理操作系統的權限管控機制和隔離訪問控制等能力。現程序訪問控制子系統開源的功能,包括沙箱管理模塊。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/程序訪問控制子系統.md
37. 窗口子系統
窗口子系統 提供窗口管理和Display管理的基礎能力,是系統圖形界面顯示所需的基礎子系統。其主要的結構如圖所示。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/窗口子系統.md
38. 系統應用
系統應用提供了OpenHarmony標準系統上的部分應用,如桌面、SystemUI、設置等,為開發者提供了構建標準系統應用的具體實例,這些應用支持在所有標準系統設備上使用。系統應用目前包含如下幾個應用:
- 桌面:提供了基本的已安裝應用的展示功能和人機交互界面,是所有應用的入口。
- SystemUI:包含導航欄和系統狀態欄兩部分,導航欄提供基本頁面導航功能、狀態欄提供系統狀態顯示,如時間、充電狀態等。
- 設置:提供了關于設備,應用管理,亮度設置等功能。
- 聯系人:提供了撥號盤、通話記錄查看/刪除、聯系人列表、詳情查看和新建聯系人等功能。
- 短信:提供了信息查看、發送短信、接收短信、短信送達報告、刪除短信等功能。
- 通話:提供了語音通話接聽和掛斷,移動數據開關等功能。
- 相機:提供了預覽、拍照、縮略圖顯示、跳轉大圖瀏覽等功能。
- 圖庫:提供了圖片、視頻和相冊的管理、瀏覽、顯示、編輯操作等功能。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/系統應用.md
39. 系統服務管理子系統
系統服務管理子系統實現系統服務框架,提供系統服務的啟動、注冊、查詢功能,提供查詢跨設備的分布式系統服務。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/系統服務管理子系統.md
40. 編譯構建子系統
編譯構建子系統提供了一個基于gn和ninja的編譯構建框架,主要提供以下功能:
- 構建不同芯片平臺的產品,如:Hi3516DV300平臺。
- 根據產品配置可以按照組件組裝打包產品需要的能力。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/編譯構建子系統.md
41. 網絡管理子系統
網絡管理子系統,作為設備聯網的必備組件,提供了對不同類型網絡連接的統一管理、流量管理、策略管理、網絡共享,并提供了網絡協議棧能力。應用可以通過調用API來獲取數據網絡的連接信息,查詢和訂閱數據網絡的連接狀態,網絡流量數據,網絡策略以及網絡共享等,并可通過網絡協議棧進行數據傳輸。下圖所示為網絡管理子系統架構圖。各個部件主要作用如下:
- 網絡管理基礎部件:主要功能是提供基礎網絡連接管理能力和對應的JS/Native API,包括不同網絡連接優先級管理、網絡連接信息查詢、網絡連接狀態變化、DNS解析、流量統計管理、聯網策略管理以及物理網絡管理等。
- 網絡管理擴展部件:主要功能是提供網絡管理擴展能力和對應的JS/Native API,包括以太網連接、熱點網絡共享等。
- 網絡協議棧部件:主要功能是提供基礎的網絡協議棧和對應的JS API,包括HTTP、HTTPS、WebSocket、TCP/UDP/TLS Socket等基礎網絡協議棧能力。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/網絡管理子系統.md
42. 語言運行時子系統
語言運行時子系統提供了JS、C/C++語言程序的編譯、執行環境,提供支撐運行時的基礎庫,以及關聯的API接口、編譯器和配套工具。當前支持的編程語言包括JS、C/C++。子系統中的組件劃分也是基于編程語言維度,每個組件支持單獨編譯,可以基于場景進行組合和分離。
如下圖所示,子系統提供編譯器及相關工具鏈支撐JS、C/C++語言的運行,并提供了語言相關基礎庫、API 接口、JS Engine能力。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/語言運行時子系統.md
43. 輸入法框架子系統
負責建立編輯框所在應用與輸入法應用之間的通信通道,確保兩者可以共同協作提供文本輸入功能,也為系統應用提供管理輸入法應用的能力。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/輸入法框架子系統.md
44. 驅動子系統
OpenHarmony驅動子系統采用C面向對象編程模型構建,通過平臺解耦、內核解耦,兼容不同內核,提供了歸一化的驅動平臺底座,旨在為開發者提供更精準、更高效的開發環境,力求做到一次開發,多系統部署。為了縮減驅動開發者的驅動開發周期,降低三方設備驅動集成難度,OpenHarmony驅動子系統支持以下關鍵特性和能力。
-
彈性化的框架能力:在傳統的驅動框架能力的基礎上,OpenHarmony驅動子系統通過構建彈性化的框架能力,可支持在百K級別到百兆級容量的終端產品形態部署。
-
規范化的驅動接口:定義了常見驅動接口,為驅動開發者和使用者提供豐富、穩定接口,并和未來開放的面向手機、平板、智慧屏等設備驅動接口保持API兼容性。
-
組件化的驅動模型:支持組件化的驅動模型,為開發者提供更精細化的驅動管理,開發者可以對驅動進行組件化拆分,使得驅動開發者可以更多關注驅動與硬件交互部分。同時系統也預置了部分模板化的驅動模型組件,如網絡設備模型等。
-
歸一化的配置界面:提供統一的配置界面,構建跨平臺的配置轉換和生成工具,實現跨平臺的無縫切換。
官方文檔:https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/驅動子系統.md