OpenHarmony当前进展和未来趋势

操作系统自20世纪50年代诞生,经历了从专用操作系统到通用操作系统的转变。整体可以将操作系统的发展历史分为3个阶段:pc时代、移动互联网时代、万物互联时代。
pc时代主要以计算机为主,用户规模从1970年的10亿增长到1990年的30亿。这一时代诞生了windows、linux、macos等操作系统。由于windows操作系统的广泛应用部署,微软于20世纪90年代成为全球市值最高的公司。
随着智能手机的普及,操作系统正式进入了移动互联网时代,苹果推出了ios操作系统,支撑苹果成为全球市值最高的科技公司;谷歌2005年收购了android公司,并持续地进行研发投入和版本迭代,如今android操作系统已经成为世界上发行量最大的移动智能操作系统。
在万物互联时代,随着越来越多的设备接入互联网,单一操作系统很难适应多样化的智能终端、各种复杂应用场景的需求。谷歌、华为等各大企业纷纷进入物联网操作系统领域,并持续加大这方面的投入。
谷歌从2016年开始研发基于zircon微内核的fuchsia操作系统,可以取代为移动设备设计的 android,计划用于个人移动设备、iot设备等不同算力和需求的场景。
华为于2019发布了基于物联网的鸿蒙操作系统harmonyos,随后于2020年正式发布了开源版本,也就是openharmony,面向全场景、全连接,适用于各类智能设备。
1  openharmony发展历史
2012年,华为总裁任正非表示:“华为做终端操作系统是出于战略的考虑”,此时鸿蒙操作系统的概念首次出现在大众视野。
2016年5月,鸿蒙正式在华为公司的软件部内部立项并开始投入研发。
2019年8月9号,华为正式发布了harmonyos 1.0,该系统率先部署在智慧屏上。
2020年9月10日,华为在hdc大会上发布harmonyos2.0。该版主要在3个方面做出重大提升:分布式的软总线、分布式的数据管理以及分布式的安全。
2020年6月,由工信部牵头的开放原子开源基金会正式成立,也是国内首个开源软件基金会。华为将harmonyos2.0中的基础能力部分开源出来,并捐赠给开放原子开源基金会,正式成立了openharmony开源项目。
2021年6月,openharmony发布了2.0 canary版本,支持轻量带屏设备。该版本新增22个子系统,支持全面的os能力,支持内存大于128 mb的带屏设备开发等。
2021年9月,openharmony发布了3.0 lts版本,支持简单标准带屏设备。该版本新增几十项特性,支持方舟js编译工具链和运行时,支持js ui框架应用开发和运行。
2022年3月,openharmony发布了3.1 release版本,支持复杂标准带屏设备。该版本基础能力得到增强,主要体现在多媒体能力、图形显示能力、内存管理能力等,分布式能力也得到了增强。
2023年4月,openharmony发布了3.2 release版本,全面支持复杂标准带屏设备。该版本能力提升主要如下:
①系统流程度:架构级的全面优化,包括arkui最小化更新技术、并行化极速启动架构、高性能arkts引擎、基础库性能优化等。
②系统功能方面:hdf支持800多个hdi标准化设备接口,api 9拥有18 000+ arkts api,已经足够支持复杂大型应用的开发。
③应用性能方面:提供napi及混合开发能力、丰富的native api、taskpool并行开发框架、deveco insight实时性能分析工具等,支持开发极致高性能的框架和应用。
④分布式能力:进一步优化和完善分布式屏幕能力、分布式数据技术以及一次开发多端部署能力上。
整个openharmony版本迭代如图1所示。
图1 openharmony版本演进路线
此外,在2023年6月,openharmony发布了4.0 beta版本,arkui进一步完善组件能力和效果,并提供首批api level 10接口。正式的4.0 release版本在2023年9月发布。
2  鸿蒙、harmonyos、openharmony三者关系
从某种意义上来说,鸿蒙包括harmonyos和openharmony。
2016 年 5 月,华为消费者 bg 软件部开始立项研发“分布式操作系统 1.0 版本”,这就是鸿蒙系统的雏形。
考虑到华为设备的现有数量和鸿蒙系统初期软件生态的不完善,华为鸿蒙系统技术上兼容android应用,同时集成了华为自身的能力,包括hms等,形成了一个可以在华为手机、智慧屏、平板等设备上运行的操作系统,也就是harmonyos,该系统不开源。
随着华为开源战略的布局,为确保鸿蒙系统能有一个良好的生态,吸纳更多共建参与,华为将鸿蒙系统的基础能力部分开源出来,开源部分也就是openharmony。该部分为华为自研项目,不兼容android生态。
所以,一般openharmony指开源鸿蒙,harmonyos指华为闭源鸿蒙,两者在应用框架上都采用arkui开发框架,应用开发上互相兼容。
随着openharmony生态的完善,openharmony会逐步替代harmonyos,最终形成一个统一开源鸿蒙的生态系统。
3  openharmony与android的对比
android是一种基于linux内核(不包含gnu组件)的自由及开放源代码的操作系统,主要用于移动设备,如智能手机和平板电脑,由美国google公司和开放手机联盟领导及开发。
在系统架构设计之初,openharmony定位就不是android的替代品,openharmony的目标是构建一个面向万物互联时代的分布式操作系统,与android并非同一个赛道。
两者在系统架构设计上比较相似,不过openharmony在传统的系统架构上新增了分布式相关能力,如图2所示。
图2 系统架构对比
可以看到,openharmony有着自己的一套架构设计和实现,在开发语言、运行时、应用框架等方面都不同于android,两者是完全不同的操作系统。
(1)内核对比
android:基于linux内核,程序的安全性、网络协议、内存管理、进程管理、驱动程序都由linux内核提供。另外,android runtime(art)就是依靠linux内核来执行底层功能的,其中包括线程和底层内存管理。
openharmony:采用多内核设计,支持针对不同资源受限设备选用适合的os内核。内核抽象层(kal,kernel abstract layer)通过屏蔽多内核差异对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。
(2)运行时对比
android runtime(art)是android上的应用和部分系统服务使用的托管式运行时。art及其前身dalvik最初是专为android项目打造的。作为运行时的art可执行dalvik可执行文件并遵循dex字节码规范。
方舟ets运行时是openharmony上默认的arkts语言运行时,提供完备的c++交互arkts napi和各种高性能的垃圾回收器,驱动着万物互联时代的openharmony应用程序。
4  技术架构
openharmony整体遵从分层设计,从下向上依次为内核层、系统服务层、框架层和应用层。系统功能按照“系统>子系统>组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪掉某些非必要的组件。openharmony技术架构如图3所示。
图3 openharmony技术架构
(1)内核层
内核层包括内核子系统和驱动子系统。openharmony是一个支持多种内核的操作系统,包括可以支持华为自研的liteos内核、linux内核等。开发者可以根据自身的硬件平台资源、应用场景选择不同的内核。此外、内核子系统也支持开发者使用其他内核,并通过内核抽象层向上提供统一的操作系统能力。
(2)系统服务层
系统服务层是openharmony的核心能力集合,通过框架层对应用程序提供服务。该层包含以下几个部分:系统基本能力子系统集、基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集。
(3)框架层
框架层为应用开发提供了c/c++/js等多语言的用户程序框架和ability框架,适用于js语言的arkui框架,以及各种软硬件服务对外开放的多语言框架api。
(4)应用层
应用层包括系统应用和第三方非系统应用。应用由一个或多个fa(feature ability)或pa(particle ability)组成。其中,fa有ui界面,提供与用户交互的能力;而pa无ui界面,提供后台运行任务的能力以及统一的数据访问抽象。
4.1  技术特性
openharmony最主要的技术特性是以下3点:
(1)统一os,弹性部署
openharmony采用组件化和组件弹性化等设计方法,做到硬件资源的可大可小,在多种终端设备间按需弹性部署,全面覆盖了arm、risc-v、x86等各种cpu,硬件形态支持手机、平板、工业网关、路由器、音箱、耳机等。
(2)一次开发,多端部署
openharmony提供用户程序框架、ability框架以及ui框架,能够保证开发的应用在多终端运行时的一致性。一次开发、多端部署。多终端软件平台api具备一致性,确保了用户程序运行的兼容性。
(3)硬件互助,资源共享
多种设备之间能够实现硬件互助、资源共享,依赖的关键技术包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等。
分布式软总线为设备之间的互联互通提供了统一的分布式通信能力,为设备之间的无感发现和零等待传输创造了条件。开发者只需聚焦于业务逻辑的实现,无需关注组网方式与底层协议。分布式软总线技术架构如图4所示。
图4 软总线架构
分布式设备虚拟化平台可以实现不同设备的资源融合、设备管理、数据处理,多种设备共同形成一个超级虚拟终端。
分布式数据管理基于分布式软总线的能力,实现应用程序数据和用户数据的分布式管理。
分布式任务调度基于分布式软总线、分布式数据管理、分布式profile等技术特性,构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远程启动、远程调用、远程连接以及迁移等操作,能够根据不同设备的能力、位置、业务运行状态、资源使用情况,以及用户的习惯和意图,选择合适的设备运行分布式任务。
5  应用开发框架——arkui
应用框架是操作系统连接开发者生态、实现用户体验的关键基础设施。openharmony为开发者提供了arkts开发语言以及arkui开发框架。
arkui整体架构如图5所示。最上层提供了自研声明式ui范式,也支持类web范式;中间层为方舟编译器和运行时、声明式ui后端引擎以及渲染引擎;下层为平台适配层和平台桥接层。此外,arkui开发框架还配套了相应的ide开发工具以及工具链,以提升开发体验。
此外,arkui不仅仅局限于openharmony或者harmonyos,它是一个支持跨平台的ui框架,也可以运行在android、ios等系统上。
图5 arkui框架
arkui的声明式范式通过语法扩展方法提供了装饰器、自定义组件、ui描述、状态管理、内置组件、属性方法以及事件方法等模块,可以根据用户需求灵活组合,从而形成定制化界面,如图6所示。
图6 arkui声明式范式
7  生态发展
一个操作系统的成果,除了系统本身能力足够优秀之外,最重要的是其生态是否足够完善。生态的维度包括硬件生态、应用生态、共建单位、开发者生态等。
7.1  硬件生态
当前,openharmony已经吸引超过50家企业参与共建、落地多个行业,160多款设备搭载openharmony操作系统,如图7所示。接下来从以下几方面介绍openharmony的生态进展。
图7  openharmony生态总览
(1)芯片生态
2020年9月,openharmony第一次发布并开源时,润和软件率先发布了3款支持openharmony海思芯片的开发板,分别是hi3861、hi3516、hi3518。
经过几年发展,目前openharmony已经支持超过40款芯片,芯片适配历程如图8所示。
图8 芯片适配历程
openharmony芯片合作伙伴包括瑞芯微、全志、晶晨、intel、amd、nxp、赛昉、飞腾、龙芯、汇顶、瑞昱、上海博通、联盛德、博流、翱捷、意法半导体、芯海等。
(2)设备生态
截止到2023年7月8日,通过openharmony兼容性认证的商用设备数量已达162个,相关厂家80家,如图9所示。
设备形态包括电子学生证、扫码支付终端、冰箱、摄像头、网关等。其中,美的13款、华帝9款,产品形态都是智能家电。联迪9款、升腾6款都是金融行业相关设备,包括pos机、收款云喇叭等。
图9 商用设备厂家数据
7.2  行业落地
为推动相关行业落地,openharmony鼓励企业用户基于开源版本的openharmony系统,根据行业特点,在系统中新增行业组件、应用功能等,最终形成企业自己的行业发行版。
截至2023年7月8日,通过openharmony兼容性测评的行业发行版总共34个,相关企业19家。
对行业发行版进行数据统计和分析,如图10所示。可以看到,openharmony已经落地教育、金融、公共安全、超高清、交通、电力、医疗、工业、智慧城市等。其中,教育和金融行业的发行版最多,都达到了5个。
图10 行业发行版数据
此外,对已经通过兼容性认证的商用设备的行业属性进行数据统计,如图11所示。可以看到当前openharmony在金融、家电行业的产品最多,两者总共占比为49%,接近一半,其次是工业、教育、交通等行业。
图11 行业发行版厂家数据
7.3  应用生态
应用生态是openharmony接下来几年发展的重中之重。
在api能力方面,openharmony已经发展到api9版本,api数量已经达到了18 000多个,包括声明式ui能力、应用开发框架、web能力、多媒体能力、分布式能力等,已经可以支持复杂应用开发。
2022年hdc大会上,华为与鸿蒙生态的 14 家合作伙伴签署合作备忘录,将在鸿蒙生态领域深度投入。参加签约的品牌合作伙伴包括新浪、中国国航、人民网、金山办公、奇安信、去哪儿网、乐元素、科大讯飞、酷狗、百度、小沃科技、网易、航旅纵横、搜狗。
搜狗已经推出了openharmony版本的输入法;cocos引擎适配openharmony,将为应用开发者和用户带来更多的便利和创新;unity引擎已经能够支持openharmony系统,并且渲染效果和帧率与传统操作系统不相上下。
8  展 望
openharmony作为一款全新的操作系统,其设计理念非常先进,相信未来openharmony一定会发展成一个伟大的操作系统,在装机量、应用数量上有重大突破,在万物互联时代,成为下一代知名操作系统。openharmony未来发展方向主要围绕下面几点。
8.1  架构优化
系统架构设计上持续优化,包括arkui重构、视窗架构优化,实现极简ui绘制管线、分布式窗口、多源窗口融合,进一步探索高性能、轻量化的2d&3d融合的ui框架,以实现2d&3d混合ui开发。
进一步优化芯片架构的代码、驱动代码、第三方库、系统组件等相关设计,减少代码耦合性、降低代码复杂度,使得代码结构更合理,降低代码冗余。
进一步提升系统流畅度、稳定性,给开发者提供更易用、更好用以及更高效的并发api。在并发调度上,也将针对现存系统中的线程泛滥问题,从时间和空间两个维度设计相关方案进行优化和改进,并将开发一套统一的并行框架,在运行时根据任务依赖状态和可执行资源自动并发调度和执行任务。
8.2  系统能力
当前,openharmony核心api数量已经到18 000之多,而android核心api数量为36 000之多。未来,openharmony将围绕声明式ui能力、应用开发框架、web能力、多媒体能力、多媒体能力、分布式能力、通信能力、安全能力、全球化服务、dex、电话等能力,提供更丰富的api,如图12所示。
图12 系统能力
8.3  分布式能力
分布式能力进一步增强,提供更强大的全场景能力。分布式能力效率进一步提升,减少时延、实现大带宽场景的分布式流转和协同,从交互体验走向场景化体验。
轻量系统软总线能力完善,实现iot设备与智能设备之间的软总线互联互通。
优化软总线代码,减少资源占用,在内存更小的芯片上实现软总线功能。
8.4  多内核
openharmony未来将支持更多的内核,其中比较重要的是硬实时内核和微内核。
(1)硬实时内核
在工业控制领域,实时(real time) 是很重要的要求。传统liteos-m内核在实时性上达不到硬实时的要求。为了补齐硬实时的能力,openharmony已经开始支持uniproton内核。该内核主要聚焦硬实时场景,同时为上层业务软件提供一个统一的操作系统平台,屏蔽底层硬件差异,并提供强大的调试功能。
(2)微内核
当前,openharmony支持的内核为liteos和linux,两者都是宏内核。openharmony微内核已经在研发中,未来openharmony将支持微内核架构。
同时,openharmony也将基于微内核技术的可信执行环境,通过“形式化方法”显著提升了tee内核的安全等级,全面提升全场景终端设备的安全性。
8.5  应用生态
应用生态建设是openharmony未来发展的重心,主要围绕以下几方面展开:①补齐应用能力,提供高效的应用api、适配更多的第三方库组件,完善arkui开发框架,给开发者提供一个更高效的应用开发环境。②赋能开发者,提供各种激励,建立应用上架、应用商城等,让开发者更有动力开发openharmony应用。③拓展应用厂家,与头部应用厂家建立联合开发机制,加速头部应用支持openharmony,共同建设应用生态;赋能中小应用厂家、开发者,帮助他们解决openharmony应用开发过程中的问题,实现应用生态的突破。

浅谈工业应用的运动控制策略
格兰仕刷新了业界认识,推行新物种、新基地、新平台
红外测温仪通过测量物体发出的红外辐射并将其转换为温度信息,明火煤监控系统的明火煤检测装置
关于C语言基础知识点介绍
基于PWM控制与超级电容器控制的电压暂降抑制装置设计
OpenHarmony当前进展和未来趋势
SK电讯完成第二代英特尔芯片测试,改善流量的延迟和抖动性能
荷兰输电系统运营商TSO获得2.5亿欧元贷款
单片机键盘程序设计给出一个例程
荣耀70搭载天玑9000高端旗舰芯片,打造同级最强产品
作为开源系统得鸿蒙或将给安卓带来不小的冲击
虫情测报仪的功能特点及技术参数
压敏电阻爆裂的原因分析
号称“最实惠的家用轿车”的神车卡罗拉配置有点牛逼!
关于智能驾驶引爆的无限可能的分析和介绍
机器人:人工智能的新应用
J6051系留多旋翼无人机技术的应急通信方案
下一代Mac将采用更先进全新电源管理技术
如何重新定义Wi-Fi功能?
4348块电池板如何将光转化成电