赞
踩
原标题:重磅,鸿蒙操作系统正式开源!
项目介绍
OpenHarmony是开放原子开源基金会(OpenAtom Foundation)旗下开源项目,定位是一款面向全场景的开源分布式操作系统。
OpenHarmony在传统的单设备系统能力的基础上,创造性地提出了基于同一套系统能力、适配多种终端形态的理念,支持多种终端设备上运行,第一个版本支持128K-128M设备上运行,欢迎参加开源社区一起持续演进。
针对设备开发者,OpenHarmony采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。可运行在百K级别的资源受限设备和穿戴类设备,也可运行在百M级别的智能家用摄像头/行车记录仪等相对资源丰富的设备。
公共基础
公共基础库存放OpenHarmony通用的基础组件。这些基础组件可被OpenHarmony各业务子系统及上层应用所使用。
公共基础库在不同平台上提供的能力:
LiteOS-M内核(Hi3861平台):KV存储、文件操作、定时器、IoT外设控制
LiteOS-A内核(Hi3516、Hi3518平台):KV存储、定时器、ACE JS API
目录utils/native/lite/
# 公共基础库根目录
├── file # 文件接口实现
├── hals # HAL目录
│ └── file # 文件操作硬件抽象层头文件
├── include # 公共基础库对外接口文件
├── js # ACE JS API目录
│ └── builtin
│ ├── common
│ ├── deviceinfokit # 设备信息Kit
│ ├── filekit # 文件Kit
│ └── kvstorekit # KV存储Kit
├── kal # KAL目录
│ └── timer # Timer的KAL实现
├── kv_store # KV存储实现
│ ├── innerkits # KV存储内部接口
│ └── src # KV存储源文件
└── timer_task # Timer实现
base/iot_hardware #IoT外设控制
├── frameworks
│ └── wifiiot_lite #IoT外设控制模块实现
├── hals
│ └── wifiiot_lite #HAL适配层接口
└── interfaces
└── kits #IoT外设控制模块接口
vendor/hisi/hi3861/hi3861_adapter/hals/iot_hardware #IoT外设控制HAL层
└── wifiiot_lite #HAL适配层接口实现
内核子系统
OpenHarmony内核是华为推出面向IoT领域的实时操作系统内核,它同时具备RTOS轻快和Linux易用的特点。
OpenHarmony内核主要包括进程和线程调度、内存管理、IPC机制、timer管理等内核基本功能。
OpenHarmony内核的源代码分为 kernel_liteos_a 和 kernel_liteos_m 这2个代码仓库,其中 kernel_liteos_a 主要针对Cortex-A系列处理器,而 kernel_liteos_m 则主要针对Cortex-M系列处理器,两者目录结构非常相似,所以下面主要针对 kernel_liteos_a 代码仓库进行介绍。
OpenHarmony内核源代码目录结构
名称
描述
apps
用户态的init和shell应用程序。
arch
体系架构的目录,如arm等。
bsd
freebsd相关的驱动和适配层模块代码引入,例如USB等。
compat
内核posix接口的兼容。
fs
文件系统模块,主要来源于NuttX开源项目。
kernel
进程、内存、IPC等模块。
lib
内核的lib库。
net
网络模块,主要来源于lwip开源项目。
platform
支持不同的芯片平台代码,如Hi3516DV300等。
security
安全特性相关的代码,包括进程权限管理和虚拟id映射管理。
syscall
系统调用。
tools
构建工具及相关配置和代码。
图形子系统
图形子系统主要包括UI组件、布局、动画、字体、输入事件、窗口管理、渲染绘制等模块,构建基于轻量OS的应用框架,满足硬件资源较小的物联网设备的OpenHarmony系统应用开发。
各模块介绍:
Components: 应用组件,包括UIView、UIViewGoup、UIButton、UILabel、UILabelButton、UIList、UISlider等。
Layout:布局控件,包括Flexlayout、GridLayout、ListLayout等。
Animator:动画模块,开发者可以自定义动画。
Font:字体处理模块。
Event:事件模块,包括click、press、drag、long press等基础事件。
Task:任务管理模块。
Input:输入事件处理模块。
Display:显示处理模块。
Render:渲染绘制模块。
Draw2d:2d绘制模块,包括直线、矩形、圆、弧、图片、文字等绘制。包括软件绘制和硬件加速能力对接。
Surface:共享内存。
Window:窗口管理模块,包括窗口创建、显示隐藏、合成等处理。
Adapter:适配层,对接底层适配层接口。
图形子系统源代码目录结构
名称
描述
config
配置文件目录。
frameworks/surface
Surface共享内存。
frameworks/ui
UI模块,包括UI控件、动画、字体等功能。
hals
HAL适配层逻辑。
interfaces/ui
UI模块对外接口头文件。
interfaces/utils
图形子系统公共库头文件。
services/ims
输入管理服务,处理点击、按键等输入事件处理、分发。
services/wms
窗口管理服务,处理窗口的创建、管理和合成。
utils
图形子系统公共库。
项目地址
官网地址:https://gitee.com/openharmony 返回搜狐,查看更多
责任编辑:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。