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

在这里插入图片描述

目录

  • 前言
  • 目标
  • 一、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. JAVAB. JSC. PHPD. Python3. (判断题)通过HarmonyOS的分布式数据管理技术,能够让开发者轻松实现全场景、多设备下的数据存储、共享和访问。()A. 正确B. 错误4. (多选题)HarmonyOS支持根据()来实现组件弹性部署。A. 硬件价格B. 硬件形态和需求C. 硬件资源情况和功能需求D. 编译链关系

坚持就有收获

在这里插入图片描述

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

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

相关文章

Qt基础-窗体状态栏右下角的三角框如何去掉

Qt窗体状态栏右下角默认是有的三角框,在项目设计时不需要,如何去掉呢? 默认的窗体界面如下 选中状态栏,修改属性SizeGripEnabled勾选去掉 再次运行,三角框去掉了

java steam 的使用

说steam 前看下kotlin的一个写法如果用java怎么写 fun main() {// 创建一个列表val fruits listOf("Apple", "Banana", "Cherry", "Date", "Elderberry")// 使用 Sequence 进行过滤和映射操作val uppercaseFruitLengths …

怎么用图片生成二维码?扫描二维码看图片怎么制作?

现在将多张图片放到二维码中,通过扫码的方式预览是现在很常见的一种方式,那么如何生成图片、照片的二维码呢?对于图片二维码制作感兴趣的小伙伴,可以跟着小编来学习下面的制作技巧,借助网上的二维码生成器工具的功能&a…

基于LLaMA Factory,单卡3小时训练专属大模型 Agent

大家好,今天给大家带来一篇 Agent 微调实战文章 Agent(智能体)是当今 LLM(大模型)应用的热门话题 [1],通过任务分解(task planning)、工具调用(tool using)和…

还在纠结怎么选随身WiFi的,看看这个!随身WiFi靠谱榜第一名推荐!哪个随身WiFi最好用

你是不是还在头疼如何挑选一个靠谱好用的随身WiFi呢?市场上的随身WiFi产品五花八门,每次购买随身WiFi都会被坑,差点就失去购买的信心了~别灰心,一篇文章教你如何挑选一个靠谱好用的随身WiFi! 一、5大购买原则&#xff…

蓝桥杯备战——1.点亮LED灯

1.解析原理图 由上图可以看到8个共阳LED灯接到了573输出口,而573输入接到单片机P0口上。当573 LE脚输入高电平时,输出随输入变化,当LE为低电平时,输出锁存。 由上图可以看到Y4C接到了或非门74HC02的输出端,而输入端为…

HCIA——27E-mall、MIME;POP3、IMAP的选择,解答

学习目标: 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的组成和特点,理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…

DAY22xss2

远程调用xss平台网站需要在意是http还是https协议 cookie的利用 1.抓包利用 2.特定浏览器活软件 这个浏览器的使用教程 点进去之后再点击这个 然后我们开始 利用cookie cookie有几个值我们就添加几个 3.浏览器插件 遇到的突发情况 例如空白 404 这个时候我们要有种思…

SpringBoot,TDengine时序数据库,实现物联网,车联网大批量数据更新最佳实践。

简介 TDengine 是一款专为物联网、工业互联网等场景设计并优化的大数据平台,它能安全高效地将大量设备、数据采集器每天产生的高达 TB 甚至 PB 级的数据进行汇聚、存储、分析和分发,对业务运行状态进行实时监测、预警,提供实时的商业洞察。其…

tp5中使用ueditor编辑器保存文本到数据库后编辑时数据回显显示html标签问题解决办法

数据表中保存的数据为带html标签的源码&#xff0c;如图&#xff1a; 编辑器页面需要的内容&#xff1a; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <html> <head><…

网络通信课程总结(小飞有点东西)

27集 局域网通信&#xff1a;用MAC地址 跨局域网通信&#xff1a;用IP地址&#xff08;MAC地址的作用只是让我们找到网关&#xff09; 又因为arp技术&#xff0c;可以通过MAC地址找到IP地址&#xff0c;所以我们可以通过IP地址定位到全世界任意一台计算机。 28集 在数据链路…

255:vue+openlayers 加载tomtom地图(多种形式)

第255个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中添加tomtom地图,这里包含了多种形式,诸如中文标记、英文标记、白天地图、晚上地图、卫星影像图,高山海拔地形图等。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果 文章目录 示…

爬虫是什么 怎么预防

爬虫是一种自动化程序&#xff0c;用于从网页或网站中提取数据。它们通过模拟人类用户的行为&#xff0c;发送HTTP请求并解析响应&#xff0c;以获取所需的信息。 爬虫可以用于各种合法用途&#xff0c;如搜索引擎索引、数据采集和监测等。然而&#xff0c;有些爬虫可能是恶意的…

2. figure 常见属性

2. figure 常见属性 一 figsize二 dpi三 facecolor四 edgecolor五 frameon 数据可视化是数据分析中不可或缺的一环&#xff0c;而Matplotlib作为Python中最流行的绘图库之一&#xff0c;扮演着重要的角色。在Matplotlib中&#xff0c;matplotlib.figure.Figure对象是构建图形的…

3d模型素材下载选择哪个网站比较好?

3d模型素材下载选择哪个网站比较好?需要在选择3D模型素材下载网站时&#xff0c;考虑以下几个方面&#xff1a; 1、网站的专业性和知名度&#xff1a;选择知名的、专业的网站可以提高获取到优质模型素材的概率&#xff0c;并且能够保证模型的品质和准确性。 2、模型的种类和质…

unity学习笔记----游戏练习06

一、豌豆射手的子弹控制 创建脚本单独控制子弹的运动 用transform来控制移动 void Update() { transform.Translate(Vector3.right * speed * Time.deltaTime); } 创建一个控制子弹速度的方法&#xff0c;方便速度的控制 private void SetSpeed(float spee…

Qt顶部圆角窗体

Qt&#xff1a;实现顶层窗体圆角_qt 圆角窗口弹窗-CSDN博客 setWindowFlags(Qt::FramelessWindowHint);QBitmap bmp(this->size());bmp.fill();QPainter p(&bmp);p.setPen(Qt::NoPen);p.setBrush(Qt::black);p.setRenderHint(QPainter::Antialiasing);p.drawRoundedRec…

如何设计性能测试用例!一文1000字详解(建议收藏)

性能测试是确保软件应用在各种负载和条件下都能保持良好性能的关键活动&#xff0c;涉及到系统的响应时间&#xff0c;还包括吞吐量、资源利用率、可靠性和系统的可伸缩性。 性能测试用例设计需要对业务需求和系统行为有深刻理解&#xff0c;设计过程涉及确定测试目标、选择相…

Docker应用-自定义网络连接

Docker网络 文章目录 Docker网络网络的基础配置自定义网络网络连通 网络的基础配置 大量的互联网应用服务包括多个服务组件&#xff0c;这往往需要多个容器之间通过网络通信进行互相配合。 目前Docker提供了映射容器端口到宿主机主机和容器互联机制来为容器提供网络服务&…

软件功能测试如何确定测试需求?CMA、CNAS软件测试报告获取

软件功能测试是为了验证软件的功能是否按照设计要求正常工作的过程&#xff0c;可以确保软件的质量&#xff0c;提高用户体验&#xff0c;也是保证软件安全和可靠性的重要一环。我们需要从多个角度对软件的各个功能模块进行测试&#xff0c;确保每个功能都能正常运行&#xff0…