鸿蒙系统浅析

简介

鸿蒙(HarmonyOS)是由华为公司于2012年提出的一款分布式操作系统。该系统利用“分布式”技术,将手机、电脑、平板、电视、汽车和智能穿戴设备融合成一个“超级终端”,使用户便于操作和共享各种设备的资源。鸿蒙系统致力于提供统一的语言和平台,简化开发者的开发过程,提高跨设备的协同工作效率。

背景

初始版本于2019年8月9日由华为发布,并于次日推介首款搭载鸿蒙系统的产品“荣耀智能屏”。此后,华为不断完善和升级鸿蒙系统,逐步扩展其适用范围。

图1 HarmonyOS 界面

图2 搭载HarmonyOS的华为mate 40

2024年4月11日,华为发布了最新的HarmonyOS 4.2版本,该版本兼容AOSP 11/12,进一步提升了系统的稳定性和兼容性。
与此同时,HarmonyOS NEXT预计将在2024年第四季度发布,并宣布将不再兼容AOSP,从而向完全自主的方向迈进。

发展历程

版本号 发布时间 正式推送时间 兼容AOSP/Android 版本 对应openharmony API最高版本
1.0 2019年8月9日 仅用于智能屏 Android 9
2.0 2020年9月10日 2021年6月2日 Android 9/10、AOSP 10/11 6
3.0 2021年10月22日 2022年7月27日 Android 9/10、AOSP 10/11/12 8
4.0 2023年8月4日 2023年8月4日 Android 10、AOSP 10/11/12 9
4.2 2024年4月11日 2024年4月11日 AOSP 11/12 9
NEXT 2024年8月4日 预计2024第四季 取消兼容AOSP 11

OpenHarmony

华为于2020年9月及2021年5月分两次将鸿蒙系统的L0-L2分支源代码捐献给开放原子开源基金会(OpenAtom Foundation)。该基金会将受捐赠代码开源,根据基金会命名规范将该项目命名为OpenAtom OpenHarmony。开放原子开源基金会的主要成员包括阿里巴巴、百度、华为、浪潮、奇虎360、腾讯等互联网领先的国内企业。这种开放的举措促进了社区的参与和合作,加速了鸿蒙生态系统的发展。

图3 OpenHarmony 版本日期

2024年3月30日,OpenHarmony发布了最新版本“OpenHarmony 4.1 Release”分支。

差异

自身差异

目前网络上,对HarmonyOS、HarmonyOS Next以及OpenHarmony均称为鸿蒙系统。以下是它们之间的主要区别:

名称 是否兼容AOSP
HarmonyOS
OpenHarmony
HarmonyOS Next

架构差异

图4 OpenHarmony 架构

与Android系统的差异

图5 Android 架构

鸿蒙操作系统优势:
鸿蒙采用微内核架构,而安卓操作系统采用宏内核架构。

  • 稳定性更高:宏内核架构中,内核的任何错误都可能导致整个系统崩溃。微内核架构中,内核只负责提供最核心的功能,因此内核的错误影响范围较小。

  • 安全性更高:宏内核架构中,内核的漏洞更容易被攻击者利用。微内核架构中,内核只负责提供最核心的功能,因此内核的漏洞影响范围更小。

  • 可扩展性更强:宏内核架构中,内核的功能是固定的,因此很难扩展内核的功能。微内核架构中,内核的功能是模块化的,因此可以根据需要扩展内核的功能。

安卓操作系统优势:

  • 系统效率更高:宏内核架构中,内核直接与硬件进行交互,因此系统效率更高。微内核架构中,内核与硬件之间需要通过服务层进行交互,因此系统效率会有所降低。

  • 系统开发更简单:宏内核架构中,开发者只需要关注应用程序的开发,而不需要考虑内核的开发。微内核架构中,内核只负责提供最核心的功能,因此开发者需要了解内核的功能和架构,这增加了开发的复杂性。

用途

硬件支持
OpenHarmony可以部署在ARM、RISC-V和x86架构的各种硬件设备上,内存容量可由128 KB至超过1 MB,并支持以下三种系统的硬件设备:

  • 轻量系统:可在连接模块、传感器和可穿戴等设备上运行,内存等于或大于128 KB,支持ARM Cortex-M和32位RISC-V等处理器。
  • 小型系统:可在IP摄像机、路由器、事件数据记录器等设备上运行,内存等于或大于1 MB,支持ARM Cortex-A等处理器。
  • 标准系统:可在具有增强交互、3D GPU、丰富动画和多样化组件等设备上运行,内存等于或大于128 MB,支持ARM Cortex-A等处理器。

未来展望
“万物互联”向”万物智联”转变

图6 互联网发展趋势

分布式架构

鸿蒙系统的分布式架构旨在打破设备之间的界限,实现跨设备的无缝协同工作。其核心思想是通过分布式技术,将多个设备虚拟化为一个“超级终端”,使得用户在使用任何一个设备时,都能轻松访问和控制其他设备上的资源和功能。

优点:
1、无缝体验:通过分布式软总线和数据管理,用户可以在不同设备间实现无缝切换。例如,用户在手机上进行的操作,可以无缝地切换到平板或电视上继续进行,从而提供一致的使用体验。

2、资源共享:分布式架构使得设备之间可以共享硬件和软件资源。例如,用户可以在电视上调用手机的摄像头,或者在平板上访问电脑的文件,从而提高资源利用效率。

3、协同工作:通过分布式任务调度,用户可以将某个任务分配给最适合的设备执行。例如,用户可以在手机上进行初步处理,然后将复杂计算任务交给电脑执行,从而提高任务的执行效率。

4、灵活扩展:分布式架构支持多种设备的接入和扩展。无论是新增设备还是更新现有设备,用户都可以轻松地将其纳入到“超级终端”中,从而保持系统的灵活性和可扩展性。

开发者工具(SDK)

为了方便开发者进行鸿蒙系统的开发,OpenHarmony提供了全面的开发工具和文档。

下载地址

获取源码

开源社区

OpenHarmony 概览

目录架构

以下是OpenHarmony项目的主要目录结构:

图7 SDK 目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

applications BearPi-HM_Nano应用程序样例
base 基础软件服务子系统集&硬件服务子系统集
build 组件化编译、构建和配置脚本
docs 介绍、说明资料
domains 增强软件服务子系统集
drivers 驱动子系统
foundation 系统基础能力子系统集
kernel 内核子系统
prebuilts 编译器及工具链子系统
test 测试子系统
third_party 开源第三方组件
utils 常用的工具集
vendor 厂商提供的软件
build.py 编译脚本文件

配置编译

以下是获取源码并进行编译的步骤:

1、初始化仓库:

1
2
3
repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-4.0-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

2、下载预构建工具:

1
bash build/prebuilts_download.sh

3、进行编译:

1
2
sudo ./build.sh --product-name rk3568 --ccache --no-prebuilt-sdk

通过以上步骤,开发者可以快速搭建开发环境并开始进行OpenHarmony的开发工作。

结语

鸿蒙系统作为华为自主研发的操作系统,不仅在国内市场获得了广泛关注,还在国际市场上逐渐崭露头角。其分布式架构和微内核设计使其具备了良好的扩展性和安全性,适用于各种智能设备。随着生态系统的不断完善,鸿蒙系统有望在未来成为物联网时代的重要支柱。