HCIA-HarmonyOS设备开发认证-1.HarmonyOS简介

news2024/11/16 13:56:09

在这里插入图片描述

目录

  • 前言
  • 目标
  • 一、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设备的部署;
      • 根据不同的设备形态,支持用户态部署和内核态部署;

请添加图片描述

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. 编译链关系

坚持就有收获

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1409830.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web安全学习笔记【08】——算法1

思维导图在最后 #知识点: 1、Web常规-系统&中间件&数据库&源码等 2、Web其他-前后端&软件&Docker&分配站等 3、Web拓展-CDN&WAF&OSS&反向&负载均衡等 ----------------------------------- 1、APP架构-封装&原生态&…

大语言模型推理提速:TensorRT-LLM 高性能推理实践

作者:顾静 TensorRT-LLM 如何提升 LLM 模型推理效率 大型语言模型(Large language models,LLM)是基于大量数据进行预训练的超大型深度学习模型。底层转换器是一组神经网络,这些神经网络由具有 self-attention 的编码器和解码器组…

Docker安装Clickhouse详细教程

简介 ClickHouse是一种列式数据库管理系统,专门用于高性能数据分析和数据仓库应用。它是一个开源的数据库系统,最初由俄罗斯搜索引擎公司Yandex开发,用于满足大规模数据分析和报告的需求。 特点 开源的列式存储数据库管理系统,…

好书推荐丨豆瓣评出9.2高分!Python编程入门就看蟒蛇书

目录 写在前面 内容简介 业内专家推荐 编辑推荐 资源丰富 作者介绍 Q&A 粉丝福利 写在后面 写在前面 在这日新月异的科技新时代,编程如同一把万能钥匙,为无数人打开了通向无限可能的大门。而在众多编程语言中,Python无疑是最耀…

工业阀门3D数字化展厅降低投入成本

大型机械设备的销售面临诸多挑战,其中最突出的问题之一是展示区域的限制。与家用小汽车不同,大型机械设备的展示需要大面积的场地,同时还需要展示各种型号和功能,这使得在一个城市内实现网格布点覆盖整座城市的难度加大。 为了解决…

DataStream API(转换算子)

目录 源算子 转换算子 1,基本转换算子 1.1映射(map) 1.2过滤(filter) 1.3扁平映射(flatMap) 2,聚合算子 2.1按键分区(keyBy) 2.2简单聚合 3&#x…

医学图像跨模态转换:配准方法生成对图 + 扩散模型 + 成对配对方法

医学图像跨模态转换:配准方法生成对图 扩散模型 成对配对方法 MRI 到 CT 的高精度转换X 光、核磁共振 MRI、CT 区别最关键的配准方法读后启发:Fundus 转 OCT (只是猜想,不一定) 数据图像预处理5 个图像转换算法评估图…

数据建模分析与数仓维度建模规范

前言:数据建模是将定义现实世界的数据抽象成模型的过程,以便更好的分析,管理和操作数据实现需求。数据建模在数仓管理、数据库设计、算法模型训练等领域都有着重要的作用。在不同的领域,数据建模的关注点不同:在数据库…

K8S搭建(centos)七、节点加入集群

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

53-JS之BOM,打开,关闭窗口,screen对象,history对象,location对象,工作区尺寸,滚动距离

1.简介 BOM(Browser Object Model)---浏览器对象模型,提供JS当中对浏览器的各种操作对象 1.1BOM与DOM 2.打开窗口window.open(URL,name,features) 2.1 URL字符串:地址网址文件源 2.2name:指target属性,规定在哪个窗口打开新的url链接 blank:打开一个新窗口 _parent…

[足式机器人]Part2 Dr. CAN学习笔记- 最优控制Optimal Control Ch07-4 轨迹追踪

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记 - 最优控制Optimal Control Ch07-4 轨迹追踪 1. 目标误差控制-误差的调节2. 稳态非零值控制3. 输入增量控制 1. 目标误差控制-误差的调节 2. 稳态非零值控制 3. 输入增量控制

Wpf 使用 Prism 实战开发Day14

备忘录接口增删(CURD)改查实现 一.添加备忘录控制器(MemoController) 备忘录控制器(MemoController)和待办事项控制器 (ToDoController)功能实现差不多一样。基本套路就是&#xff1…

用艺术陪伴困境群体活动在庐阳区双岗街道万小店社区开展

用艺术陪伴困境群体活动在庐阳区双岗街道万小店社区开展 1月23日上午9时,王莉老师带领“一欣工作室”的七位小朋友冒着严寒,来到位于万小店社区和煦园小区的合肥市庐阳区为民社会工作服务中心,慰问陪伴中心的兄弟姐妹。 大家一起唱歌、一起表…

【pyqt6】用pyqt做一个点菜小程序

用pyqt做一个点菜小程序 前言1.pyqt62. 功能介绍3.程序实现 前言 在本文中,我们将使用 PyQt6(Python的GUI库)创建一个简单的点菜小程序。该程序允许用户从菜单中选择菜品,将其添加到订单中,并通过点击“下单”按钮查看…

springboot121编程训练系统设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的编程训练系统设计与实现 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四…

Android Studio 之 菜单 Menu

选项菜单 OptionsMenu 用xml添加&#xff08;更建议使用&#xff09; 创建一个菜单布局 : 在 res文件下新建一个menu 目录&#xff0c;此时的菜单id为&#xff1a;R.menu.option <?xml version"1.0" encoding"utf-8"?> <menu xmlns:android&…

构建库函数雏形(以GPIO为例)

构建库函数雏形 进行外设结构体定义构建置位和复位函数进行库函数的自定义 step I&#xff1a; \textbf{step I&#xff1a;} step I&#xff1a; 对端口进行输出数据类型枚举 step II&#xff1a; \textbf{step II&#xff1a;} step II&#xff1a;对端口进行结构化描述 step…

k8s---helm

Helm是什么&#xff1f; 在没有helm之前。部署一个服务&#xff0c;需要deployment、service、ingress、挂在卷等等相关配置都需要人工来配置。 helm的作用就是通过打包的方式&#xff0c;把需要人工编写的配置集成在一起。是一键式的部署服务。类似于yum功能。 由官方提供的…

通过Android Logcat分析firebase崩溃

参考&#xff1a;UnityIL2CPP包Crash闪退利用Android Logcat还原符号表堆栈日志 - 简书 一、安装Android Logcat插件 1、新建空白unity工程&#xff0c;打开PackageManager窗口&#xff0c;菜单栏Window/PackageManager 2、PackageManager中安装Android Logcat日志工具 3、安…

Leetcode1143. 最长公共子序列

解题思路 求两个数组或者字符串的最长公共子序列问题&#xff0c;肯定是要用动态规划的。下面的题解并不难&#xff0c;你肯定能看懂。 首先&#xff0c;区分两个概念&#xff1a;子序列可以是不连续的&#xff1b;子数组&#xff08;子字符串&#xff09;需要是连续的&#xf…