什么是HarmonyOS系统?一起来了解一下吧

3,775 阅读15分钟

一、HarmonyOS系统概述

1、华为HarmonyOS系统(英文:HUAWEI HarmonyOS)

(1)该系统是一款面向未来、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的面向全场景分布式操作系统,创造一个超级虚拟终端互联的世界,将人、设备、场景有机地联系在一起,将消费者在全场景生活中接触的多种智能终端实现极速发现、极速连接、硬件互助、资源共享,用合适的设备提供场景体验
(2)HarmonyOS官网: 华为鸿蒙HarmonyOS智能终端操作系统官网 | 应用设备分布式开发者生态
(3)在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备

2、鸿蒙系统的三大特征

(1) 硬件互助,资源共享(用户消费者):搭载鸿蒙设备间在系统层面融为一体、形成超级终端;用户全场景体验
(2) 一次开发,多端部署(应用开发者):HarmonyOS采用了多种分布式技术,使应用开发与不同终端设备的形态差异无关,从而让开发者能够聚焦上层业务逻辑,更加便捷、高效地开发应用
(3) 统一OS,弹性部署(设备开发者):HarmonyOS采用了组件化的设计方案,可根据设备的资源能力和业务特征灵活裁剪,满足不同形态终端设备对操作系统的要求\

3、什么是1+8+N?

1: 手机phone,是主入口,以一部手机为核心,来展开各个功能
8: 智能设备,PC、平板Tablet、智慧屏vision、车机car、智能穿戴wearable、轻量级穿戴liteWearable、VR眼镜、耳机、智能音箱8个华为自研领域产品
N: 全场景,泛IoT硬件构成的华为HiLink生态,可涉及家居、办公、出行、运动、影音娱乐场合
三者关系如下图:

image.png

4、鸿蒙支持的API语言

(1)JAVA
(2)XML(Extensible Markup Language)
(3)C/C++
(4)JS(JavaScript)
(5)CSS
(6)HML(HarmyOS Markup Language)\

二、技术架构体系

1、层次维度

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

image.png

(1)内核层
①内核子系统:HarmonyOS采用多内核设计,支持针对不同资源受限设备选用适合的OS内核
内核抽象层:(KAL,Kernel Abstract Layer) 过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等
③驱动子系统:硬件驱动框架(HDF) 是HarmonyOS硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架

KAL和HDF: 统一了对外或对内的OS和各种外设接口形式,硬件对于上层来说是透明的

(2)系统服务层
系统基本能力子系统集:为分布式应用在HarmonyOS多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、AI等子系统组成。其中,方舟运行时提供了C/C++/JS多语言运行时和基础的系统类库,也为使用方舟编译器静态化的Java程序(即应用程序或框架层中使用Java语言开发的部分)提供运行时
基础软件服务子系统集:为HarmonyOS提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX(Design For X) 、MSDP&DV等子系统组成
增强软件服务子系统集:为HarmonyOS提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT专有业务等子系统组成
硬件服务子系统集:为HarmonyOS提供硬件服务,由位置服务、生物特征识别、穿戴专有硬件服务、IoT专有硬件服务等子系统组成

根据不同设备形态的部署环境,基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪

(3)框架层
①用户程序框架:支持Java/C/C++/JS/TS多语言开发
②Ability框架
③UI框架【用户交互界面】:Java UI和JS UI\

三、技术特性/关键技术

1、”硬件互助,资源共享“,鸿蒙系统特性的关键技术:分布式开发

其四大特性: 分布式软总线 、分布式设备虚拟化、分布式数据管理、分布式任务调度


(1)分布式软总线 (不同设备上不同应用  互联互通-数据通信)【基础、重要】
①分布式软总线是手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基座,为设备之间的互联互通提供了统一的分布式通信能力,为设备之间的无感发现和零等待传输创造了条件。开发者只需聚焦于业务逻辑的实现,无需关注组网方式与底层协议

image.png

②智能家居场景:在烹饪时,手机可以通过碰一碰和烤箱连接,并将自动按照菜谱设置烹调参数,控制烤箱来制作菜肴。与此类似,料理机、油烟机、空气净化器、空调、灯、窗帘等都可以在手机端显示并通过手机控制。设备之间即连即用,无需繁琐的配置

小伙伴们可以点击下面的视频查看具体操作效果🧐:

鸿蒙系统的智能家居场景-CSDN直播\

③多屏联动课堂: 老师通过智慧屏授课,与学生开展互动,营造课堂氛围;学生通过平板完成课程学习和随堂问答。统一、全连接的逻辑网络确保了传输通道的高带宽、低时延、高可靠\

(2)分布式设备虚拟化 (同一个应用,借助他人的硬件设备能力)
①分布式设备虚拟化平台 可以实现不同设备的资源融合、设备管理、数据处理,多种设备共同形成一个超级虚拟终端。针对不同类型的任务,为用户匹配并选择能力合适的执行硬件,让业务连续地在不同设备间流转,充分发挥不同设备的能力优势,如显示能力、摄像能力、音频能力、交互能力以及传感器能力等

image.png

②视频通话场景: 在做家务时接听视频电话,可以将手机与智慧屏连接,并将智慧屏的屏幕、摄像头与音箱虚拟化为本地资源,替代手机自身的屏幕、摄像头、听筒与扬声器,实现一边做家务、一边通过智慧屏和音箱来视频通话。

小伙伴们可以点击下面的视频查看具体操作效果🧐:

鸿蒙系统的视频通话场景-CSDN直播\

③游戏场景: 在智慧屏上玩游戏时,可以将手机虚拟化为遥控器,借助手机的重力传感器、加速度传感器、触控能力,为玩家提供更便捷、更流畅的游戏体验。

(3)分布式数据管理 (同一套数据集,不同设备不同应用间数据或文件共享)
①分布式数据管理 基于分布式软总线的能力,实现应用程序数据和用户数据的分布式管理。用户数据不再与单一物理设备绑定,业务逻辑与数据存储分离,跨设备的数据处理如同本地数据处理一样方便快捷,让开发者能够轻松实现全场景、多设备下的数据存储、共享和访问,为打造一致、流畅的用户体验创造了基础条件

image.png

②协同办公场景:将手机上的文档投屏到智慧屏,在智慧屏上对文档执行翻页、缩放、涂鸦等操作,文档的最新状态可以在手机上同步显示

小伙伴们可以点击下面的视频查看具体操作效果🧐:

鸿蒙系统的协同办公场景-CSDN直播\

③照片分享场景: 出游时,使用手机拍摄的照片,可以在登录了同帐号的其他设备,比如平板上更方便地浏览、收藏、保存或编辑,也可以通过家中的智慧屏上同家人一起分享记录下的快乐瞬间

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

image.png

②导航场景:如果用户驾车出行,上车前,在手机上规划好导航路线;上车后,导航自动迁移到车机和车载音箱;下车后,导航自动迁移回手机。如果用户骑车出行,在手机上规划好导航路线,骑行时手表可以接续导航

小伙伴们可以点击下面的视频查看具体操作效果🧐:

鸿蒙系统的导航场景-CSDN直播\

③外卖场景: 在手机上点外卖后,可以将订单信息迁移到手表上,随时查看外卖的配送状态\

2、”一次开发,多端部署“(应用开发者)

(1)HarmonyOS提供了用户程序框架、Ability框架以及UI框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率

image.png

(2)UI框架支持使用Java、JS、TS语言进行开发,并提供了丰富的多态控件,可以在手机、平板、智能穿戴、智慧屏、车机上显示不同的UI效果。
(3)采用业界主流设计方式,提供多种响应式布局方案,支持栅格化布局,满足不同屏幕的界面适配能力

3、”统一OS,弹性部署“(设备开发者)

(1)HarmonyOS通过组件化和小型化等设计方法,支持多种终端设备按需弹性部署,能够适配不同类别的硬件资源和功能需求。支撑通过编译链关系去自动生成组件化的依赖关系,形成组件树依赖图,支撑产品系统的便捷开发,降低硬件设备的开发门槛
(2)支持各组件的选择(组件可有可无):根据硬件的形态和需求,可以选择所需的组件
(3)支持组件内功能集的配置(组件可大可小):根据硬件的资源情况和功能需求,可以选择配置组件中的功能集。例如,选择配置图形框架组件中的部分控件
(4)支持组件间依赖的关联(平台可大可小):根据编译链关系,可以自动生成组件化的依赖关系。例如,选择图形框架组件,将会自动选择依赖的图形引擎组件等

四、系统安全(正确的人,通过正确的设备,正确地使用数据

通过“分布式多端协同身份认证”来保证“正确的人”
通过“在分布式终端上构筑可信运行环境”来保证“正确的设备”
通过“分布式数据在跨终端流动的过程中,对数据进行分类分级管理”来保证“正确地使用数据

细节拓展如下:

1、正确的人

(1)零信任模型: HarmonyOS基于零信任模型,实现对用户的认证和对数据的访问控制。当用户需要跨设备访问数据资源或者发起高安全等级的业务操作(例如,对安防设备的操作)时,HarmonyOS会对用户进行身份认证,确保其身份的可靠性
(2)多因素融合认证(人脸,指纹): HarmonyOS通过用户身份管理,将不同设备上标识同一用户的认证凭据关联起来,用于标识一个用户,来提高认证的准确度
(3)协同互助认证: HarmonyOS通过将硬件和认证能力解耦(即信息采集和认证可以在不同的设备上完成),来实现不同设备的资源池化以及能力的互助与共享,让高安全等级的设备协助低安全等级的设备完成用户身份认证

2、正确的设备

(1)安全启动: 确保源头每个虚拟设备运行的系统固件和应用程序是完整的、未经篡改的。通过安全启动,各个设备厂商的镜像包就不易被非法替换为恶意程序,从而保护用户的数据和隐私安全。
(2)可信执行环境: 提供了基于硬件的可信执行环境(TEE,Trusted Execution Environment)来保护用户的个人敏感数据的存储和处理,确保数据不泄露。
由于分布式终端硬件的安全能力不同,对于用户的敏感个人数据,需要使用高安全等级的设备进行存储和处理。HarmonyOS使用基于数学可证明的形式化开发和验证的TEE微内核,获得了商用OS内核CC EAL5+的认证评级
(3)设备证书认证: 支持为具备可信执行环境的设备预置设备证书,用于向其他虚拟终端证明自己的安全能力。
对于有TEE环境的设备,通过预置PKI(Public Key Infrastructure)设备证书给设备身份提供证明,确保设备是合法制造生产的。设备证书在产线进行预置,设备证书的私钥写入并安全保存在设备的TEE环境中,且只在TEE内进行使用。在必须传输用户的敏感数据(例如密钥、加密的生物特征等信息)时,会在使用设备证书进行安全环境验证后,建立从一个设备的TEE到另一设备的TEE之间的安全通道,实现安全传输

3、正确的使用数据

(1)数据生成: 根据数据所在的国家或组织的法律法规与标准规范,对数据进行分类分级,并且根据分类设置相应的保护等级。每个保护等级的数据从生成开始,在其存储、使用、传输的整个生命周期都需要根据对应的安全策略提供不同强度的安全防护。
虚拟超级终端的访问控制系统支持依据标签的访问控制策略,保证数据只能在可以提供足够安全防护的虚拟终端之间存储、使用和传输
(2)数据存储: HarmonyOS通过区分数据的安全等级,存储到不同安全防护能力的分区,对数据进行安全保护,并提供密钥全生命周期的跨设备无缝流动和跨设备密钥访问控制能力,支撑分布式身份认证协同、分布式数据共享等业务
(3)数据使用: HarmonyOS通过硬件为设备提供可信执行环境。用户的个人敏感数据仅在分布式虚拟终端的可信执行环境中进行使用,确保用户数据的安全和隐私不泄
(4)数据传输: 为了保证数据在虚拟超级终端之间安全流转,需要各设备是正确可信的,建立了信任关系(多个设备通过华为帐号建立配对关系),并能够在验证信任关系后,建立安全的连接通道,按照数据流动的规则,安全地传输数据。
当设备之间进行通信时,需要基于设备的身份凭据对设备进行身份认证,并在此基础上,建立安全的加密传输通道
(5)数据销毁: 销毁密钥即销毁数据。数据在虚拟终端的存储,都建立在密钥的基础上。当销毁数据时,只需要销毁对应的密钥即完成了数据的销毁