目录
- 前言
- 目标
- 一、HarmonyOS简介
- 1.1、初识HarmonyOS
- 1.2、HarmonyOS典型应用场景
- 二、HarmonyOS架构与安全
- 2.1、HarmonyOS架构
- 2.1.1 内核层
- 2.1.2 系统服务层
- 2.1.3 框架层
- 2.1.4 应用层
- 2.2、HarmonyOS安全
- 3、HarmonyOS关键特性
- 4、HarmonyOS生态
- 5、思考题
- 坚持就有收获
前言
- 本章主要介绍HarmonyOS分布式操作系统的概念、关键技术与能力以及HarmonyOS典型的应用场景。
目标
- 学习完成本课程后,您将能够:
- 了解HarmonyOS的相关概念和产品定位;
- 了解HarmonyOS的技术架构;
- 了解HarmonyOS的关键特性。
一、HarmonyOS简介
1.1、初识HarmonyOS
- HarmonyOS 是一款面向万物互联时代的、全新的分布式操作系统。
- 与市面上传统系统(window, 安卓,IOS,塞班等)的差异:
- 在单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备。
1.2、HarmonyOS典型应用场景
- HarmonyOS以手机为核心,构建1+8+N全场景应用。
- 常用8种场景有:PC、AI音箱、耳机、VR/AR眼镜、车机、智慧屏、手表、Pad.
- N种场景为IOT产品。
- PC+手机构建具有强大通信能力、高效人机交互和丰富应用生态的新设备。
- 手机+手表跨设备业务流转,开创新的生活方式。
二、HarmonyOS架构与安全
2.1、HarmonyOS架构
名词解释:
-
HDF, Hardware Driver Foundation,硬件驱动框架,用于提供统一外设访问能力和驱动开发、管理框架。
-
KAL , Kernel Abstract Layer, 内核抽象层,屏蔽多内核差异,为上层提供基础的内核能力,包括:进程/线程管理、内存管理、文件系统、网络管理以及外设管理等。
-
FA , Feature Ability,在FA模型(已经不再主推)中代表有界面的Ability,用于与用户进行交互。
-
PA ,Particle Ability,在FA模型(已经不再主推)中代表无界面的Ability,主要为Feature Ability提供支持,例如作为后台服务提供计算能力,或作为数据仓库提供数据访问能力。
-
HarmonyOS整体遵从分层设计:从下往上依次为:内核层、系统服务层、框架层和应用层。
-系统功能按照:“系统” -> “子系统” -> "功能/模块"逐级展开,在多设备部署情况下,根据需求裁剪非必要的子系统或者功能。
2.1.1 内核层
内核层主要包括内核子系统和驱动子系统。
- 内核子系统:HarmonyOS采用多内核设计,支持不同资源受限设备选用适合的OS核。内核抽象层通过屏蔽多内核差异,对上层提供基础内核能力,包括:进程/线程管理、内存管理、文件系统、网络管理以及外设管理等。
- 驱动子系统:硬件驱动框架(HDF)是HarmonyOS硬件生态开放的基础,提供统一的外设访问能力、驱动开发、管理框架。
- 统一驱动框架优势:驱动与内核解耦,支持运行动态加载,让更多的IOT设备接入超级终端。
- 通过平台、系统接口解耦,构建统一的驱动平台底座,兼容Linux、LiteOS等不同的内核;
- 支撑百K级~G级容量的1+8+N设备的部署;
- 根据不同的设备形态,支持用户态部署和内核态部署;
- 统一驱动框架优势:驱动与内核解耦,支持运行动态加载,让更多的IOT设备接入超级终端。
2.1.2 系统服务层
根据不同设备形态的部署环境,各个子系统集可以按子系统粒度裁剪,子系统内部又可以按功能粒度裁剪。
2.1.3 框架层
- 框架层为HarmonyOS应用开发提供:
- 用户程序框架:支持Java/C/C++/JS等多种语言;
- Ability框架:应用所具备能力的抽象;
- 两种UI框架:适用于Java语言的Java UI框架和适用于JS语言的JS UI框架;
- 多语言框架API:支持多种软硬件服务对外开发的语言框架;
- 根据系统组件化裁剪程度,HarmonyOS设备支持的API也有所不同。
2.1.4 应用层
- 应用层包括系统应用和扩展/第三方非系统应用;
- HarmonyOS应用分为一个或者多个FA或者PA组成。
- FA有UI界面,提供与用户交互能力;PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象;
- FA在进行用户交互时所需的后台数据访问也需要对应的PA提供支撑;
- 基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度和分发,为用户提供统一致、高效的应用体验。
2.2、HarmonyOS安全
- HarmonyOS分布式终端上,可以保证“正确的人,通过正确的设备,正确地使用数据”。
-
通过“分布式多端协同身份认证”来保证“正确的人”,HarmonyOS通过以下三个方面来实现协同身份证:
- 协同互助认证
- 零信任模型
- 多因素融合认证
-
通过“在分布式终端上构筑可信运行环境”来保证“正确的设备”,HarmonyOS通过以下三个方面来确保设备的可靠:
- 设备证书认证
- 安全启动
- 可信任环境
-
通过“分布式数据在跨终端流动的过程中,对数据进行分类分级管理”来保证“正确地使用数据”,HarmonyOS围绕数据生成、存储、使用、传输依据销毁过程进行全生命周期的保护,从而保证个人数据与隐私、以及系统的机密数据(如秘钥)不泄露。
-
3、HarmonyOS关键特性
- 通过分布式终端相关技术,对终端虚拟化成分布式API接口,为应用程序调用,形成多个分布式终端功能集合,就是“超级终端”。
- 硬件互助,资源共享关键技术
- 分布式任务调度
- 分布式数据管理
- 分布式软总线
- 分布式设备虚拟化
- 一次开发,多端部署
HarmonyOS提供了用户程序框架、Ability框架以及UI框架,支持应用开发过程中多终端业务逻辑和界面逻辑进行复用,能够实现应用的一次开发,多端部署,提升了跨设备应用的开发效率。 - 统一OS,弹性部署
- 支持各组件的选择(组件可有可无)
- 根据硬件的形态和需求,可以选择所需的组件。
- 支持组件内功能集的配置(组件可大可小)
- 根据硬件的资源情况和功能需求,可以选择配置组件中的功能集。例如:选择配置图形框架中的部分控件。
- 支持组件间依赖关联(平台可大可小)
- 根据编译链关系,可以自动生成组件化的依赖关系。例如:选择图形框架组件,将会自动选择依赖的图形引擎组件等。
- 支持各组件的选择(组件可有可无)
4、HarmonyOS生态
5、思考题
1.(多选题)HarmonyOS系统主要分为()。
A. 内核层
B. 系统服务层
C. 框架层
D. 应用层
2. (多选题)HarmonyOS的UI框架支持以下哪些语言?
A. JAVA
B. JS
C. PHP
D. Python
3. (判断题)通过HarmonyOS的分布式数据管理技术,能够让开发者轻松实现全场景、多设备下的数据存储、共享和访问。()
A. 正确
B. 错误
4. (多选题)HarmonyOS支持根据()来实现组件弹性部署。
A. 硬件价格
B. 硬件形态和需求
C. 硬件资源情况和功能需求
D. 编译链关系