深圳市启鸿开发技术有限公司

技术培训

OpenHarmony系统架构解析

摘要

本视频深入浅出地为OpenHarmony新手系统讲解了该操作系统的架构细节,旨在帮助开发者快速入门南向开发知识。内容涵盖了OpenHarmony产生的历史背景、系统概念、系统框架全景图及其关键子系统和组件。作者详细介绍了不同系统类型(轻量、小型、标准)及其适用场景,并剖析了代码目录结构与系统架构图的对应关系,最后概述了系统的启动流程及进程拉起机制,为后续深入探讨驱动子系统奠定了基础。


亮点

  • 诞生背景及定位:OpenHarmonyOpenHarmony的出现是为了适应万物互联/智联时代的新需求,支持5G通信技术下的各类智能设备互联互通,并响应国家在高科技领域(如操作系统、高端芯片)实现自主突破的战略需求。

  • 多类型系统支持: OpenHarmony根据设备资源能力分为轻量系统(迷你系统)、小型系统和标准系统,能够灵活支持从智能门铃等资源受限设备到手机、平板等强大设备的广泛应用。

  • 北向与南向开发方向: 明确区分了北向(应用开发,主流支持JS/eTS)和南向(系统开发、内核开发、设备驱动开发)两种开发方向,并强调了南向开发的复杂性及重要性。

  • 系统架构分层解析:详细介绍了OpenHarmony的系统架构,包括应用层、应用框架层、系统服务层、适配层(内核抽象层KSL、硬件抽象层HAL)和硬件层,并强调了系统服务层和应用框架层是OpenHarmony的核心。

  • 代码目录结构与架构对应:通过实际代码目录(如applications、compiler、base、foundation、kernel、drivers等)的遍历,清晰地展示了如何将抽象的系统架构图与具体的代码实现进行对应。

  • 系统启动与进程拉起: 视频讲解了嵌入式系统从芯片引导程序(U-boot)到内核启动,再到用户态init进程拉起所有系统进程的整个启动流程,为理解系统运行机制提供了基础。



问答

  • Q1:为什么OpenHarmony支持多内核架构?

    OpenHarmony支持多内核架构是为了适应大小物联网设备的不同需求。有些设备内核强大,有些则资源非常有限。多内核设计允许根据设备的特定需求选择合适的内核,从而实现更灵活、高效的资源利用和功能适配。

  • Q2:OpenHarmony的系统服务层和应用框架层主要包含哪些内容?

    OpenHarmony的系统服务层和应用框架层包含了大量基础且关键的子系统和组件,例如全局化子系统、电话子系统、DFX子系统、图像多媒体输入、系统能力管理(System AbilityManager)以及各种公共基础库等,它们为上层应用提供了丰富的接口和服务。


术语 

  • 北向开发(Northbound Development):主要指应用开发,即利用OpenHarmony提供的应用开发框架(如JS/eTS)编写上层应用程序。 

  • 南向开发(Southbound Development):主要指系统开发,包括内核开发、设备驱动开发,更深入地涉及操作系统的底层实现和硬件适配。 

  • 内核抽象层 (KSL - Kernel SubsystemLayer):一层适配接口,用于将上层系统服务与具体的内核剥离开来,从而实现OpenHarmony的多内核架构,上层组件无需关心底层具体是哪个内核,只需调用KSL提供的抽象接口。 

  • 硬件抽象层(HAL - Hardware AbstractionLayer):类似于KSL,是一组接口层,将驱动子系统与具体的硬件细节隔离开来,使得驱动开发更加独立,易于跨硬件平台适配。 

  • init 进程:用户态的根进程,在内核启动之后由它负责拉起OpenHarmony用户态的所有其他系统进程和服务,是系统正常运行的关键启动环节。

下一篇:没有了

联系我们

18512012145 仅限中国服务时间 09:00:00 - 18:00:00
微信客服
微信公众号
@2025 深圳市启鸿开发技术有限公司
粤ICP备2025493854号-1