初识OpenHarmony三大模块

OpenHarmony三大模块介绍

OpenHarmony是开放原子开源基金会旗下开源项目,愿景是打造开放的、全球化的、创新且领先的面向多智能终端、全场景的分布式操作系统,构筑可持续发展的开源生态系,其中有三大特色模块,每个模块有着不同的功能,但又相互联系。
在这里插入图片描述

特色模块

模块一:communication_softbus_lite

设备通信方式多种多样(USB/WIFI/BT等),不同通信方式使用差异很大且繁琐,同时通信链路的融合共享和冲突无法处理,通信安全问题也不好保证。分布式软总线子系统致力于实现近场设备间统一的分布式通信能力管理,提供不区分链路的设备发现和传输接口。

功能

① 服务发布:服务发布后周边的设备可以发现并使用服务。
② 数据传输:根据服务的名称和设备ID建立一个会话,就可以实现服务间的传输功能。
③ 安全:提供通信数据的加密能力。

目录初识OpenHarmony三大模块_第1张图片

authmanager 文件提供设备认证机制和设备知识库管理。
discovery提供基于coap协议的设备发现机制。
interfaces里含有两个头文件,将在另外四个文件中进行调用。
os_adapter提供操作系统接口适配层。
trans_service提供认证和传输通道。

使用方法

设备的发现
用户使用发现功能时,需要保证发现端设备与被发现端设备在同一个局域网内,并且互相能收到对方以下流程的报文。
(1)发现端设备,发起discover请求后,使用coap协议在局域网内发送广播。
(2)被发现端设备使用PublishService接口发布服务,接收端收到广播后,发送coap协议单播给发现端。
(3)发现端设备收到报文会更新设备信息。

数据的传输
软总线提供统一的基于Session的传输功能,业务可以通过sessionId收发数据或获取其相关基本属性。当前本项目只实现被动接收Session连接的功能,业务可根据自身需要及Session自身属性判断是否接受此Session,如不接受,可以主动拒绝此连接。本项目暂未提供打开Session的相关能力。

模块二:distributedschedule_samgr_lite

由于平台资源有限且用户硬件平台多样化等原因,我们需要屏蔽不同硬件构架和平台资源的不同、以及运行形态的不同,提供统一化的系统服务开发框架。总要有两种硬件平台:M核核A核。
系统服务框架基于面向服务的架构,提供了服务开发、服务的子功能开发、对外接口的开发、以及多服务共进程、进程间服务调用等开发能力。

**M核:**处理器架构为Cortex-M或同等处理能力的硬件平台,系统内存一般低于512KB,无文件系统或者仅提供一个可有限使用的轻量级文件系统,遵循CMSIS接口规范。包含服务开发、服务的子功能开发、对外接口的开发以及多服务共进程的开发框架。

**A核:**处理器架构为Cortex-A或同等处理能力的硬件平台,内存资源大于512KB,文件系统完善,可存储大量数据,遵循POSIX接口规范。在M核能力基础之上,包含了进程间服务调用、进程间服务调用权限控制、进程间服务接口的开发等能力。

目录及相关功能

初识OpenHarmony三大模块_第2张图片

communication提供了M核和A核进程内核事件广播服务

interfaces中含有三个功能文件:
在这里插入图片描述

communication定义了M核和A核系统服务对外框架
registry定义了A核进程间服务调用的对外接口
samgr定义了M核核A核进程内事件广播服务的外接口

samgr中含有三个功能文件:
在这里插入图片描述

adapter提供了POSIX和CMSIS接口适配层来屏蔽A核M核接口差异。
registry定义了M核服务注册发现的桩函数。
source提供了M核和A核系统服务开发框架基础代码。

samgr_client提供了A核进程间服务调用的注册与发现。
samgr_server提供了A核进程间服务调用的IPC地址管理和访问控制。
samgr_endpoint提供了A核IPC通信消息收发包管理。

模块三:security_huks

该模块主要是安全模块,HUKS(鸿蒙通用密钥库系统)向应用提供密钥库能力,包括密钥管理及密钥的密码学操作等功能。HUKS所管理的密钥可以由应用导入或者由应用调用HUKS接口生成。
该模块可以分为以下三大部分:
① HUKS SDK层:提供HUKS API供应用调用
② HUKS Service层:实现HUKS密钥管理、存储等功能。
③ HUKS Engine层:HUKS核心模块,负责密钥生成以及加解密等工作。对于L2设备,该部分模块在商用场景下必须在安全环境下运行,包括TEE或者具备安全能力的芯片等。由于安全环境需要特定硬件支持,因此在开源代码中为模拟实现

目录

初识OpenHarmony三大模块_第3张图片

build作为一个编译配置文件,为其他文件提供各种编译功能。

frameworks是框架代码,作为基础功能的目录,被接下来的两个文件调用,该文件下主要有3个子文件
在这里插入图片描述

crypto_lite的功能是解密实现
huks_lite huks的L0和L1文件实现
huks_standard huks标准模块, 即表示L2的HUKS模块

interfaces是接口API的代码

以上就是我对OpenHarmony三大模块初步的认识和大致的介绍,欢迎交流

你可能感兴趣的:(网络)