购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 HarmonyOS简介

2020年9月10日,华为公司在2020年华为开发者大会上发布了HarmonyOS(鸿蒙操作系统)2.0版本。HarmonyOS是一款面向全场景的分布式操作系统。不同于既有的Android、iOS、Windows、Linux等操作系统,HarmonyOS面向的是1+8+N的全场景设备,能够根据不同内存级别的设备进行弹性组装和适配,并且支持跨设备交互信息。

HarmonyOS提供了支持多种开发语言的API,供开发者进行应用开发。支持的开发语言包括Java、XML、C/C++、JavaScript(简称JS)、CSS和HTML。

1.2.1 HarmonyOS概述

HarmonyOS是华为公司发布的一款面向万物互联的全新分布式操作系统。不同于既有的Android、iOS、Windows、Linux等操作系统,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够同时支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景业务能力,实现极速发现、极速连接、硬件互助、资源共享的场景体验。

对消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,形成一个超级虚拟终端,并且能够实现不同终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备,提供流畅的全场景体验。

对应用开发者而言,HarmonyOS采用了多种分布式技术,使得应用程序的开发实现与不同终端设备的形态差异无关,降低了开发难度和成本。让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用。

对设备开发者而言,HarmonyOS采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。

自2019年8月正式发布以来,HarmonyOS一共经过了四次大的版本迭代。目前发布的最新版本HarmonyOS Next是一款同时支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备的操作系统。

1.2.2 HarmonyOS技术特性

HarmonyOS具备分布式软总线、分布式数据管理和分布式安全三大核心能力,体现如下。

· 分布式软总线:作为多种终端设备的统一基座,为设备的互联互通提供统一的分布式通信能力,让多设备融为一体,带来设备内和设备间高吞吐、低时延、高可靠的流畅连接体验。

· 分布式数据管理:基于分布式总线提供的能力,实现应用程序数据和用户数据的分布式管理。用户数据不再与单一物理设备绑定,跨设备运行时数据无缝衔接,为打造一致、流畅的用户体验创造了基础条件。

· 分布式安全:HarmonyOS能够把手机的内核级安全能力扩展到其他终端,进而提升全场景设备的安全性,通过设备互助、共同抵御攻击,保障智能家居网络安全。HarmonyOS自定义数据和设备的安全级别,对数据和设备进行分类分级保护,确保数据流通安全可信。

HarmonyOS提供的用户程序框架、Ability框架以及UI框架,支持在应用开发过程中多终端的业务逻辑和界面逻辑的复用,实现应用的一次开发、多端部署,提升跨平台应用开发的能力。

除此之外,HarmonyOS通过组件化和小型化的设计方案,支持多终端设备的按需弹性部署,进而适配不同类别的硬件资源和功能需求;支持通过编译链自动生成组件化的依赖关系,形成组件树依赖图,支撑产品系统的便捷开发,降低硬件设备的开发门槛。

1.2.3 HarmonyOS系统安全

搭载HarmonyOS的分布式终端设备,主要从“正确的人,通过正确的设备,正确地使用数据”三方面来保证用户数据的安全,体现如下。

· 通过分布式多端协同身份认证来保证正确的人。

· 通过在分布式终端上构筑可信运行环境来保证正确的设备。

· 通过分布式数据在跨终端流动的过程中,对数据进行分类分级管理来保证正确地使用数据。

正确的人

在分布式终端场景下,正确的人指通过身份认证的数据访问者和业务操作者。正确的人是确保用户数据不被非法访问、用户隐私不被泄露的前提条件。目前,HarmonyOS通过三方面来实现协同身份认证。

· 零信任模型:HarmonyOS基于零信任模型,实现对用户的认证和对数据的访问控制。当用户需要跨设备访问数据资源或者发起高安全等级的业务操作时,HarmonyOS会对用户进行身份认证,确保其身份的可靠性和合法性。

· 多因素融合认证:HarmonyOS通过用户身份管理,将不同设备上标识同一用户的认证凭据关联起来,提高了认证的准确度。

· 协同互助认证:HarmonyOS通过将硬件和认证能力解耦,实现不同设备的资源池化以及能力的互助与共享,让高安全等级的设备协助低安全等级的设备完成用户身份认证。

正确的设备

在分布式终端场景中,只有保证用户使用的设备是安全可靠的,才能保证用户数据在终端上得到有效保护,避免用户隐私泄露的问题。

· 安全启动:确保源头每个虚拟设备运行的系统固件和应用程序是完整的、未经篡改的。通过安全启动程序,保证设备厂商的镜像包没有被非法替换为恶意程序,从而保护用户的数据和隐私安全。

· 可信执行环境:提供了基于硬件的可信执行环境来保护用户的个人敏感数据的存储和处理,确保数据不泄露。HarmonyOS使用基于数学可证明的形式化开发和验证的TEE微内核,获得了商用OS内核CC EAL5+的认证评级。

· 设备证书认证:支持为具备可信执行环境的设备预置设备证书,用于向其他虚拟终端证明自己的安全能力。设备证书在产线进行预置,设备证书的私钥写入并安全保存在设备的TEE环境中,且只在TEE内进行使用。在必须传输用户的敏感数据时,会在使用设备证书进行安全环境验证后,建立从一个设备的TEE到另一设备的TEE之间的安全通道,进而实现安全传输。

正确地使用数据

在分布式终端场景下,需要确保用户能够正确地使用数据。HarmonyOS围绕数据的生成、存储、使用、传输以及销毁过程进行全生命周期的保护,从而保证用户数据与隐私以及系统的机密数据(如密钥)不被泄露。

· 数据生成:根据数据所在的国家或组织的法律法规与标准规范,对数据进行分类分级,并且根据分类设置相应的保护等级。每个保护等级的数据从生成开始,在其存储、使用、传输的整个生命周期都需要根据对应的安全策略提供不同强度的安全防护。虚拟超级终端的访问控制系统支持依据标签的访问控制策略,保证数据只能在可以提供足够安全防护的虚拟终端之间存储、使用和传输。

· 数据存储:HarmonyOS通过区分数据的安全等级,存储到不同安全防护能力的分区,对数据进行安全保护,并提供密钥全生命周期的跨设备无缝流动和跨设备密钥访问控制能力,支撑分布式身份认证协同、分布式数据共享等业务。

· 数据使用:HarmonyOS通过硬件为设备提供可信执行环境。用户的个人敏感数据仅在分布式虚拟终端的可信执行环境中进行使用,确保用户数据的安全和隐私不泄露。

· 数据传输:为了保证数据在虚拟超级终端之间的安全流转,需要各设备是正确可信的,建立信任关系并在验证信任关系之后,再建立安全的连接通道,然后按照数据流动的规则安全地传输数据。当设备之间进行通信时,需要基于设备的身份凭据对设备进行身份认证,并在此基础上建立安全的加密传输通道。

· 数据销毁:销毁密钥即销毁数据,数据在虚拟终端的存储都建立在密钥的基础上。当销毁数据时,只需要销毁对应的密钥即可。

1.2.4 HarmonyOS系统架构

HarmonyOS系统架构遵从分层设计的理念,从下向上依次是内核层、系统服务层、应用框架层和应用层。系统功能按照【系统】> 【子系统】>【功能/模块】逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。HarmonyOS系统架构如图1—2所示。

内核层

HarmonyOS系统的内核层分为内核子系统和驱动子系统,说明如下。

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

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

图1—2 HarmonyOS系统架构

系统服务层

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

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

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

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

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

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

应用框架层

应用框架层为HarmonyOS应用程序提供Java/C/C++/JavaScript等多语言的用户程序框架和Ability框架,以及各种软硬件服务对外开放的多语言框架API,同时为采用HarmonyOS的设备提供C/C++/JavaScript等多语言框架API。需要注意的是,不同设备支持的API与系统的组件化裁剪程度相关。

应用层

应用层包括系统应用和第三方非系统应用。通常,HarmonyOS应用由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。其中,FA有UI,提供与用户交互的能力;而PA无UI,提供后台运行任务的能力以及统一的数据访问抽象。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。 ztGfsdWzjCIO5xopFgGRaSuHKVbY/0ckeD8L4Kxj09uqp5CNb+AguqFTrOElypxw

点击中间区域
呼出菜单
上一章
目录
下一章
×