Openharmony

OpenHarmony 是一个开源的、多设备分布式操作系统,由开放原子开源基金会(OpenAtom Foundation)孵化及运营。它旨在提供跨多种设备的统一开发体验,支持一次开发,多端部署。OpenHarmony 的系统架构遵循分层设计原则,从下向上依次为内核层、系统服务层、框架层和应用层。下面是对这些层次的详细介绍:

### 内核层
内核层是 OpenHarmony 的基础,提供了操作系统的核心功能。根据设备的不同,OpenHarmony 支持多种类型的内核:

- **LiteOS**: 面向 IoT 领域的实时操作系统内核,适用于资源受限的设备,如 MCU 类处理器。LiteOS 分为 LiteOS-M(面向百K级内存设备)和 LiteOS-A(面向M级内存设备)。
- **Linux**: OpenHarmony 也支持 Linux 内核,已适配 Linux-4.19 和 Linux-5.10 版本,适用于更复杂的设备。

内核层还包括内核子系统和驱动子系统:

- **内核子系统**: 采用多内核设计,支持 LiteOS 和 Linux,通过内核抽象层(KAL)提供统一的内核能力。
- **驱动子系统**: 采用 C 面向对象编程模型构建,提供统一外设访问能力和驱动开发、管理框架。

### 系统服务层
系统服务层提供了操作系统的基本服务和功能,包括但不限于:

- 分布式能力服务:如分布式软总线、分布式数据管理、分布式任务调度等。
- 基础服务:包括通信、数据存储、安全、图形、多媒体等。

### 框架层
框架层提供了应用程序框架和开发框架,确保应用程序的运行兼容性。这一层包括:

- 用户程序框架:为开发者提供应用程序开发的框架。
- Ability框架:定义了应用程序的组件模型,支持多端部署。
- UI框架:提供了用户界面的开发工具和组件。

### 应用层
应用层是开发者直接开发应用程序的地方,包括各种应用程序和服务。OpenHarmony 提供了丰富的 API 和开发工具,支持开发者创建多样化的应用。

### 技术特性
OpenHarmony 的技术特性包括:

- **硬件互助,资源共享**:通过分布式技术实现设备间的资源共享和任务调度。
- **一次开发,多端部署**:通过统一的 API 和框架,实现一次开发,多设备运行。
- **统一OS,弹性部署**:支持从小型设备到大型设备的不同部署需求,适应各种硬件配置。

OpenHarmony 的设计理念是为不同类型的设备提供一个统一、灵活、可扩展的操作系统解决方案,以满足快速发展的智能设备生态系统的需求。
 

分布式软总线(Distributed SoftBus)是 OpenHarmony 系统中的一个关键组件,它为设备间的无缝互联提供了统一的分布式通信能力。这一系统架构的设计使得设备能够快速发现并连接,高效地传输任务和数据。以下是分布式软总线系统架构的详细描述:

### 架构概述
分布式软总线架构设计为模块化,以支持不同的通信方式和设备类型。它主要包括以下几个核心模块:

#### 1. SDK(Software Development Kit)
- 提供软总线的能力接口,如设备发现、服务发布、设备连接、远端设备信息获取、时间同步等。
- 包含 `softbus_client.so` 库和相关的头文件,位于 `interfaces/kits` 目录。

#### 2. Tools
- 提供工具如 `SoftBusDumpDeviceInfo`,用于查看本地和发现的设备信息。

#### 3. Core
- 软总线的核心实现部分,提供 `softbus_server` 库,实现系统能力。
- 实现了基于系统能力框架(system ability framework)的功能。

#### 4. Discovery
- 提供网络设备和蓝牙设备的发布、发现、连接的能力。

#### 5. Authentication
- 设备认证模块,提供不同连接方式的认证实现和统一的认证能力。
- 提供 `DeviceAuthCallback` 接口,用于处理连接事件。

#### 6. Connection
- 提供多种连接方式,如 BLE(蓝牙低功耗)、BR(蓝牙射频)、TCP、P2P 等。
- 启动后台连接服务,处理连接任务。

#### 7. Transmission
- 提供消息发送接口,支持加密和非加密信息传输。

#### 8. Bus Center
- 核心的本地网络服务接口,包括网络服务发现、连接、服务发布等。
- 管理本地网络拓扑账本(NetLedger)和消息处理回环(BusLooper)。

#### 9. Common
- 基础代码库,包括位图、JSON 处理、消息处理、网络参数等。

#### 10. Frame
- 框架层,为不同系统类型(如小型系统 L0、轻量系统 L1、标准系统 L2)提供对外接口实现。

#### 11. Adapter
- 适配层,适配不同设备类型,如 WiFi、蓝牙等。

#### 12. Component
- 组件层,包括 SSL 算法库(如 mbedtls)、网络协议库(如 nstackx)等。

### 约束条件
- 组网设备需在同一局域网中或距离相近的近场设备间。
- 组网前需完成设备绑定。
- 传输完成后,业务需主动关闭会话,释放资源。

### 总结
分布式软总线是 OpenHarmony 的重要特性之一,它不仅支持设备间的发现和连接,还为其他分布式子系统(如分布式数据管理、分布式任务调度等)提供基础通信能力。通过模块化的设计,分布式软总线能够适应不同的设备和通信需求,实现设备间的高效通信和资源共享。
 

 

相关推荐

  1. Openharmony

    2024-03-24 08:42:06       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-24 08:42:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-24 08:42:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-24 08:42:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-24 08:42:06       18 阅读

热门阅读

  1. Android 静默安装成功后自启动

    2024-03-24 08:42:06       22 阅读
  2. C++ 的标准模板库(STL)常用算法介绍

    2024-03-24 08:42:06       17 阅读
  3. Python学习(二):python常用命令

    2024-03-24 08:42:06       15 阅读
  4. Superset二次开发之 配置Docker

    2024-03-24 08:42:06       15 阅读
  5. Kafka系列之:Kafka Connect REST API

    2024-03-24 08:42:06       18 阅读
  6. go实现协程池

    2024-03-24 08:42:06       17 阅读
  7. 前端框架是什么

    2024-03-24 08:42:06       16 阅读
  8. 上位机开发 halcon坐标转轴坐标

    2024-03-24 08:42:06       14 阅读
  9. 区块链与智能合约

    2024-03-24 08:42:06       17 阅读