1.HarmonyOS简介

February 11, 2025 · View on GitHub

HarmonyOS是新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言。带来简洁、流畅、连续、安全可靠的全场景交互体验。

是由全球开发者共建的开源分布式操作系统,具备面向全场景、分布式等特点,是一款“全(全领域)・ 新 (新一代)・ 开(开源)・ 放(开放)”的操作系统。

万物互联

混沌未分天地乱,茫茫渺渺无人见。
自从盘古破鸿蒙,开辟从兹清浊辨。
覆载群生仰至仁,发明万物接为善。
欲知造化会元功,须看西游释厄传。

鸿蒙,是一个汉语词语,亦作“鸿濛”。传说在盘古开天辟地之前,世界是一团混沌状,因此人们把那个时代称作鸿蒙时代,后来该词也常被用来泛指远古时代。

在老子看来,一切具体存在的本源都是混沌,万物是由混沌中产生的。“盘古开天辟地”的故事家喻户晓,而天地万物就是从混沌中孕育而生的。

道生一,一生二,二生三,三生万物

鸿蒙OS:定位万物互联时代的操作系统

鸿蒙的定位不是替代安卓,而是实现万物互联。

“1+8+N”是HarmonyOS打造的全场景战略。
其中,“1”是智能手机,“8”是指大屏、音箱、眼镜、手表、车机、耳机、平板电脑和PC“八大行星”。围绕着关键的八大行星,周边还有合作伙伴开发的N个“卫星”,指的是移动办公、智能家居、运动健康、影音娱乐及智能出行等板块的延伸业务。

HarmonyOS版本:

鸿蒙操作系统是华为自主研发的,2012年华为开始组建团队研发鸿蒙操作系统,并于2019年8月9日在华为开发者大会上正式发布了鸿蒙操作系统,即HarmonyOS 1.0。

  • Harmony OS 1.0 : 2019年8月9日
  • Harmony OS 2.0 : 2020年9月10日
  • Harmony OS 3.1 :2022年11月4日
  • Harmony OS 4.0 : 2023年8月4日
  • Harmony OS NEXT : 预计2024年Q1

Harmony OS 特点

在Harmony OS 2.0发布会上提到了: 一为万物 万物归一

表明了Harmony OS的目标是万物互联,并不是单一的一个移动端操作系统。

系统内核的对比:

  • Android

    • 基于linux的宏内核设计,宏内核包含了操作系统绝大多数的功能和模块。
    • 这些功能和模块都具有最高的权限,只要一个模块出错,整个系统就会崩溃。
  • Harmony OS

    • 基于微内核设计,微内核仅包含了操作系统必要的功能模块(任务管理、内存分配等)。
    • 必要的模块处在核心地位具有最高权限,其他模块不具有最高权限。
    • 也就是其他模块出现问题,对于整个系统的运行是没有阻碍的。微内核稳定性更高。
    • 鸿蒙的运行速度快,大约快60%。

在Harmony OS 3.0发布时宣布,从3.0开始的SDK 8.0和9.0已经完全不支持Java开发。

宏内核、微内核

华为最新发布的鸿蒙系统采用了微内核架构,而安卓系统采用了宏内核。采用微内核架构的还有windows系统内核、塞班系统、google正在研发的Fuchsia系统(用于替代android)。 那什么是宏内核,什么是微内核?

宏内核

宏内核(Monolithic kernel)又称单内核,其特征是操作系统内核的所有模块(包括进程调度、内存管理、文件系统、设备驱动等)均运行在内核态,具备直接操作硬件的能力,这类操作系统包括UNIX/Linux、FreeBSD等。 image

微内核

image

将单个功能或模块(如文件系统、设备驱动等)从内核中拆分出来,作为一个独立的服务部署到独立的运行环境中;内核仅保留极少的功能,为这些服务提供通信等基础能力,使其能够互相协作以完成操作系统所必需的功能。

这种架构被称为微内核(Microkernel)。

也就是说微内核只包含了内核最核心的功能,例如进程调度、内存管理、通信。

在微内核架构下,服务与服务之间是完全隔离的,单个服务即使出现故障或受到安全攻击,也不会直接导致整个操作系统崩溃或被攻破,从而能有效提高操作系统的可靠性与安全性。
此外,微内核架构带来了机制与策略的进一步分离,也可以更方便地为不同场景定制不同的服务,从而更好地适应不用的应用需求。

微内核优点 : 稳定性好 , 实时性好 ;

微内核缺点 : 高度模块化 , 模块之间只能通过消息传递信息 , 效率低 ;

OpenHarmony

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。

开放原子开源基金会(OpenAtom Foundation)是致力于推动全球开源产业发展的非营利机构,由阿里巴巴、百度、华为、浪潮、360、腾讯、招商银行联合发起,于 2020 年 6 月登记成立,“立足中国,面向世界”,是我国在开源领域的首个基金会。 开放原子开源基金会的主管单位是工信部。

技术架构

OpenHarmony整体遵从分层设计,从下向上依次为:

  • 内核层
  • 系统服务层
  • 框架层
  • 应用层

系统功能按照“系统 > 子系统 > 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件。

OpenHarmony技术架构如下所示: image

内核层
  • 内核子系统:采用多内核(Linux内核或者LiteOS)设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。 支持适用于嵌入式设备及资源受限设备,具有小体积、高性能、低功耗等特征的LiteOS内核;支持基于linux kernel演进的适用于标准系统的linux内核。
  • 驱动子系统:驱动框架(HDF)是系统硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。
系统服务层

系统服务层是OpenHarmony的核心能力集合,通过框架层对应用程序提供服务。该层包含以下几个部分:

  • 系统基本能力子系统集:为分布式应用在多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、公共基础库、多模输入、图形、安全、AI等子系统组成。
  • 基础软件服务子系统集:提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX(Design For X) 等子系统组成。
  • 增强软件服务子系统集:提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT专有业务等子系统组成。
  • 硬件服务子系统集:提供硬件服务,由位置服务、用户IAM、穿戴专有硬件服务、IoT专有硬件服务等子系统组成。
  • 根据不同设备形态的部署环境,基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪。
框架层

框架层为应用开发提供了C/C++/JS等多语言的用户程序框架和Ability框架,适用于JS语言的ArkUI框架,以及各种软硬件服务对外开放的多语言框架API。根据系统的组件化裁剪程度,设备支持的API也会有所不同。

应用层

应用层包括系统应用和第三方非系统应用。应用由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。

技术特性

硬件互助,资源共享

主要通过下列模块达成

  • 分布式软总线 分布式软总线是多设备终端的统一基座,为设备间的无缝互联提供了统一的分布式通信能力,能够快速发现并连接设备,高效地传输任务和数据。 分布式软总线旨在为OpenHarmony系统提供跨进程或跨设备的通信能力,主要包含软总线和进程间通信两部分。其中,软总线为应用和系统提供近场设备间分布式通信的能力,提供不区分通信方式的设备发现,连接,组网和传输功能;而进程间通信则提供了对设备内或设备间无差别的进程间通信能力。

  • 分布式数据管理

分布式数据管理基于分布式软总线,实现了应用程序数据和用户数据的分布式管理。用户数据不再与单一物理设备绑定,业务逻辑与数据存储分离,应用跨设备运行时数据无缝衔接,为打造一致、流畅的用户体验创造了基础条件

  • 分布式任务调度

分布式任务调度基于分布式软总线、分布式数据管理、分布式Profile等技术特性,构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远程启动、远程调用、绑定/解绑、以及迁移等操作,能够根据不同设备的能力、位置、业务运行状态、资源使用情况并结合用户的习惯和意图,选择最合适的设备运行分布式任务

  • 设备虚拟化

分布式设备虚拟化平台可以实现不同设备的资源融合、设备管理、数据处理,将周边设备作为手机能力的延伸,共同形成一个超级虚拟终端。

一次开发,多端部署

OpenHarmony提供用户程序框架、Ability框架以及UI框架,能够保证开发的应用在多终端运行时保证一致性。一次开发、多端部署。

多终端软件平台API具备一致性,确保用户程序的运行兼容性。

  • 支持在开发过程中预览终端的能力适配情况(CPU/内存/外设/软件资源等)。
  • 支持根据用户程序与软件平台的兼容性来调度用户呈现。

统一OS,弹性部署

OpenHarmony通过组件化和组件弹性化等设计方法,做到硬件资源的可大可小,在多种终端设备间,按需弹性部署,全面覆盖了ARM、RISC-V、x86等各种CPU,从百KiB到GiB级别的RAM。

语言编译运行时

语言运行时提供了JS、C/C++语言程序的编译、执行环境,提供支撑运行时的基础库,以及关联的API接口、编译器和配套工具。 OpenHarmony三方组件,是经过验证可在OpenHarmony系统上可重复使用的软件组件,可帮助开发者快速开发OpenHarmony系统或应用。

根据其开发语言分为了2种:

  • 一种是使用JavaScript和TypeScript语言的三方组件,通常以源码或OpenHarmony HAR的方式引入,在应用开发中使用。
  • 另一种是C和C++语言的三方组件,通常以源码或OpenHarmony hpm包的方式引入,在应用开发中以NAPI的方式使用,或直接编译在OpenHarmony操作系统镜像中。

当前OpenHarmony提供了UI,动画,图片,多媒体,文件数据,网络,安全,工具,其他等类型的三方组件。

版本

  • OpenHarmony 1.0 : 2020-09
  • OpenHarmony 2.x : 2021-06
  • OpenHarmony 3.x : 2021-09
  • OpenHarmony 4.0 : 2023-10

Harmony OS和Open Harmony的关系

  • OpenHarmony就是一个操作系统的内核,OpenHarmony是鸿蒙操作系统的底座。
  • 一直到 Harmony OS 4都是配备Open Harmony的安卓,还是安卓(使用了鸿蒙的部分技术)
  • Harmony OS Next是基于Open Harmony,是一个全新的操作系统,和Android没有任何关系。
  • Harmony OS Next / Open Harmony使用HAP格式(HAP无法原生在Android上运行,且Android的APK也无法直接在Harmony OS Next / Open Harmony上原生运行)

原因:

  • 最开始鸿蒙发布的时候是被迫的
  • 后来Open Harmony 3已经像样了,但是又遇到了高通芯片面临驱动问题
  • 最终到现在有了麒麟芯片和高通芯片(目前有些爱好者已经在小米上刷上了Open Harmony, 为什么小米能刷Open Harmony,这是因为现在高通开放了一部分驱动,所以开源爱好者可以据此来做一定的修改)的支持才推Harmony OS Next

鸿蒙是否是Android套壳

image

Android的主要构成可以分为两部分:

  • AOSP,Android系统的核心
  • GMS,谷歌服务 也就是之前谷歌禁止华为用的那套东西。 简单来说GMS就是基于Android系统并嵌入了谷歌自己的一套体系。 比如使用谷歌地图、谷歌应用市场、谷歌账号。 但是国内绝大部分人都不会使用谷歌地图、谷歌账号等,所以华为使用了HMS进行代替。国内各个手机厂商都有一套自己的服务体系,所以GMS不用也就不用了。

鸿蒙和Android因为一项被称为AOSP(Android Open Source Project,Android开放源代码项目)的项目变得有一定关系,这个项目正是操作系统接口库这个级别的技术,任何操作系统只要集成这个接口库,其上面就可以运行Android的应用程序了。比如,Windows11集成了AOSP之后,就可以运行Android应用程序了。

其实,OpenHarmony才是华为历时多年研发的正牌操作系统,HarmonyOS算是OpenHarmony的发行版,就跟Android与MIUI、ColorOS等系统关系一样。

OpenHarmony本身并不集成AOSP,所以在OpenHarmony设备上是无法运行Android程序的。

image

在Harmony OS Next之前,鸿蒙的组成可以看成是AOSP、HSM、万物互联分布式、全场景四个部分。

什么才算一个新的操作系统

miui算不算? emui算不算? 显然这些都不是新OS,都是安卓。

因为他们的应用程序都是用的针对安卓开发的应用程序,脱离安卓的可执行程序,这些系统连启动桌面都做不到(因为桌面都是APK格式)。 尽管鸿蒙OS和阿里云OS都声称重写了代码,但是只要跑的是APK,就无法改变这是安卓的实质。

所以从Harmony OS 1 到 Harmony OS 4都可以说是Android套壳。

但是随着Harmony OS Next的发布,Harmony OS 已经是一个新操作系统了。因为他有了自己的新格式HAP,且使用ArkTS进行开发。

鸿蒙是指什么

鸿蒙一般是指鸿蒙生态。 鸿蒙生态包括Open Harmony和 Harmony OS,当然还包括开发工具以及周边的一些开发库。

HAP是否是APK套壳

HAP格式的发展经历了两个阶段:

  • 第一个阶段: 解压后会有一个APK当做程序入口,这是早起生态不完善导致
  • 第二个阶段: 解压后不会再有APK,HAP无法通过简单的解包、打包转换为APK 所以HAP并不是APK的套壳。

开发语言

HAP使用的开发语言是ArkTS,ArkTS是Type Script的超集,而Type Script是JavaScript的超集,所以就是用的网页那一套开发。

Harmony OS NEXT

自鸿蒙1.0发布开始大家显示沸腾,然后纷纷失望表示是套娃。 但是华为开发者大会HDC 2023上宣布Harmony OS NEXT是纯鸿蒙不在支持Android APK文件的安装。

纯鸿蒙是最终的目标,自从华为开始发布Harmony OS开始,最终的目标肯定是将其发展成为和Android、iOS、Windows、Mac并肩的系统。
但是任何一个软件开发者都能知道这有多难,所以Harmony OS选择了兼容Android的方式起步,现在已经发展到了4.0版本,真正属于自己的系统也该慢慢起步了。

Harmony Next放弃安卓虚拟机,是一个全新的系统,所以到时候会面临一个难题,就是APP的重新开发和数据迁移,这其实需要一个过程,并不是会直接一刀切新手机全部只安装Harmony Next。

前期肯定Harmony OS还是会基于双框架模式。 例如微信: 第一步是先发版新版APP,这样本地数据就会在手机内存中。

但是华为能否推动其他公司单独对APP进行鸿蒙的重新开发,毕竟要增加各大公司的开发成本,在Android、iOS之外又要组建鸿蒙开发团队,并且要实现目前的功能。

这个是很难的,那为什么还会发布Harmony OS NEXT呢? 没有生态的系统是不可能成功的。

不要忘了Open Harmony属于开放原子开源基金会,而开放原子开源基金会的主管单位是工信部。
华为是先把代码捐献给开放原子开源基金会,之后又fork回来做自己的Harmony OS Next。

为什么要这么做?
这不仅仅是一个全新操作系统的问题,更多的是现在中国和美国在打科技战,所以中国需要一个完全可控、且生态能统一的数字基建自主操作系统。

所以纯自研鸿蒙肯定是起来, 国内的公司也会积极进行鸿蒙APP的单独适配开发。

该版本发布后华为就可以宣称: 新内核完全自研,底层接口不再兼容Android原生,系统权限设计思路对标iOS,不支持三方WebView、RN动态下发等常见开发框架。

Harmony OS开发套件

image