| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> HarmonyOS应用系统开发(一)——鸿蒙概述 -> 正文阅读 |
|
[嵌入式]HarmonyOS应用系统开发(一)——鸿蒙概述 |
? ? ? ? 关注华为鸿蒙系统好久了,看了鸿蒙发布会、也看了很多鸿蒙的科普文章,深深的被鸿蒙的特性和未来应用吸引。鸿蒙的特性和优点有非常多,如果用一句话来概括:让万物活起来充满想象;如果用两句话来概括:鸿蒙实现了各种设备的虚拟化,通过软总线实现了设备的互联和数据同步。用更多的话来描述鸿蒙:万物互连,全场景,分布式,微内核,软总线。。。 ? ? ? ? 接下来就参考华为鸿蒙官网专业的介绍一下到底什么是HarmonyOS。以上的一句、两句概率纯属一家理解之言。 1、HarmonyOS概述1.1HarmonyOS的定位????????HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力 1.2HarmonyOS的三大特征? ? ? ? 1)使用者:多设备融为一体——形成超级终端,硬件设备可以弹性扩展、设备互助、资源共享(比如手机可以用电脑、电视屏幕,来弥补手机屏幕太小); ? ? ? ? 具体到使用者而言,能快速实现设备互联(碰一碰)、能力互助,并能提供流畅的体验(流畅很重要,是智能的第一步,是消费者愿意使用的前提,也是鸿蒙厉害的地方——数据不延迟)。 ? ? ? ? 2)应用开发者:一次开发,多终端部署 ? ? ? ? 具体而言HarmonyOS通过分布式技术,屏蔽不同终端差异,让开发之关注应用、高效开发。 ? ? ? ? 3)硬件开发者:统一操作系统,弹性部署 ? ? ? ? HarmonyOS采用组件化的设计,硬件开发者可以根据设备特性、设备需求对操作系统进行裁剪安装——一个OS,按需求任意弹性部署,这种特性让HarmonyOS支持小到路由器、烤箱,大到电视、手机、车机都可以部署。 ? ? ? ? HarmonyOS支持多种开发语言:Java、XML、C/C++、JavaScript、CSS、HML(HarmonyOS Markup Language)。 1.3 HarmonyOS技术架构?????????HarmonyOS由四部分构成:内核层、服务层、框架层、应用层 ????????1)内核层 ? ? ? ? 一)、多内核设计,可裁剪选择适应不同设备;通过内核抽象层(KAL,Kernel Abstract Layer)屏蔽设备内核差异,对外提供线程管理、内存管理、文件系统、网络管理和外部设备。 ? ? ? ? 二)、驱动子系统,硬件驱动框架(HDF,Hard Driver Framework),对外统一外访能力、驱动开发、管理框架。 ? ? ? ? 2)系统服务 ? ? ? ? 一)、基本能力子系统,为分布式应用,提供运行、调度、迁移等提供能力,由分布式软总线、数据管理、任务调度、方舟多语言、公共基础库、多模输入、图形、安全、Ai等子系统组成。 ? ? ? ? 二)、基础软件服务子系统,提供公共、通用服务,如事件、电话、多媒体、DFX、Dv等组成 ? ? ? ? 三)、硬件服务子系统,为HarmonyOS提供硬件服务,如位置服务、生物特征识别、穿戴、IoT硬件服务等子系统组成。 ? ? ? ? 根据不同设备可以对以上三个系统选择性安装,而且支持对内部按功能更细粒度的裁剪。 ? ? ? ? 3)框架层 ? ? ? ? 为HarmonyIS提供多语言程序框架和Ability框架、两种UI(Java UI、适用于JS/TS的方舟开发框架)、软硬件对外API。同样框架层支持任意裁剪、组合。 ? ? ? ? 4)应用层(包含系统应用和第三方应用) ? ? ? ? HarmonyOS的应用有一个FA(Feature Ability)或PA(Particle Ability)组成,PA有界面与用户交互,PA无界面提供后台运行任务以及统一数据访问抽象。PA为FA提供支撑 ? ? ? ? 如下图视频通话功能(有界面,属于FA),通话的同时使用了摄像头采集(PA1)、视频美颜处理(PA2)、超级夜景能力(PA3),三者共同支撑了视频通话这个功能且没有界面。 ? ? ? ? FA、PA可以按需下载安装,按需组合分发。 ? ? ? ? 比如电视只有视频采集,只需要安装PA1即可;同时支持夸设备调度、分发,让一个设备具备利用另一个设备的能力。 ?1.4 HarmonyOS关键特性?1.4.1硬件互助、资源共享????????多种设备之间能够实现硬件互助、资源共享,依赖的关键技术包括四大技术:分布式软总线、分布式设备虚拟化、分布式数据库管理、分布式任务调度等。 ? ? ? ? 1)分布式软总线(构建设备连接通道,解决设备间通信问题) ????????分布式软总线是手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基座,为设备之间的互联互通提供了统一的分布式通信能力,为设备之间的无感发现和零等待传输创造了条件。开发者只需聚焦于业务逻辑的实现,无需关注组网方式与底层协议。 ? ? ? ? 要很好的理解分布式软总线,得先解释一下总线,他是一个传统计算机硬件中的一个概念。 ? ? ? ? 总线,英文名Bus,在传统计算机中总线是一种内部结构,它是CPU、内存、输入、输出设备间传递信息的公共通道,主机各个设备以及外部设备通过总线链接,从而形成了计算机硬件系统。总线可以划分为数据总线、地址总线、控制总线,分别用来传输数据、数据地址、控制信号。具备特点:即插即用、高带宽、低延时、高可靠、标准。 ? ? ? ? 现在再来看分布式总线,就是构建不同设备之间通信的总线。现实中中不同设备可能涉及蓝牙链接、WiFi链接,华为通过构建软件总线屏蔽设备之间的差异,把开发者从底层解脱出来,集中于上层应用,可以说分布式软总线是所有开发和应用的基础。华为通过分布式软总线解决了以下几个核心问题:
? ? ? ?解决以上核心问题,就为不同设备间构建了高效、低延时、高可靠的通信基础。下图是HarmonyOS官方分布式软总线架构图,总线中枢解决连接+异构组网问题,任务和数据总线解决传输问题;同样类比过来和我们理解的硬件总线之间的通信有异曲同工之妙,但华为更厉害的地方在于,计算机都是标准接口、标准通信设备,而Harmony面对的是不同的设备、不同的接口、动态的环境。 ? ? ? ?以上总线内容参考了《鸿蒙OS尖刀武器之分布式总线技术全解析》,感兴趣的可以更详细的去看一下:鸿蒙 OS 尖刀武器之分布式软总线技术全解析!_CSDN资讯-CSDN博客 ? ? ? ? 2)分布式虚拟化设备 ? ? ? ? 将各个组网设备虚拟化,实现不同设备之间资源融合、管理、数据处理统一调度,所有的设备就像一个统一的超级虚拟终端。让不同设备根据用户的需求自由调度,发挥各自优势。 ? ? ? ? 比如只能用手机视频通话,可以通过设备虚拟化,通过音箱传输声音,电视展示内容,电视摄像头采集数据,你就可以在方便里边做家务边聊天。 ? ? ? ? 3)分布式数据管理 ? ? ? ? 这里就不能理解了,基于分布式软总线,解决应用程序数据和用户数据分布式管理,实现用户数据、业务逻辑、数据存储夸设备,随处流转。 ? ? ? ? 亲自体验过的,手机一碰链接电脑,点击手机上的Word,直接Windows的office打开,编辑完毕以后手机上的数据也被编辑了。 ????????这点觉得特别厉害,以前一直以为是电脑端复制了一份手机端的Word而已,就很难保障任务同步、数据同步;这点保障了夸设备任务继续的可能,比如你去某一个地方:正在车上导航,下车需要继续走,超级终端发现你远离了车辆,就立马从车载导航切换到手机不行导航,这才是真正的“以人为本”。 ? ? ? ? 4)分布式任务调度 ? ? ? ? 基于分布式软总线、分布式数据管理、分布式Profile等技术特性,构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远程启动、远程调用、远程连接以及迁移等操作,能够根据不同设备的能力、位置、业务运行状态、资源使用情况,以及用户的习惯和意图,选择合适的设备运行分布式任务。 1.4.2 一次开发,多终端部署1.4.3 统一OS,弹性部署? ? ? ? HarmonyOS通过组件化和小型化设计,能够适配不同类型的设备和需求,支持:
文章参考学习鸿蒙官方文档:? ?鸿蒙官方文档中心 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 8:22:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |