初识HarmonyOS

news2024/11/25 2:31:02

文章目录

  • 本章节目标
  • 一、 HarmonyOS简介
    • 初识HarmonyOS
    • HarmonyOS系统定位
    • HarmonyOS典型应用场景
  • 二、HarmonyOS架构与安全
    • 1. HarmonyOS架构解析
      • 内核层
      • 系统服务层
      • 框架层
      • 应用层
      • 应用服务智能分发
    • 2. HarmonyOS系统安全
      • 正确的人
      • 正确的设备
      • 正确地使用数据
  • 三、HarmonyOS关键特性
    • 1. 硬件互助,资源共享
      • 分布式软总线
      • 分布式设备虚拟化
      • 分布式数据管理
      • 分布式任务调度
    • 2.一次开发,多端部署
    • 3. 统一OS,弹性部署
  • 四、HarmonyOS生态
      • HarmonyOS社区运营规划
      • HarmonyOS校园推广
      • 学习推荐
  • 五、本章总结

HarmonyOS是一款面向万物互联时代的、全新的 分布式操作系统。

在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备。

本章为HarmonyOS移动应用开发的第一章内容,主要介绍HarmonyOS分布式操作系统的概念、关键技术能力以及HarmonyOS典型的应用场景。

本章节目标

  • 了解HarmonyOS的相关概念和产品定位;
  • 了解HarmonyOS的技术架构;
  • 了解HarmonyOS的关键特性。

一、 HarmonyOS简介

初识HarmonyOS

HarmonyOS小场景 - 导航信息流转

  • HarmonyOS与地图应用深度融合,实现手机+手表的无缝导航信息流转

    • 讨论:场景中需要实现哪些功能点?

    信息的传递协议:  Wi-Fi、蓝牙、移动网络等;

    信息的精准传递:  设备绑定、信息认证等;

    场景切换的判断:  是否流转的判定条件;

  • HarmonyOS是全场景分布式智慧系统

  • HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。

HarmonyOS系统定位

HarmonyOS是一款面向万物互联的操作系统。

HarmonyOS典型应用场景

HarmonyOS以手机为核心,构建1+8+N全场景应用。

HarmonyOS典型应用场景 - 全新办公模式

PC+手机构建具有强大通信能力、高效人机交互和丰富应用生态的新设备。

HarmonyOS典型应用场景 - 跨设备信息流转

手机到手表跨设备业务流转,开创新的生活方式。

二、HarmonyOS架构与安全

1. HarmonyOS架构解析

HarmonyOS整体遵从分层设计,从下向 上依次为:内核层、系统服务层、框架 层和应用层

系统功能按照“系统 > 子系统 > 功能/ 模块”逐级展开,在多设备部署场景下, 支持根据实际需求裁剪某些非必要的子 系统或功能/模块。

内核层

内核层主要包括内核子系统和驱动子系统两个部分。

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

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

统一驱动框架:驱动与内核解耦,支持运行动态加载,让更多 IoT设备接入超级终端

  • 通过将平台和系统接口进行解耦,来构建统一的驱动平台底座去兼容如Linux、LiteOS等不同内核;
  • 支撑百K级~G级容量的1+8+N设备部署;
  • 根据不同设备形态,支持用户态部署和内核态部署

系统服务层

根据不同设备形态的部署环境,各个子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪

框架层

框架层为HarmonyOS应用开发提供:

  • 用户程序框架:支持Java/C/C++/JS等多种语言;
  • Ability框架:应用所具备能力的抽象;
  • 两种UI框架:适用于Java语言的Java UI框架和适用于JS语言的JS UI框架;
  • 多语言框架API:支持多种软硬件服务对外开放的语言框架。

根据系统的组件化裁剪程度,HarmonyOS设备支持的API也会有所不同。

应用层

应用层包括系统应用和扩展/第三方非系统应用

HarmonyOS的应用分为一个或多个FA(Feature Ability)或PA(Particle Ability)组成。

  • FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的 数据访问抽象。
  • FA在进行用户交互时所需的后台数据访问也需要由对应的PA提供支撑。
  • 基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一 致、高效的应用体验

应用服务智能分发

基于FA/PA构建的新型应用生态,能够实现三方服务跨设备智能分发,提供一致、高效 的用户体验。

2. HarmonyOS系统安全

在搭载HarmonyOS的分布式终端上,可以保证“正确的人,通过正确的设备,正确地使用数据” 。

  • 通过“分布式多端协同身份认证”来保证“正确的人”;

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

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

正确的人

在分布式终端场景下, “正确的人”指通过身份认证的数据访问者和业务操作者。 “正 确的人”是确保用户数据不被非法访问、用户隐私不泄露的前提条件。HarmonyOS通过 以下三个方面来实现协同身份认证: 零信任模型 多因素融合认证 协同互助认证

正确的设备

在分布式终端场景下,只有保证用户使用的设备是安全可靠的,才能保证用户数据在虚拟终端上得到有效保护,避免用户隐私泄露。HarmonyOS通过以下三个方面来确保设备 可靠:

设备证书使用示意图

​ 在必须传输用户的敏感数据(如密钥、加密的生物特征等信息)时,会在使用设备证书 进行安全环境验证后,建立从一个设备的TEE到另一设备的TEE之间的安全通道,实现安 全传输。

正确地使用数据

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

三、HarmonyOS关键特性

1. 硬件互助,资源共享

  • 多种设备之间能够实现硬件互助、资源共享,主要依赖以下四个关键分布式技术。

分布式软总线

分布式软总线是手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基座,为设备之间的互联互通提供了统一的分布式通信能力,为设备之间的无感发现和零等待传输创造了条件。开发者只需聚焦于业务逻辑的实现,无需关注组网方式与底层协议。

不同设备组成超级终端的核心基础能力,无感自组网

自发现&连接

分布式软总线提出自动发现设备,实现用户零等待的自发现体验,附近同账号的设备自动发现无需等待,自动安全连接。

多设备互联、组网

分布式软总线提出了异构网络组网,自动构建一个逻辑全连接网络,以解决设备间不同协议交互的问题

分布式设备虚拟化

  • 分布式设备虚拟化平台可以实现不同设备的资源融合、设备管理、数据处理,多种设备共同形成一个超级虚拟终端
  • 针对不同类型的任务,为用户匹配并选择能力合适的执行硬件,让业务连续地在不同设备间流转, 充分发挥不同设备的能力优势,如显示能力、摄像能力、音频能力、交互能力以及传感器能力等。

分布式数据管理

用户数据不再与单一物理设备绑定,业务逻辑与数据存储分离,跨设备的数据处理如同本地数据处理一样方便快捷,让开发者能够轻松实现全场景、多设备下的数据存储、共 享和访问,为打造一致、流畅的用户体验创造了基础条件。

分布式任务调度

分布式任务调度基于分布式软总线、分布式数据管理、分布式Profile等技术特性,构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远 程启动、远程调用、远程连接以及迁移等操作,能够根据不同设备的能力、位置、业务 运行状态、资源使用情况,以及用户的习惯和意图,选择合适的设备运行分布式任务。

多设备信息融合,体验智能化健身模式

2.一次开发,多端部署

  • HarmonyOS提供了用户程序框架、Ability框架以及UI框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发,多端部署,提升了跨设备应用的开发效率。

  • 采用业界主流设计方式,提供多种响应式布局方案,支持栅格化布局,满足不同屏幕的界面适配能力。

3. 统一OS,弹性部署

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

  • 支持各组件的选择(组件可有可无):
    • 根据硬件的形态和需求,可以选择所需的组件。
  • 支持组件内功能集的配置(组件可大可小):
    • 根据硬件的资源情况和功能需求,可以选择配置组件中的功能集。例如,选择配置图形框架组件中的部分控件。
  • 支持组件间依赖的关联(平台可大可小):
    • 根据编译链关系,可以自动生成组件化的依赖关系。例如,选择图形框架组件,将会自动选择依赖的图形引擎组件等

四、HarmonyOS生态

HarmonyOS社区运营规划

20220111180951

HarmonyOS校园推广

教育部产学合作计划:武汉大学,华中科技大学,…

HarmonyOS创新训练营:上海交大,天津大学,…

华为ICT大赛:百校种子计划

华为千校万里行-HarmonyOS系列师资培训 …

学习推荐

HarmonyOS官网社区: https://www.harmonyos.com/cn/home/

HarmonyOS应用开发文档: https://developer.harmonyos.com/cn/home/

HarmonyOS设备开发文档: https://device.harmonyos.com/cn/home/

OpenHarmony开源地址: https://gitee.com/openharmony

华为人才在线: https://e.huawei.com/cn/talent/#

五、本章总结

本章讲述了HarmonyOS的相关概念,介绍了HarmonyOS的设计理念和技术架 构,了解了HarmonyOS全场景系统的关键特性,帮助大家认识全新的“面向未来”的HarmonyOS操作系统

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

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

相关文章

M1 MacOS下安卓虚拟化的最佳方案

categories: [VM] tags: MacOS VM 写在前面 一直想在桌面环境虚拟化安卓app, 但是看网上的推荐一直感觉不合胃口, 不是要花钱就是有广告, 想着找找开源的实现, 后来发现还是 Google 自家的产品用着舒服. 安装与配置 brew install android-studio然后随便开一个项目, 选默认…

JavaWeb-Filter

一、概念 Filter:过滤器,JavaWeb三大组件(Servlet,Filter,Listener)之一。作用是把对资源的请求拦截下来,从而实现一些特殊的功能。一般完成一些通用的操作,比如:权限控…

[全连接神经网络]Transformer代餐,用MLP构建图像处理网络

一、MLP-Mixer 使用纯MLP处理图像信息,其原理类似vit,将图片进行分块(patch)后展平(fallten),然后输入到MLP中。理论上MLP等价于1x1卷积,但实际上1x1卷积仅能结合通道信息而不能结合空间信息。根据结合的信息不同分为channel-mixi…

移动机器人规划 - 基于采样的路径搜索

0 预备知识 基于采样的规划器: (1)不要试图显示地构造C空间及其边界 (2)只需要简单的机器人配置是否发生碰撞 (3)利用简单的碰撞测试,充分了解空间 (4)碰撞检…

UKP3d的管道编辑

山西这家用户在使用UKP3d时,提出以下问题: 1、stp导入的模型怎么测量距离;另外需要把某一个点移动至原点坐标,这个怎么操作呢? 回复:dist(主要是捕捉点,推荐使用(开启精…

Cortex-M3/M4内核NVIC及HAL库函数详解(4):使用HAL库配置外部中断

0 工具准备 Keil uVision5 Cortex M3权威指南(中文) Cortex M3与M4权威指南 stm32f407的HAL库工程 STM32F4xx中文参考手册 1 使用HAL库配置外部中断 前面我们已经熟悉了有关内核部分的寄存器配置,接下来我们结合stm32f407的GPIO外设&#xf…

深耕文档型数据库12载,SequoiaDB再开源

1月15日,巨杉数据库举行SequoiaDB新特性及开源项目发布活动。本次活动回顾了巨杉数据库深耕JSON文档型数据库12年的发展历程与技术演进,全面解读了SequoiaDB包括在高可用、安全、实时、易用性四个方向的技术特性,宣布了2024年面向技术社区的开…

toolz,一个无敌的 Python 库!

更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个无敌的 Python 库 - toolz。 Github地址:https://github.com/pytoolz/toolz Python是一种多用途的编程语言,具备广泛的库和框架,以支持各种编程范式&#x…

SSD硬盘数据恢复工具哪个强?分享五款好用的SSD硬盘数据恢复软件

固态硬盘 (SSD) 是数据存储领域真正的奇迹。SSD 没有机械部件,具有类似激光的读写速度,在笔记本电脑、游戏机和超级计算机中非常受欢迎。 然而,数据删除问题仍然很突出。如果您不小心删除了 SSD 中的关键数据怎么办? 5 款最佳 SS…

Python 类变量和实例变量详解

更多资料获取 📚 个人网站:ipengtao.com 在Python中,变量分为类变量和实例变量两种类型,它们有着不同的作用范围和生命周期。理解这两种变量类型的区别对于面向对象编程非常重要。本文将详细介绍Python中的类变量和实例变量&…

SATA驱动中FIS命令处理(详细)流程附代码和协议解析

目录 一、简介二、命令处理详细流程2.1 总体过程总结2.2 内存布局2.2.1 具体内存分配规则2.2.2 具体命令填充2.2.3 命令触发流程2.2.4 其他注意事项 三、其他相关链接1、SATA模块之HBA卡开发总结(一)2、SATA信息传输FIS结构总结3、PCIe物理层总结-PCIE专…

Vue2移动端项目使用$router.go(-1)不生效问题记录

目录 1、this.$router.go(-1) 改成 this.$router.back() 2、存储 from.path,使用 this.$router.push 3、hash模式中使用h5新增的onhashchange事件做hack处理 4、this.$router.go(-1) 之前添加一个 replace 方法 问题背景 : 在 Vue2 的一个移动端开发…

快速入门:使用 Gemini Embeddings 和 Elasticsearch 进行向量搜索

Gemini 是 Google DeepMind 开发的多模态大语言模型家族,作为 LaMDA 和 PaLM 2 的后继者。由 Gemini Ultra、Gemini Pro 和 Gemini Nano 组成,于 2023 年 12 月 6 日发布,定位为 OpenAI 的竞争者 GPT-4。 本教程演示如何使用 Gemini API 创建…

万界星空科技免费MES/开源MES/功能齐全,支持低代码大屏

目前国内智能制造如火如荼,工厂信息化、数字化是大趋势。如果找到一个工厂,搞定一个老板,搞软件的朋友就能吃几年。 开源软件不失为一条路子,大量的服务商选择开源MES做出了低成本的项目,收入也还可以。 今天介绍Git…

Linux 驱动开发基础知识——认识LED驱动程序 (二)

个人名片: 🦁作者简介:一名喜欢分享和记录学习的在校大学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:V…

文件处理的重定义,dup2函数

目录 1.了解dup2函数的参数意义 2.举例子了解dup2函数 3.在模拟shell中加入> , >> , < 的指令 4.stdout和stderr的区别 1.了解dup2函数的参数意义 C中系统调用接口中的open-CSDN博客 可以在我上面的博客中了解到&#xff0c;文件其实是被进程以数组的形式存储…

空间解析几何在激光雷达的定位和测距中的应用

空间解析几何是一种数学工具&#xff0c;用于描述和分析空间中的几何关系。空间解析几何在激光雷达的定位和测距中起着重要的作用&#xff0c;在激光雷达的定位和测距中&#xff0c;空间解析几何可以帮助我们理解和计算激光雷达与目标物体之间的几何关系&#xff0c;通过描述和…

k8s的包管理工具helm

Helm是什么? 之前的这篇文章介绍了一开始接触k8s的时候接触到的几个命令工具 kubectl&kubelet&rancher&helm&kubeadm这几个命令行工具是什么关系&#xff1f;-CSDN博客 Helm 是一个用于管理和部署 Kubernetes 应用程序的包管理工具。它允许用户定义、安装和…

protobuf-Java使用.md

protobuf 环境配置 1、安装编译器 下载地址 直接解压缩。 2、配置环境变量 环境变量Path 中增加安装目录的路径 3、检查是否配置成功 protoc Usage: protoc [OPTION] PROTO_FILES Parse PROTO_FILES and generate output based on the options given:-IPATH, --proto_pa…

关于程序员的未来的这件事情,我是这么看的!

关于程序员的未来在哪里&#xff1f;很多想做程序员以及已经入坑的程序员都想知道&#xff0c;我作为一名工龄超过12年的资深大龄程序员&#xff0c;我其实也想知道&#xff0c;我也没办法确定程序员的未来在哪里。 或者我也不知道&#xff0c;为什么互联网当初招聘那么多的程…