乐趣区

关于android:HarmonyOS概述

前两天,华为公布了 HarmonyOS 2.0,俺也赶个时尚,给大家简略介绍下 HarmonyOS。

定义

首先,咱们来看一下官网对 HarmonyOS 的定义。依据官网的定义,HarmonyOS 是一款“面向未来”、面向全场景(挪动办公、静止衰弱、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设施零碎能力的根底上,HarmonyOS 提出了基于同一套零碎能力、适配多种终端状态的分布式理念,可能反对多种终端设备的能力。

  • 对消费者而言,HarmonyOS 可能将生存场景中的各类终端进行能力整合,造成一个“超级虚构终端”,能够实现不同的终端设备之间的疾速连贯、能力互助、资源共享,匹配适合的设施、提供晦涩的全场景体验。
  • 对利用开发者而言,HarmonyOS 采纳了多种分布式技术,使得应用程序的开发实现与不同终端设备的状态差别无关,升高了开发难度和老本。这可能让开发者聚焦下层业务逻辑,更加便捷、高效地开发利用。
  • 对设施开发者而言,HarmonyOS 采纳了组件化的设计方案,能够依据设施的资源能力和业务特色进行灵便裁剪,满足不同状态的终端设备对于操作系统的要求。

技术个性

硬件互助,资源共享

1,分布式软总线

分布式软总线是多种终端设备的对立基座,为设施之间的互联互通提供了对立的分布式通信能力,可能疾速发现并连贯设施,高效地散发工作和传输数据,分布式软总线示意图如下图所示。

2,分布式设施虚拟化

分布式设施虚拟化平台能够实现不同设施的资源交融、设施治理、数据处理,多种设施独特造成一个超级虚构终端。针对不同类型的工作,为用户匹配并抉择能力适合的执行硬件,让业务间断地在不同设施间流转,充分发挥不同设施的资源优势,分布式设施虚拟化示意图如下图所示。

3,分布式数据管理

分布式数据管理基于分布式软总线的能力,实现应用程序数据和用户数据的分布式治理。用户数据不再与繁多物理设施绑定,业务逻辑与数据存储拆散,利用跨设施运行时数据无缝连接,为打造统一、晦涩的用户体验发明了根底条件。分布式数据管理示意图如下图所示。

4,分布式任务调度

分布式任务调度基于分布式软总线、分布式数据管理、分布式 Profile 等技术个性,构建对立的分布式服务治理(发现、同步、注册、调用)机制,反对对跨设施的利用进行近程启动、近程调用、近程连贯以及迁徙等操作,可能依据不同设施的能力、地位、业务运行状态、资源应用状况,以及用户的习惯和用意,抉择适合的设施运行分布式工作。以下图的利用迁徙为例,简要地展现了分布式任务调度能力。

一次开发,多端部署

HarmonyOS 提供了用户程序框架、Ability 框架以及 UI 框架,反对利用开发过程中多终端的业务逻辑和界面逻辑进行复用,可能实现利用的一次开发、多端部署,晋升了跨设施利用的开发效率。一次开发、多端部署示意图如下图所示。

对立 OS,弹性部署

HarmonyOS 通过组件化和小型化等设计办法,反对多种终端设备按需弹性部署,可能适配不同类别的硬件资源和性能需要。撑持通过编译链关系去主动生成组件化的依赖关系,造成组件树依赖图,撑持产品零碎的便捷开发,升高硬件设施的开发门槛。

  • 反对各组件的抉择(组件可有可无):依据硬件的状态和需要,能够抉择所需的组件。
  • 反对组件内功能集的配置(组件可大可小):依据硬件的资源状况和性能需要,能够抉择配置组件中的功能集。例如,抉择配置图形框架组件中的局部控件。
  • 反对组件间依赖的关联(平台可大可小):依据编译链关系,能够主动生成组件化的依赖关系。例如,抉择图形框架组件,将会主动抉择依赖的图形引擎组件等。

技术架构

HarmonyOS 整体听从分层设计,从下向上顺次为:内核层、零碎服务层、框架层和应用层。零碎性能依照“零碎 > 子系统 > 性能 / 模块”逐级开展,在多设施部署场景下,反对依据理论需要裁剪某些非必要的子系统或性能 / 模块。HarmonyOS 技术架构如下图所示。

内核层

HarmonyOS 零碎分为内核子系统和驱动子系统。

  • 内核子系统 :HarmonyOS 采纳多内核设计,反对针对不同资源受限设施选用适宜的 OS 内核。内核形象层(KAL,KernelAbstract Layer)通过屏蔽多内核差别,对下层提供根底的内核能力,包含过程 / 线程治理、内存治理、文件系统、网络管理和外设治理等。
  • 驱动子系统 :HarmonyOS 驱动框架(HDF)是 HarmonyOS 硬件生态凋谢的根底,提供对立外设拜访能力和驱动开发、治理框架。

零碎服务层

零碎服务层是 HarmonyOS 的外围能力汇合,通过框架层对应用程序提供服务。该层蕴含以下几个局部:

  • 零碎根本能力子系统集 :为分布式应用在 HarmonyOS 多设施上的运行、调度、迁徙等操作提供了根底能力,由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共根底库、多模输出、图形、平安、AI 等子系统组成。其中,方舟运行时提供了 C /C++/JS 多语言运行时和根底的零碎类库,也为应用方舟编译器动态化的 Java 程序(即应用程序或框架层中应用 Java 语言开发的局部)提供运行时。
  • 根底软件服务子系统集 :为 HarmonyOS 提供公共的、通用的软件服务,由事件告诉、电话、多媒体、DFX、MSDP&DV 等子系统组成。
  • 加强软件服务子系统集 :为 HarmonyOS 提供针对不同设施的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT 专有业务等子系统组成。

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

依据不同设施状态的部署环境,根底软件服务子系统集、加强软件服务子系统集、硬件服务子系统集外部能够按子系统粒度裁剪,每个子系统外部又能够按性能粒度裁剪。

框架层

框架层为 HarmonyOS 的应用程序提供了 Java/C/C++/JS 等多语言的用户程序框架和 Ability 框架,以及各种软硬件服务对外开放的多语言框架 API;同时为采纳 HarmonyOS 的设施提供了 C /C++/JS 等多语言的框架 API,不同设施反对的 API 与零碎的组件化裁剪水平相干。

应用层

应用层包含零碎利用和第三方非零碎利用。HarmonyOS 的利用由一个或多个 FA(Feature Ability)或 PA(Particle Ability)组成。其中,FA 有 UI 界面,提供与用户交互的能力;而 PA 无 UI 界面,提供后盾运行工作的能力以及对立的数据拜访形象。基于 FA/PA 开发的利用,可能实现特定的业务性能,反对跨设施调度与散发,为用户提供统一、高效的利用体验。

系统安全

在搭载 HarmonyOS 的分布式终端上,能够保障“正确的人,通过正确的设施,正确地应用数据”。

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

正确的设施

在分布式终端场景下,只有保障用户应用的设施是安全可靠的,能力保障用户数据在虚构终端上失去无效爱护,防止用户隐衷泄露。

  • 平安启动确保源头每个虚构设施运行的零碎固件和应用程序是残缺的、未经篡改的。通过平安启动,各个设施厂商的镜像包就不易被非法替换为恶意程序,从而爱护用户的数据和隐衷平安。
  • 可信执行环境提供了基于硬件的可信执行环境(TEE,Trusted Execution Environment)来爱护用户的集体敏感数据的存储和解决,确保数据不泄露。因为分布式终端硬件的平安能力不同,对于用户的敏感集体数据,须要应用高安全等级的设施进行存储和解决。HarmonyOS 应用基于数学可证实的形式化开发和验证的 TEE 微内核,取得了商用 OS 内核 CC EAL5+ 的认证评级。
  • 设施证书认证反对为具备可信执行环境的设施预置设施证书,用于向其余虚构终端证实本人的平安能力。对于有 TEE 环境的设施,通过预置 PKI(Public Key Infrastructure)设施证书给设施身份提供证实,确保设施是非法制作生产的。设施证书在产线进行预置,设施证书的私钥写入并平安保留在设施的 TEE 环境中,且只在 TEE 内进行应用。在必须传输用户的敏感数据(例如密钥、加密的生物特色等信息)时,会在应用设施证书进行平安环境验证后,建设从一个设施的 TEE 到另一设施的 TEE 之间的平安通道,实现平安传输,如下图所示。

正确地应用数据

在分布式终端场景下,须要确保用户可能正确地应用数据。HarmonyOS 围绕数据的生成、存储、应用、传输以及销毁过程进行全生命周期的爱护,从而保障集体数据与隐衷、以及零碎的秘密数据(如密钥)不透露。

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

数据销毁 :销毁密钥即销毁数据。数据在虚构终端的存储,都建设在密钥的根底上。当销毁数据时,只须要销毁对应的密钥即实现了数据的销毁。

参考:鸿蒙学堂

退出移动版