带你快速认识 HarmonyOS

描述

国产操作系统HarmonyOS(鸿蒙操作系统)开始进入到大众的视野。

 

 

鸿蒙寓意为“万物起源”,发展至今已经经过了好几个迭代版本。

操作系统

  1.1.1. 早期鸿蒙雏形 LiteOS  

2015 年 5 月 20 日,华为大会上,华为发布最轻量级的物联网操作系统 LiteOS。

 

 

Huawei LiteOS 

操作系统

Huawei LiteOS 是华为面向IoT领域,构建的轻量级物联网操作系统,遵循BSD-3开源许可协议,可广泛应用于智能家居、个人穿戴、车联网、城市公共服务、制造业等领域,大幅降低设备布置及维护成本,有效降低开发门槛、缩短开发周期。

操作系统

Huawei LiteOS 内核,包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器等操作系统基础组件,可以单独运行。

具有高实时性,高稳定性,超小内核,基础内核体积,可以裁剪至不到10K,低功耗,支持功能静态裁剪等特点。

 

  1.1.2. 鸿蒙操作系统发展  

2016年5月,鸿蒙正式在华为公司的软件部内部立项并开始投入研发,吹响了研发鸿蒙操作系统的号角。

 

 

2019年8月10日,华为正式发布了HarmonyOS 1.0,该系统率先部署在智慧屏上。华为消费者业务CEO余承东在发布会上宣布鸿蒙将进行开源。

 

 

2020年9月10日,华为发布HarmonyOS 2.0,主要在3个方面做出重大提升:分布式的软总线、分布式的数据管理及分布式的安全,此版本可用于大屏、手表和车机。

 

 

2020年12月,华为发布面向开发者提供了手机版本HarmonyOS 2.0的Beta版本,开发者可以访问华为开发者联盟官网 ,申请获取 HarmonyOS 2.0 手机开发者 Beta 版升级 。

 

 

2021年6月2号,华为发布可以覆盖手机等移动终端的HarmonyOS 2.0。

 

 

2021年10月,华为发布鸿蒙3.0版本。

 

 

2023年8月4日,华为正式发布鸿蒙4.0,华为Mate 60和Mate 60Pro系列出厂预装了鸿蒙OS 4系统。

 

  1.1.3. 鸿蒙操作系统介绍  

鸿蒙系统不同于既有的Android、ios、Windows、Linux等操作系统,它面向的是1+8+N的全场景设备,能够根据不同内存级别的设备进行弹性组装和适配,并且跨设备交互信息。 

 

比如可以将手机端播放的视频迁移到智慧屏,通过大屏来观看视频,同时也可以将视频音效分离到外设音响;通过设备A获取设备B的数据;多设备终端数据同步等。

 

 

1+8+N全场景

 

 

目前的硬件生态是相互割裂的,无论手机、手表、电视还是手机,都有各自独立的生态,影响用户体验,用户希望打破设备间的壁垒,实现设备间的无缝连接。

 

 

为此,鸿蒙操作系统基于用户体验的考虑,要实现的是设备间的1+8+N的万物互联。 

 

“1”指的是中间位置的手机,用户流量的核心入口。

 

 

“8”指手机的外围8类设备,包括:PC、TV、平板电脑、耳机、眼镜、手表、车机、音箱,在人们的日常生活中使用频率仅次于手机。

 

 

“N”指最外层的搭载鸿蒙系统的物联网设备,应用场景包括:运动健康、影音娱乐、智慧出行、移动办公、智能家居等。

 

 

各应用场景常见的设备有:运动健康:血压计、智能秤等;

影音娱乐:游戏、视屏等;

 

 

智慧出行:定位、打车等;

 

 

移动办公:打印机、投影仪等;

 

 

智能家居:扫地机、摄像头等;

 

  鸿蒙操作系统3大特征  

1.实现设备之间硬件互助,资源共享,比如:手机将视频分享给智慧屏,将音频分享给音箱,音视频同步。

 

 

2.一次开发,多端部署。

 

 

3.统一OS,弹性部署。根据设备的资源能力和业务特征灵活裁剪,满足不同形态终端设备对操作系统的要求。

华为于2020年9月10号将HarmonyOS 2.0源码捐赠给开放原子开源基金(国内首个开源软件基金会)会孵化,得到OpenHarmonyOS 1.0并开放下载。

 

 

2020年12月22号,OpenHarmony全场景分布式终端操作系统(以下简称OpenHarmony)项目群正式成立,该项目群是由中国科学院软件所、华为终端公司、京东集团等7家单位组成,共同规划OpenHarmony的持续发展。

 

 

2021年6月2日发布会上,开放原子开源基金会将孵化的OpenHarmony 2.0 全量开源发布。

 

 

HarmonyOS实际上分为3个部分:OpenHarmonyOS、包括HMS(Huawei Mobile Services,华为移动服务)在内的闭源应用与服务,以及其他开放源代码。

 

 

OpenHarmonyOS 是鸿蒙操作系统中开源的部分,HarmonyOS是基于OpenHarmonyOS 的商用发行版。

操作系统

 

操作系统

HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。

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

 

  1.2.1. 内核层  

内核子系统:HarmonyOS采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。

 

 

驱动子系统:硬件驱动框架(HDF)是HarmonyOS硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。

 

  1.2.2. 系统服务层  

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

 

 

系统基本能力子系统集:为分布式应用在HarmonyOS多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、AI等子系统组成。

 

 

其中,方舟运行时提供了C/C++/JS多语言运行时和基础的系统类库,也为使用方舟编译器静态化的Java程序(即应用程序或框架层中使用Java语言开发的部分)提供运行时。

 

 

基础软件服务子系统集:为HarmonyOS提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX(Design For X) 、MSDP&DV等子系统组成。

 

 

增强软件服务子系统集:为HarmonyOS提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT专有业务等子系统组成。

 

 

硬件服务子系统集:为HarmonyOS提供硬件服务,由位置服务、生物特征识别、穿戴专有硬件服务、IoT专有硬件服务等子系统组成。

 

  1.2.3. 框架层  

HarmonyOS应用开发提供了ArkTS/JS/C/C++/Java等多语言的用户程序框架,两种UI框架(包括适用于ArkTS/JS语言的方舟开发框架即ArkUI、适用于Java语言的Java UI框架),以及各种软硬件服务对外开放的多语言框架API。

 

  1.2.4. 应用层  

应用层包括系统应用和第三方非系统应用。

 

 

理解Ability

 

 

在HarmonyOS分布式系统中,一切皆能力,能力无大小。

 

 

在HarmonyOS应用程序中,

 

 

一个页面即一种能力,如登录页面,即具有登录功能的能力;

 

 

一个服务即一种能力,如后台播放音乐的能力;

 

 

一个数据操作即一种能力,如获取数据库数据等。

 

 

同时能力之间也可以互相调用,通过页面能力来管理后台音效播放与暂停。

 

 

在HarmonyOS应用程序中将能力分为FA(Feature Ability,即元程序)和PA(Particle Ability,即元服务)两种类型。

 

 

HarmonyOS的应用由一个或多个FA(Feature Ability,特征能力)或PA(Particle Ability,粒子能力)组成,应用程序可以以能力为单位进行部署。

 

 

其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。

 

 

FA在进行用户交互时所需的后台数据访问也需要由对应的PA提供支撑。

 

 

基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。

 

 


 

操作系统

  1.3.1. 鸿蒙开发岗位  

基于HarmonyOS技术架构,鸿蒙开发分为:鸿蒙应用开发、鸿蒙操作系统开发、HarmonyOS IOT 设备开发、openHarmony内核驱动开发、华为HMS(Huawei Mobile Services,华为手机服务)应用开发。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分