购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2.1 鸿蒙操作系统的基本架构

鸿蒙操作系统的基本架构包括内核层、系统服务层、框架层和应用层,如图1-2所示。

图1-2 鸿蒙操作系统的基本架构

1.内核层

内核层包含了内核子系统和驱动子系统。鸿蒙操作系统支持多种不同的操作系统内核。其中,LiteOS是华为针对物联网设备发布的轻量级操作系统,其内核也为微内核,最小存储容量仅为6KB。鸿蒙操作系统为了统一这些不同的内核接口,在内核子系统的顶层设计了内核抽象层(Kernel Abstract Layer,KAL)。

驱动子系统包含了鸿蒙操作系统驱动框架(HarmonyOS Driver Foundation,HDF)。HDF为多种不同的硬件提供了统一的访问接口。

2.系统服务层与框架层

系统基本能力子系统集、基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集横跨了系统服务层和框架层,为应用层程序提供了API。对于具体的设备和应用领域,开发者可根据实际情况裁剪掉这些子系统集内部不需要的功能模块。

(1)系统基本能力子系统集提供了基础特征的功能模块,例如方舟多语言运行时、分布式框架、Ability框架、UI框架等。

(2)基础软件服务子系统集提供了具有公共性的软件服务,例如事件通知、电话通话、多媒体播放等。

(3)增强软件服务子系统集针对不同设备提供差异化的软件服务,包括为智慧屏设备提供的智慧屏专有业务子系统,为穿戴设备提供了穿戴专有业务子系统等。

(4)硬件服务子系统集为应用提供了硬件模块的访问能力,包括用于获取当前设备位置信息的位置服务子系统,用于指纹验证信息的生物特征识别子系统等。

其中,系统基本能力子系统集最为重要,主要包含了4个部分:

1)方舟多语言运行时子系统

在传统的Android体系中,Java语言代码无法直接被编译为机器语言,因此需要ART虚拟机(或Dalvik虚拟机)支持。而上述虚拟机在运行时需要额外耗费大量硬件资源,从而使得Android没有了性能优势。在Android诞生的初期,其性能问题常常被广大用户诟病。为此,华为研发了方舟编译体系。方舟编译体系包含方舟编译器和方舟多语言运行时子系统。其中,方舟编译器(Ark Compiler)是2019年推出的完全自主研发的开源多语言静态编译器,可用于编译Java、Kotlin、JavaScript、C/C++等语言程序,可直接将目标程序编译为机器语言。在鸿蒙操作系统中,通过方舟多语言运行时子系统的支持,可有效地提高Java等语言程序的运行效率,从而提高软件性能。方舟编译器的官方网站为https://www.openarkcompiler.cn/,读者可登录该网站下载源代码进行学习和编译。综上所述,方舟多语言运行时子系统是鸿蒙操作系统中的重要一环,让鸿蒙操作系统拥有优秀的性能优势。

2)分布式框架

分布式软总线、分布式数据管理、分布式任务调度为鸿蒙分布式操作系统提供系统服务层基础,为分布式应用运行、调度、迁移操作提供基础能力。

3)用户程序框架、UI框架、Ability框架

这一部分构建了应用程序的主要框架模型,为应用程序的界面开发、Ability能力开发等提供API基础。在每个鸿蒙应用程序中都少不了这些框架的身影。掌握这些框架是学习鸿蒙应用程序开发的核心内容。

4)公共基础库子系统等重要子系统

除了公共基础库子系统以外,多模输入子系统、图形子系统、安全子系统和AI子系统均属于重要的基础子系统。开发者在具体的开发实践中可以按需要使用这些子系统的功能。

3.应用层

应用层是指鸿蒙操作系统中各种系统应用和第三方应用。本书所进行的应用程序开发就是在应用层上的扩展开发。为了提高应用性能,内核层也提供了一些应用层可以直接调用的接口,在必要时应用可以按需要调用内核层的功能。 e7am91WR5V98K1dn+PE7aEq0cKbQUhXb66mTPXo24EAhNmNDkILj6dXTVnEVQTqp

点击中间区域
呼出菜单
上一章
目录
下一章
×