1.1.2 HarmonyOS架构
HarmonyOS架构的基本结构包括内核层、系统服务层、框架层和应用层,如图1-7所示。
1.内核层
HarmonyOS内核层包括内核子系统和驱动子系统。其中,内核子系统中包含Linux Kernel、LiteOS等内核,可以按照所运行设备的能力选择合适的内核。LiteOS 为华为发布的轻量级物联网操作系统。在内核上层设计了内核抽象层(Kernel Abstract Layer,KAL),可以屏蔽多内核之间的差异,对上层架构提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。
图1-7 HarmonyOS架构图
2.系统服务层
系统服务层为 HarmonyOS 的核心能力集合,对外暴露接口提供服务。该层包括以下4个子系统集。
(1)系统基本能力子系统集:该子系统集为应用提供分布式任务调度、分布式数据管理、分布式软总线、公共基础库子系统、方舟多语言运行时子系统、多模输入子系统、图像子系统、安全子系统、AI子系统。
(2)基础软件服务子系统集:该子系统集为系统提供电话子系统、事件通知子系统、多媒体子系统、DFX(Design for X)子系统、MSDP&DV子系统等。
(3)增强软件服务子系统集:该子系统集为不同设备提供差异化的系统服务,包括智慧屏专有业务子系统、穿戴专有业务子系统、IoT专有业务子系统等。
(4)硬件服务子系统集:该子系统集包括位置服务子系统、生物特征识别子系统、穿戴专有硬件服务子系统、IoT专有硬件服务子系统等。
3.框架层
框架层提供了多语言(包括Java、JS、C/C++等)开发框架和Ability框架,提供了Java UI框架和JS UI框架,以及各种软硬件服务对外开放的多语言框架 API。框架层也提供了多模输入、图像、安全、AI 服务。HarmonyOS 支持系统裁剪,根据系统的组件化裁剪程度,HarmonyOS 设备支持的 API 也会有所不同。
4.应用层
应用层包括系统应用和扩展应用/第三方应用。