✍️作者简介:小北编程(专注于HarmonyOS、Android、Java、Web、TCP/IP等技术方向)
🐳博客主页: 开源中国、稀土掘金、51cto博客、博客园、知乎、简书、慕课网、CSDN
🔔如果文章对您有一定的帮助请👉关注✨、点赞👍、收藏📂、评论💬。
🔥如需转载请参考【转载须知】
为什么写这篇文章,这篇文章带您简单的了解华为HarmonyOS的历史。想要学习和了解HarmonyOS建议认真看一看!
文章目录
- 简介
- 一、HarmonyOS的设计目标
- 1.1 5G万物互联时代
- 1.2 物联网操作系统碎片化
- 1.3 下一代操作系统的发展方向
- 二、HarmonyOS技术特性
- 2.1 分布式架构
- 2.2 操作系统可裁剪
- 2.3 一套代码多端运行
- 3.1 内核层
- 3.2 系统服务层
- 3.3 架构层
- 3.4 应用层
- 四、HarmonyOS与LiteOS
- 4.1 产品特点
- 4.2 产品功能
- 五、总结
简介
鸿蒙操作系统(HarmonyOS)是一款面向物联网全场景的分布式操作系统。
鸿蒙操作系统不同于现有的 Android、iOS、Windows、Linux等操作系统,它设计的初衷是解决在5G万物互联时代,各个系统间的连接问题。鸿蒙操作系统面向的是1+8+N 的全场景设备,能够根据不同内存级别的设备进行弹性组装和适配,可实现跨硬件设备间的信息交互。
HarmonyOS 主打的是 “1+8+N” 的全场景体验,如何解释呢?
”1“ 指的是主入口手机;
“8” 指的是智慧屏、平板、PC、音响、手表、眼镜、车机和耳机8种设备;
“N” 则指的是泛IoT硬件构成的华为HiLink生态,其中包括移动办公、智能家居、健康生活、影音娱乐、智能出行等各大场景下的智能硬件设备。
鸿蒙的英文名,之前为拼音 " HongMeng",后又 改为 Harmony ,有和谐,协调之义。更能体现鸿蒙 OS 的特点,比拼音更国际化了。
“鸿蒙” 名字源于华为公司内部一个研究操作系统内核的项目代号。
“鸿蒙操作系统” 的英文名字 HarmonyOS,Harmony之意为和谐,引申为世界大同、和合共生,是中华文明一直秉持的理念。“鸿蒙”有盘古开天辟地之意,“鸿蒙初辟原无性,打破顽空须悟空”,鸿蒙生态刚刚起步,需要华为、国内外企业的共同努力,需要众多 “悟空” 共同推动构建更加绚丽多彩的世界。华为的鸿蒙,中国的鸿蒙,必将成为世界的鸿蒙。
一、HarmonyOS的设计目标
尽管 HarmonyOS是在美国对华为公司实施制裁时从“备胎”提前转正,但是实际上华为公司在2012年就开始规划自有操作系统“鸿蒙”,这是华为公司面对以5G 技术推动的产业革命和国外技术风险做出的提前布局,HarmonyOS是华为公司专门为5G 万物互联时代打造的战略性产品,创造性地通过分布式技术打造一个万物互联互通的物联网操作系统。HarmonyOS的设计目标是为解决5G 智能物联网时代操作系统严重碎片化问题,同时也是应对国外技术封锁和制裁下的自力更生,确保了华为在未来国际竞争中的商业安全和信息安全,同时为国家操作系统自主可控和信息安全提供了有力保障。
1.1 5G万物互联时代
以“超高网速、低延时高可靠、低功率海量连接”为特征的5G(第五代移动通信系统的简称)万物互联时代的到来,传统的面向单一设备的开源操作系统 Android和闭源操作系统iOS都很难满足人们在不同场景下的需求,如图1.2所示,在产业层面亟须一款专门为5G时代定制的操作系统来推动产业的长远发展。
在5G 技术的大背景下,物联网、移动计算、智能家居、智能手机、可穿戴设备、智慧城市、无人驾驶汽车、智慧医疗、VR(虚拟现实技术,英文名称:VirtualReality,缩写为 VR)等被认为是受益最大的领域。目前,公认的5G 技术适用的三大应用场景为 mMTC(超高带宽引领下的智能物联网产业)、eMBB(超高清流媒体引领下的视频流产业)、uRLLC(需要5G高效低时延特点的产业,如车联网、自动化产业等),如图1.2所示。针对未来的5G 技术发展,华为制定了“1+8+N 的5G 全场景战略”,1代表智能手机,8代表大屏、音箱、眼镜、手表、车机、耳机、平板等,围绕着关键的八类设备,周边还有合作伙伴开发的 N 类领域,围绕着智能家居、穿戴、办公、影音、娱乐等,华为将致力搭建一套更加完善的5G 服务生态体系。
1.2 物联网操作系统碎片化
随着近几年智能物联网产业的高速发展,物联网领域的深层次问题亟待解决,物联网目前落地的痛点是下游应用场景与需求的高度碎片化,物联网终端异构、网络通信方式与操作系统平台多样化,对设备之间互联互通的实现造成较大挑战,操作系统的碎片化阻碍了万物互联时代的业务创新。
HarmonyOS的定位就是万物互联时代的操作系统,创造性地通过分布式技术,以及高性能的软总线技术,将多个物理上相互分离的设备融合成一个“超级终端”。按需调用、组合不同设备的软硬件能力,为用户带来最适合其所在场景的智慧体验。即使用户切换场景,智慧体验也能跨终端迁移,无缝流转。
HarmonyOS通过软总线和分布式技术打通了不同设备之间的壁垒,让内容无缝流转。例如在出行领域,HarmonyOS可以通过手机、手表、车机的协同,优化出行体验。在等待网约车时,用户不需要频繁掏出手机查看车辆动态,车牌号、车辆位置等信息会在手表上实时同步,抬手可见。
家庭智能化产品中带IoT(物联网)功能的设备越来越多,如电冰箱、豆浆机、摄像头等,访问不同的IoT 设备需要安装不同的 App,基本上每个IoT 设备都有一个 App,导致手机上 App众多,操作和查找起来都非常不方便,由于这个原因,实际中,App的安装率不到10%,而安装的 App的使用率不到5%,HarmonyOS可以大大简化IoT 设备的访问。HarmonyOS碰一碰能力(OneHopEngine)通过 NFC解决 App跨设备接续难、设备配网难、传输难的问题,并能够和后台智能系统结合起来,进行相关操作推荐,如结合个人运动健康数据推荐合适的豆浆配方,智能冰箱推荐菜品的保存温度等。
1.3 下一代操作系统的发展方向
操作系统经历了60多年的发展,历经多代,如表1.1所示,从最早期的多任务操作系统,如 MULTICS 和 UNIX,到 适 用 于 个 人 计 算 机 的 多 处 理 器 操 作 系 统,如 Linux 和Windows,再到最近十多年广泛流行的移动操作系统,如iOS和 Android,其核心技术已经非常成熟,软件复杂度也达到了上亿行代码的规模。操作系统的每一次大发展必定跟计算机硬件的发展密切相关。随着物联网时代的到来,操作系统必将迎来新的发展。
每一代操作系统的特征:
所属年代 | 第几代 | 产业环境 | OS驱动力、需求 | 典型操作系统 |
---|---|---|---|---|
20世纪60年代 | 第一代 | 大型机 | 多用户、多任务 | MULTICS、UNIX |
20世纪80年代末—90年代初 | 第二代 | SMP硬件架构、虚拟内存 | 硬件架构 | Windows NT、Linux、386BSD |
2007年 | 第三代 | 设备、PDA、智能手机 | 设备通信 | MbedOS、RT-Thread、LiteOS、FreeRTOS |
2017年至今 | 第四代 | 各种物联网设备使用场景 | 大量IoT设备需要管理,分散的设备,AI算法 | HarmonyOS、Fuchsia OS |
在第二代(PC时代)和第三代(手机时代),人们依赖一个单一设备实现网络连接和智能计算,但是在5G 时代,连接网络和具备计算能力的终端数量呈几何基数增长,尽管 PC和手机依然是工作和生活的主力装备,但是在更多场景会有越来越多的连接和计算在更多其他设备(包括边缘设备)上完成。操作系统所管理的设备的概念外延就扩展了。以往的操作系统通常对单一设备进行管理,但是未来的操作系统需要对处于连接状态的分布式多终端进行统一管理。
因此,HarmonyOS并非移动智能操作系统,而是面向未来全场景的分布式操作系统。
从技术角度尤其是设计理念来看,HarmonyOS和 Android有本质区别,虽然都是基于Linux内核,但是 HarmonyOS采用多内核设计,同时基于分布式架构和组件化设计,能够实现弹性部署(不同设备选取原生操作系统的不同组件进行拼装)、同时支持实时(无人驾驶车机)和分时(生活娱乐)、虚拟化快速连接(不同终端从底层 OS已被联通)。
HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备。
对消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验等。
对应用开发者而言,HarmonyOS采用了多种分布式技术,使应用程序的开发实现与不同终端设备的形态差异无关。这能够让开发者聚焦于上层业务逻辑,以便更加便捷、高效地开发应用。
对设备开发者而言,HarmonyOS采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。
二、HarmonyOS技术特性
HarmonyOS具有三大技术特性:硬件互助,资源共享(分布式架构)、一次开发,多端部署(一套代码适配各种终端)、统一 OS,弹性部署(系统可裁剪)。
2.1 分布式架构
硬件互助,资源共享:基于分布式软总线技术,如图1.3所示,结合分布式设备虚拟化平台实现不同设备的资源融合、设备管理、数据处理,使多种设备共同形成一个超级虚拟终端。
任务自动匹配后执行于不同硬件,从而让任务能够连续地在不同设备间流转,充分发挥不同设备的资源优势。分布式数据管理基于分布式软总线的能力,实现应用程序数据和用户数据的分布式管理。用户数据不再与单一物理设备绑定,业务逻辑与数据存储分离,应用跨设备运行时数据无缝衔接,为打造一致、流畅的用户体验创造了基础条件。
2.2 操作系统可裁剪
统一 OS,弹性部署,如图1.4所示,HarmonyOS通过组件化和小型化等设计方法,支持多种终端设备按需弹性部署,能够适配不同类别的硬件资源和功能需求。支撑通过编译链关系去自动生成组件化的依赖关系,形成组件树依赖图,支撑产品系统的便捷开发,从而降低硬件设备的开发门槛。
HarmonyOS支持多种组件配置方案,实现了组件可选、组件内功能集可选、组件间依赖关系可关联。
2.3 一套代码多端运行
一次开发、多端部署,如图1.5所示,HarmonyOS提供了用户程序框架、Ability框架及UI框架,支持在应用开发过程中对多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率。
## 三、HarmonyOS技术架构
HarmonyOS整体的分层结构自下而上依次为内核层、系统服务层、应用框架层、应用层。HarmonyOS基于多内核设计,系统功能按照“系统→子系统→功能/模块”逐级展开,在多设备部署场景下,各功能模块组织符合“抽屉式”设计,即功能模块采用 AOP(面向切面编程)的设计思想,可根据实际需求裁剪某些非必要的子系统或功能/模块。
HarmonyOS实现了模块化耦合,对应不同设备可实现弹性部署,使其可以方便、智能地适配 GB、MB、KB等由低到高的不同内存规模设备,可以便捷地在诸如手机、智慧屏、车机、穿戴设备等IoT 设备间实现数据的流转与迁移,同时兼具了小程序的按需使用,过期自
动清理的突出优点。
3.1 内核层
内核层基于 Linux系统设计,主要包括内核子系统和驱动子系统。
内核子系统: HarmonyOS采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。KAL(KernelAbstractLayer,内核抽象层)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。
驱动子系统: 包括HarmonyOS 驱动框架 (HDF),HarmonyOS 驱动框架是HarmonyOS硬件生态开放的基础,提供了统一的外设访问能力和驱动开发、管理框架。
3.2 系统服务层
系统服务层是 HarmonyOS的核心能力集合,通过框架层对应用程序提供服务。该层包含以下几个部分。
- 系统基本能力子系统集: 为分布式应用在 HarmonyOS多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、AI等子系统组成。其中,方舟多语言运行时提供了 C/C++/JavaScript多语言运行时和基础的系统类库,也为使用自研的方舟编译器静态化的Java程序(应用程序或框架层中使用Java语言开发的部分)提供运行时。
- 基础软件服务子系统集: 为 HarmonyOS提供了公共的、通用的软件服务,由事件通知、电话、多媒体、DFX、MSDP&DV 等子系统组成。
- 增强软件服务子系统集: 为 HarmonyOS提供了针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT 专有业务等子系统组成。
- 硬件服务子系统集: 为 HarmonyOS提供了硬件服务,由位置服务、生物特征识别、穿戴专有硬件服务、IoT 专有硬件服务等子系统组成。根据不同设备形态的部署环境,基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪。
3.3 架构层
框架层为HarmonyOS的应用程序提供了Java/C/C++/JavaScript等多语言的用户程序框架和 Ability框架,以及各种软硬件服 务 对 外 开 放 的 多 语 言 框 架 API;同 时 为 采 用HarmonyOS的设备提供了 C/C+ +/JavaScript等多语言的框架 API,但不同设备支持的API与系统的组件化裁剪程度相关。
3.4 应用层
应用层包括系统应用和第三方非系统应用。HarmonyOS 的应用由一个或多个FA(FeatureAbility)或PA(ParticleAbility)组成。其中,FA 有 UI界面,提供与用户交互的能力,而 PA 无 UI界面,提供后台运行任务的能力及统一的数据访问抽象。基于 FA/PA 开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。
四、HarmonyOS与LiteOS
4.1 产品特点
超轻量技术基因
LiteOS采用创新式系统设计,可最大限度降低系统功耗。在特定场景下,能够减少60%的功耗开销,使设备更具能源效率。
领域性软件方案
LiteOS提供端到端的物联网领域性技术栈,可以快速构建不同应用场景下的TurnKey解决方案,满足各种物联网应用需求。
可复制商用实践
LiteOS复制华为在消费者、运营商和企业领域的成功商业实践和优秀经验,帮助合作伙伴实现商业成功。
4.2 产品功能
低功耗框架
LiteOS是一个轻量级的物联网操作系统,内核最小尺寸仅为6KB,具备快速启动和低功耗的特点。其Tickless机制显著降低了传感器数据采集的功耗。
OpenCPU架构
LiteOS采用专为小内核设计的OpenCPU架构,满足硬件资源受限的需求,例如LPWA场景下的水表、气表和车检器等。通过MCU和通信模组二合一的OpenCPU架构,显著降低终端体积和成本。
安全性设计
LiteOS构建了低功耗安全传输机制,支持双向认证、FOTA固件差分升级、DTLS等,确保数据传输的安全性。
端云互通组件
LiteOS SDK端云互通组件是终端对接IoT云平台的重要组件,集成了LwM2M、CoAP、MQTT、mbed TLS、LwIP等全套IoT互联互通协议栈,大大减少了开发周期,实现快速入云。
SOTA远程升级
LiteOS支持通过差分方式降低升级包的尺寸,更适应低带宽网络环境和电池供电环境。经过优化的差分合并算法对RAM资源的要求更少,满足大量低资源终端的升级需求。
LiteOS Studio
LiteOS Studio是LiteOS的集成开发环境,提供一站式开发工具,支持C、C++、汇编等语言,帮助开发者快速高效地进行物联网开发。
华为LiteOS作为一款轻量级、高效能和安全的物联网操作系统,致力于推动物联网设备的快速部署和应用场景的多样化。它的低功耗设计和端云互通能力,为物联网生态系统提供了强大的技术支持。
五、总结
鸿蒙操作系统作为国产物联网开源操作系统,将会不断推进中国物联网行业的发展,它不仅给行业带来了新的动力和发展机会,同时不断地影响和改变着人们的生活。学习和掌握鸿蒙操作系统开发给软件、硬件开发者提供了新的机会。
如果想要深入了解可以看看华为开源项目OpenHarmony
👍 点赞,是我创作的动力!
⭐️ 收藏,是我努力的指引!
✏️ 评论,是我进步的宝藏!
💖 衷心感谢你的阅读以及支持!