内核概述

OpenHarmony(鸿蒙)内核是OpenHarmony操作系统的核心组成部分,它采用了分层设计,从下向上依次为内核层、系统服务层、框架层和应用层。内核层作为最底层,提供了系统的基础功能和资源管理能力。

1.1内核设计

OpenHarmony内核层采用了多内核设计,支持针对不同资源受限设备选用适合的OS内核。具体来说,OpenHarmony提供了LiteOS和Linux两种内核选项:

1.1.1 基于LiteOS内核

LiteOS-M内核:

  1. 特性:向IoT领域的轻量级物联网操作系统内核,具有小体积、低功耗、高性能的特点。它主要面向MCU类处理器(如Arm Cortex-M、RISC-V 32位)的设备,支持的设备最小内存为128KiB。LiteOS-M内核架构包含硬件相关层和硬件无关层,硬件相关层提供统一的HAL接口,硬件无关层则包括基础内核模块和扩展模块,提供网络、文件系统等组件能力。LiteOS-M内核代码结构简单,它支持多任务,采用抢占式调度机制,支持32个优先级,并提供任务管理、内存管理、中断管理等功能。
  2. 应用场景:适用于对资源要求极为苛刻的物联网设备,如智能家居、穿戴设备等。

LiteOS-A内核:

  1. 特性:主要应用于小型系统,面向设备一般是M级内存,可支持MMU隔离。LiteOS-A内核在LiteOS-M的基础上增加了更多功能,如虚拟内存、系统调用、多核、轻量级IPC等,使得其能够支持更复杂的应用场景。
  2. 应用场景:适用于对性能有一定要求的物联网设备,如智能音箱、智能摄像头等。

1.2 基于Linux内核

适用于标准系统类设备(参考内存≥128MB),OpenHarmony选择Linux内核作为基础内核。Linux内核从LTS版本中选择合适的版本作为内核的基础版本,目前已完成对Linux-4.19及Linux-5.10的适配及支持。Linux内核为OpenHarmony提供了丰富的系统功能和强大的性能支持。

1.3 LiteOS-M 内核介绍

咱们编译内核是LiteOS-M:

1、LiteOS-M内核架构图:

2、LiteOS-M内核CPU体系架构支持

CPU体系架构分为通用架构定义和特定架构定义两层,通用架构定义层为所有体系架构都需要支持 和实现的接口,特定架构定义层为特定体系架构所特有的部分。在新增一个体系架构的时候,必须 需要实现通用架构定义层,如果该体系架构还有特有的功能,可以在特定架构定义层来实现。

LiteOS-M 已经支持ARM Cortex-M3、ARM Cortex-M4、ARM Cortex-M7、ARM Cortex-M33、RISC-V等主流 架构。

3、LiteOS-M内核启动流程

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐