共分为四层:内核层、系统服务层、框架层和应用层。

系统架构 扩展性 系统架构 功能架构_多语言

KAL:内核抽象层,采用多内核设计,支持针对不同资源受限设备,选用适合OS内核,为上层提供基础操作系统能力。

HDF:硬件驱动框架,是硬件统一开放的基础,提供统一外访能力和驱动开发管理框架

系统架构 扩展性 系统架构 功能架构_Java_02

系统服务层:包括适用于各类设备的基础能力以及面向特定设备的专有能力

1、系统基本能力子系统集:为分布式应用在 HarmonyOS 多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、AI 等子系统组成。其中,方舟运行时提供了 C / C++ / JS 多语言运行时和基础的系统类库,也为使用方舟编译器静态化的 Java 程序(即应用程序或框架层中使用 Java 语言开发的部分)提供运行时。

2、基础软件服务子系统集:为 HarmonyOS 提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX、MSDP & DV 等子系统组成。

3、增强软件服务子系统集:为 HarmonyOS 提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT 专有业务等子系统组成。

4、硬件服务子系统集:为 HarmonyOS 提供硬件服务,由位置服务、生物特征识别、穿戴专有硬件服务、IoT 专有硬件服务等子系统组成。

根据不同设备形态的部署环境,基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪。

框架层:为应用程序提供了 Java / C / C++ / JS 等多语言的用户程序框架和 Ability 框架,以及各种软硬件服务对外开放的多语言框架 API ;同时为采用HarmonyOS的设备提供了 C / C++ / JS 等多语言的框架 API,不同设备支持的 API 与系统的组件化裁剪程度相关。

应用层:应用由一个或多个 FA(Feature Ability)或 PA(Particle Ability)组成。其中,FA 有 UI 界面,提供与用户交互的能力;而 PA 无 UI 界面,提供后台运行任务的能力以及统一的数据访问抽象。基于 FA / PA 开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。