概述
HarmonyOS采用分层架构,共四层,从下往上依次为:内核层、系统服务层、框架层和应用层。
系统功能按照“系统>子系统>功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。
内核层
内核子系统
HarmonyOS采用多内核设计,支持针对不同资源受限设备,选用审核的OS内核为上层提供基础操作能力
驱动子系统
硬件驱动框架(HDF)是HarmonyOS硬件生态开放的基础,提供统一外设访问能力和驱动开发管理框架
系统服务层
基础服务层是HarmonyOS的核心能力集合,包括适用于各类设备的基础能力以及面向特定设备的专有能力,涵盖系统基本能力子系统集、基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集。
根据不同设备形态的部署环境,基础软件/增强软件/硬件服务子系统集内部可以按子系统力度裁剪,子系统还可以按功能粒度裁剪。
框架层
为HarmonyOS应用开发提供了Java/C/C++/JS等多语言的用户程序框架和Ability框架,两种UI框架(包括适用于Java语言的Java UI框架、适用于JS语言的JS UI框架)以及各种软硬件服务。
对外开放的多语言框架API,根据系统的组件化裁剪程度,HarmonyOS设备支持的API也会有所不同。
应用层
支持基于框架层实现业务逻辑的原子化开发,构建以FA/FP为基础组成单元的应用(包括系统应用和第三方应用)。
这里,FA/PA是HarmonyOS应用的基本组成单位,能够实现特定的业务功能。一个应用可以包含一个或多个FA/PA。FA有UI界面,PA无UI界面。
例如,一个视频通话应用:“视频通话主界面FA”提供UI界面以便于用户交互,“PA1”进行摄像头视频采集,“PA2”进行视频美颜处理,“PA3”提供超级夜景能力。FA/PA可以按需下载、加载和运行。
基于FA/PA构建的新型应用生态能够实现三方服务跨设备智能分发,提供一致、高效的用户体验。
仍以前面的视频通话应用为例,当手机下载该应用时,将同时拥有主界面FA、摄像头视频采集PA、视频美颜处理PA、超级夜景PA,当智慧屏下载该应用时,如果智慧屏不支持美颜、超级夜景,则会仅下载主界面FA、摄像头视频采集PA。
此乃HarmonyOS的系统架构