HarmonyOS鸿蒙学习基础篇 - 什么是HarmonyOS

news2024/11/18 16:43:49

概述

     HarmonyOS是华为开发的一款面向未来的全场景分布式智慧操作系统,将逐步覆盖1+8+N全场景终端设备;

     对消费者而言

     HarmonyOS用一个‘统一的软件系统’ 从根本上解决消费者面对大量智能终端体验割裂的问题,为消费者带来同意便利安全的智慧化全场景体验;

     对开发者而言

      HarmonyOS通过多种分布式技术。真核不同终端硬件能力,形成一个虚拟的‘超级终端’ ,应用开发者可基于‘超级终端’开发应用,聚焦上层业务逻辑 ,不需要考虑硬件差异,设备开发者可以按需调用其他终端能力,带来基于‘超级终端’的创新服务体验;

    HarmonyOS作为一款面向未来的崭新操作系统,必将在万物互联,万物智能的全联接世界中,发挥至关重要的作用,

HarmonyOS系统架构

   HarmonyOS采用分层架构,一共四层,从上向下依次为:内核层,系统服务层,框架层和应用层,系统功能按照“系统>子系统>功能/模块”逐级展开,支持根据实际需求裁剪某些必要的字系统或功能/模块;

   内核子系统:

    HarmonyOS采用多内核设计,支持针对不同资源受限设备,选用适合的OS内核,为上层提供基础操作系统能力;

   驱动子系统:

   硬件驱动框架(HDE)是HarmonyOS硬件生态开放的基础提供同意外设访问能力和驱动开发管理框架;

   系统基础服务层:

   是HarmonyOS的核心能力集合,包括适用于各类设备的基础能力以及面向特定设备的专有能力,涵盖系统基本能力子系统集,基础软件服务子系统集,增强软件服务子系统集。硬件服务子系统集,根据不同设备形态的部署环境,基础软件/增强软件/硬件服务子系统集内部可以按子系统粒度裁剪,子系统内部还可按功能粒度裁剪;

   框架层:

    为HarmonyOS应用开发提供了Java/C/C++/JS等多语言的用户程序框架和Ability框架两种UI框架(包括适用于Java语言的Java UI框架,使用于JS语言的JS UI框架),以及各种软硬件服务对外开放的多语言框架API,根据系统的组件化裁剪层度,HarmonyOS设备支持的API也会有所不同;

   应用层:

    支持基于框架层实现业务逻辑的原子化开发,构建以FA/PA为基础组成单元的应用(包括系统应用和第三方应用)FAV/PA是HarmonyOS应用的基本组成单元,能够实现特定的业务功能,一个应用可以包含一个或多个FA/PA。FA有UI界面,PA无UI界面。例如,一个视频通话应用,“视频通话主界面FA”提供UI界面以便于用户交互,“PA1”进行摄像头视频采集,“PA2”进行视频美颜处理,“PA3”提供超级夜景能力,FA/PA可以按需下载、加载和运行,基于FA/PA构建的新型应用生态,能够实现三方服务跨设备智能分发,提供一致,高效的用户体验,当手机下载该应用时,将同时拥有主界面FA,摄像头视频采集PA、视频美颜处理PA、超级夜景PA,当智慧屏下载该应用时,如果智慧屏不支持美颜、超级夜景,则会仅下载主界面FA、摄像头视频采集PA

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

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

相关文章

使用 Python 创造你自己的计算机游戏(游戏编程快速上手)第四版:第十五章到第十八章

十五、反转棋游戏 原文:inventwithpython.com/invent4thed/chapter15.html 译者:飞龙 协议:CC BY-NC-SA 4.0 在本章中,我们将制作反转棋,也称为黑白棋或奥赛罗。这个双人棋盘游戏是在网格上进行的,因此我们…

【Qt5】QString的成员函数trimmed

2024年1月19日,周五下午 QString 的 trimmed 方法是用于移除字符串两端的空白字符(空格、制表符、换行符等)的方法。它返回一个新的字符串,该字符串是原始字符串去除两端空白后的结果。 下面是一个简单的示例: #incl…

【Linux 内核源码分析】堆内存管理

堆 堆是一种动态分配内存的数据结构,用于存储和管理动态分配的对象。它是一块连续的内存空间,用于存储程序运行时动态申请的内存。 堆可以被看作是一个由各个内存块组成的堆栈,其中每个内存块都有一个地址指针,指向下一个内存块…

实体类(VO,DO,DTO)的划分

实体类(VO,DO,DTO)的划分 什么是“实体类” 实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。实体类有两方面内容…

51单片机8*8点阵屏

8*8点阵屏 8*8点阵屏是一种LED显示屏,它由8行和8列的LED灯组成。每个LED灯的开闭状态都可以独立控制,从而可以显示出数字、字母、符号、图形等信息。 8*8点阵屏的原理是通过行列扫描的方式,控制LED灯的亮灭,从而显示出所需的图案或…

使用MySQL建立外键约束时,报错3780的问题分析,和解决办法

今天在用语句给两个表建立外键约束时,报了3780的错误–具体描述如下: 大概意思就是或说,主表和从表的create_use 和 user_id 两个字段这不兼容 经过一顿分析之后发现,是因为这两个表的这两列数据类型不一样 解决办法–修改表中…

毫米波雷达4D点云生成(基于实测数据)

本期文章分享TI毫米波雷达实测4D点云生成的代码,包含距离、速度、水平角度、俯仰角度,可用于日常学习。 处理流程包含:数据读取和解析、MTI、距离估计、速度估计、非相干累积、2D-CFAR、水平角估计、俯仰角估计、点云生成、坐标转换等内容。…

【大数据Hive】hive 行列转换使用详解

目录 一、前言 二、使用场景介绍 2.1 使用场景1 2.2 使用场景2 三、多行转多列 3.1 case when 函数 语法一 语法二 操作演示 3.2 多行转多列操作演示 四、多行转单列 4.1 concat函数 语法 4.2 concat_ws函数 语法 4.3 collect_list函数 语法 4.4 collect_set函…

数据结构之二叉树的性质与存储结构

数据结构之二叉树的性质与存储结构 1、二叉树的性质2、二叉树的存储结构 数据结构是程序设计的重要基础,它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从问题出发,分析和研究计算机加工的数据的特性,…

谁说知识库都是英文的 今天就来一个中文版的

1.安装 1.1创建目录 mkdir -p /opt/trilium-cn cd /opt/trilium-cn 1.2.编写docker-compose.yml文件 version: 3 services:trilium-cn:image: nriver/trilium-cnrestart: alwaysports:- "10012:8080"volumes:# 把同文件夹下的 trilium-data 目录映射到容器内- /opt…

5 python快速上手

数据类型(上) 1.整型1.1 定义1.2 独有功能1.3 公共功能1.4 转换1.5 其他1.5.1 长整型1.5.2 地板除 2. 布尔类型2.1 定义2.2 独有功能2.3 公共功能2.4 转换2.5 其他2.5.1 做条件自动转换 3.字符串类型3.1 定义3.2 独有功能(18/48)练…

SpringBoot教程(十五) | SpringBoot集成RabbitMq

SpringBoot教程(十五) | SpringBoot集成RabbitMq RabbitMq是我们在开发过程中经常会使用的一种消息队列。今天我们来研究研究rabbitMq的使用。 rabbitMq的官网: rabbitmq.com/ rabbitMq的安装这里先略过,因为我尝试了几次都失败了,后面等我…

【数据结构】详谈队列的顺序存储及C语言实现

循环队列及其基本操作的C语言实现 前言一、队列的顺序存储1.1 队尾指针与队头指针1.2 基本操作实现的底层逻辑1.2.1 队列的创建与销毁1.2.2 队列的增加与删除1.2.3 队列的判空与判满1.2.4 逻辑的局限性 二、循环队列2.1 循环队列的实现逻辑一2.2 循环队列的实现逻辑二2.3 循环队…

西瓜书读书笔记整理(十二) —— 第十二章 计算学习理论

第十二章 计算学习理论(上) 12.1 基础知识12.1.1 什么是计算学习理论(computational learning theory)12.1.2 什么是独立同分布(independent and identically distributed, 简称 i . i . d . i.i.d. i.i.d.&#xff0…

USRP相关报错解决办法

文章目录 前言一、本地环境二、相关报错信息二、解决办法1、更换电脑操作系统2、升级最新版固件 前言 在进行 USRP 开发时遇到了一些报错,这里做个记录解决问题的方法。 一、本地环境 电脑操作系统:Windows11MATLAB 版本:MATLAB 2021aUSRP …

JVM:Java类加载机制

Java类加载机制的全过程: 加载、验证、准备、初始化和卸载这五个阶段的顺序是确定的,类型的加载过程必须按照这种顺序按部就班地开始,而解析阶段则不一定:它在某些情况下可以在初始化阶段之后再开始, 这是为了支持Java…

竞赛保研 机器视觉 opencv 深度学习 驾驶人脸疲劳检测系统 -python

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.2 打哈欠检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 🔥 优质竞赛项目系列&#x…

CSS明显比XPATH更性感!CSS再学一点儿

在selenium应用,CSS比XPATH更性感 To style an element, Front end developers need to locate the element first and then apply styling rules. It looks like this: #logo{ color: white; background: black; }That CSS snippet says, apply color and backgro…

深入探索 Android 中的 Runtime

深入探索 Android 中的 Runtime 一、什么是 Runtime二、Android 中的 Runtime 类型2.1. Dalvik Runtime2.2. ART(Android Runtime) 三、Runtime 的作用和特点3.1. 应用程序执行环境3.2. 跨平台支持3.3. 性能优化3.4. 应用程序优化 四、与应用开发相关的重…

Unity3D学习之Unity基础——3D数学

文章目录 1. 前言2 Mathf和Math基础2.1 一般用于只计算一次的函数2.1.1 PI Π PI2.1.2 取绝对值 Abs2.1.3 向上取整 CeilToInt2.1.4 向下取整 FloorToInt2.1.5 钳制函数 Clamp2.1.6 获取最大值 Max2.1.7 获取最小值 Min2.1.8 一个数的n次幂 Pow2.1.9 四舍五入 RoundToInt2.1.10…