赞
踩
华为的 OpenHarmony 鸿蒙生态包含了三个系统,根据面向的对象不同,分为轻量级系统、小型系统、标准系统,其中轻量级系统面向资源较少的 MCU 之类的芯片,比如 STM32、GD32 等芯片,小型系统面向 MPU 一些小型微处理器,比如 IMX6ULL、全志H3 等芯片,而标准系统则面向一些更高级的芯片,比如高通骁龙870、麒麟9000等芯片,这三个系统运行基于的内核也不相同,区别如下:
系统级别 | 轻量系统 | 小型系统 | 标准系统 |
---|---|---|---|
LiteOS | √ | √ | × |
Linux | × | √ | √ |
轻量级系统使用的 LiteOS-M 内核,不支持 Linux,小型系统则可以基于 LiteOS-A 和 Linux 内核,标准系统目前只支持 Linux 内核,这个在未来会替换为 LiteOS 的内核,这个未来离我们应该不久,本篇文章就分析一下目前 OpenHarmony 开源代码中 LiteOS-A 源码的内核目录,OpenHarmony 开源仓库链接:Gitee OpenHarmony 仓库,目前有 3w 多开发者关注,仓库活跃度很高,潜力很强!
代码文件目录如下:
该目录存放了用户态的 init 初始化程序,以及和 shell 相关的应用程序
存放了 arm 架构相关的代码,以及中断管理相关代码
FreeBSD 相关的驱动和适配层模块代码引入
FreeBSD 是一种类 UNIX操作系统,是由经过 BSD、386BSD 和 4.4BSD 发展而来的Unix的一个重要分支。FreeBSD 为不同架构的计算机系统提供了不同程度的支持,由于 FreeBSD 宽松的法律条款,其代码被其他很多系统借鉴
POSIX 相关内核接口
POSIX 标准目的是为了提供源码级的软件可移植性。一个系统提供了 POSIX 接口,则任何其它的系统可以通过 POSIX 调用该系统
内核驱动代码,分别对应块设备驱动、字符设备驱动、内存设备驱动
文件系统模块,存放文件系统相关模块:
内核相关代码
内核的 lib 库,用于存放内核的一些调用库
网络模块,主要来源于lwip开源项目
支持不同的芯片平台代码
安全特性相关的代码
系统调用相关代码
构建工具及相关配置和代码:
build.sh:构建脚本
makefile:顶层 makefile
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。