【致敬未来的攻城狮计划】连续打卡第4天+物联网操作系统概述

article/2023/6/4 15:07:51

开启攻城狮的成长之旅!这是我参与的由 CSDN博客专家 架构师李肯(http://yyds.recan-li.cn)和 瑞萨MCU (https://www.renesas.cn/cn/zh) 联合发起的「 致敬未来的攻城狮计划 」的第 4 天,点击查看活动计划详情 (https://bbs.csdn.net/topics/613916237)!

目前在学的课是华为云的,因此对华为的介绍较多。

课程安排前面是理论,因此目前笔记内容这方面也占的多。


物联网操作系统发展历史

操作系统概述

操作系统(Operating System)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理:管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

从计算机用户的角度来说,计算机操作系统体现为其提供的各项服务。

从程序员的角度来说,其主要是指用户登录的界面或者接口。

从设计人员的角度来说,就是指各式各样模块和单元之间的联系。

命令行界面交互

伴随着个人主机和个人终端的出现,打字机键盘解决了人机交互文字输入的问题,衍生出基于命令行界面交互的终端操作系统。如:

  • DOS:微软公司开发的单任务操作系统,运行在Intel x86个人电脑上,是早期个人电脑中最普遍使用的操作系统。
  • Linux:一个多用户、多人的操作系统,有各类发行版。Linux发行版可作为个人计算机的操作系统,同时在服务器领域也已经成为主流操作系统。

图形界面交互

随着PC终端的普及,鼠标的出现解决了图形界面的交互问题,衍生出各种桌面终端操作系统。如:

  • mac OS:mac OS是一套运行于苹果Macintosh系列电脑上的操作系统,它包含两个主要的部分:以BSD原始代码和Mach微核心为基础构建的Darwin核心系统;苹果开发的图形用户界面。
  • Windows:微软公司开发的多任务的操作系统,采用图形窗口界面,用户对计算机的各种复杂操作只需通过点击鼠标就可以实现。

移动互联网操作系统

伴随着具备强大计算能力、丰富外接器件和高度便携性设备的普及,触摸屏输入问题的解决,衍生出各种移动互联网操作系统。如:

  • IOS:Apple公司开发的手持设备操作系统。IOS与mac OS类似也是以Darwin为基础的类Unix商业操作系统,2010年WWDC苹果全球开发者大会上由起初的iPhoneOS改名为IOS。
  • Android:一种基于Linux的开源操作系统,主要应用于便携设备。Android操作系统最初由Andy Rubin开发,2005年被Google收购。Google通过组建开放手机联盟,持续对Android进行改良,逐渐从手机扩展到平板电脑和其他领域上。

操作系统变化

华为物联网操作系统定位

万物互联时代终端用户面临的挑战:

  • 体验不一致:手机上丰富的应用无法在其他终端上使用。
  • 体验不连续:视频播放无法跨设备迁移,进度不同步。
  • 硬件互割裂:手机无法使用车机上的GPS进行辅助定位。
  • 内容不协同:手机的地图信息无法与车机的地图协同使用。

开发者开发应用面临的挑战:

  • 多操作系统
  • 多设备类型
  • 多语言开发
  • 开发复杂UI/UX
  • 代码库维护
  • 数据源集成

初始OpenHarmony

  • OpenHarmony是由开放原子开源基金会孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。
  • OpenHarmony的基本设计理念是在个人设备多样性场景下,突破单设备的能力局限,加速信息在设备间顺畅的流动,向用户提供完整、一致和便携的分布式体验。
  • OpenHarmony需要天生具备系统级的分布式能力,能适应各种终端设备,能为用户提供一致化的用户体验。
  • 在传统的单设备系统能力基础上,OpenHarmony提出了基于同一套系统能力,适配多种终端形态的分布式理念,能够支持多种终端设备,提供全场景业务能力。

超级终端的用户体验

  • OpenHarmony旨在为用户提供超级终端体验。
  • 超级终端是相对于传统的单一终端而言的,包含了多种类型的终端,通过软件技术将他们整合在一起,给用户的感觉就像“一个终端”一样。
  • 传统的单机系统提供了对插接在物理主板的硬件设备进行管理的能力,而超级终端不再依赖于物理接口的连接,其管理的是通过网络连接在一起的物理设备。
  • 超级终端:全新的交互体验,不再受制于硬件。

OpenHarmony超级终端涉及的设备范围

华为物联网操作系统技术架构

OpenHarmony的逻辑架构

系统服务层

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

  • 内核子系统:OpenHarmony采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括:进程/线程管理、内存管理、文件系统、网络管理和外设管理等。
  • 驱动子系统:硬件驱动框架(HDF)是OpenHarmony硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。

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

框架层

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

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

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

应用层

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

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

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

硬件互助,资源共享

分布式特性给用户带来全新的使用体验:服务迁移和多端协同。

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

分布式逻辑架构

一次开发,多端部署

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

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

统一OS,弹性部署

OpenHarmony应用场景

OpenHarmony的应用已覆盖到生活、学习、办公等各个场景中。

http://www.ngui.cc/article/show-1007631.html

相关文章

hastcat

hashcat 下载地址: https://hashcat.net/hashcat/ 案例 Usage: hashcat [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]...https://xz.aliyun.com/t/4008破解linux shadow /etc/shadow中密码格式: $id$salt$encrypted如:$1$2eWq10AC$NaQqalCk3 1表…

ssm+vue在线课程培训系统java

在线培训系统的需求和管理上的不断提升,在线培训系统的潜力将无限扩大,在线培训系统在业界被广泛关注,本网站及对此进行总体分析,将在线培训系统信息管理的发展提供学校的管理帮助更大。 根据现有的模块,除管理员对系统…

docker安装Redis高可用(一主二从三哨兵)

本次教程使用docker swarm安装 准备三台机器 hostIP用途node1192.168.31.130redis-master01,redis哨兵节点01node2192.168.31.131redis-slave01, redis哨兵节点02node3192.168.31.132redis-slave02 redis哨兵节点02 注意事项: 1:需要保证三…

(数字图像处理MATLAB+Python)第二章数字图像处理基础-第二节:色度学基础与颜色模型

文章目录一:颜色匹配二:CIE 1931-RGB系统三:CIE 1931标准色度系统四:CIE 1976Lab均匀颜色空间五:孟塞尔表色系统(1)孟塞尔明度(Value,记为V)(2)孟塞尔彩度(Ch…

Linq使用where sql in (...)

List<int?> 机构编号数组 new List<int?>();var begin new DateTime(year, 1, 1);var end begin.AddYears(1);IQueryable<DtoReport健康体检表> Q_健康体检表 es.jktjEntitys.Where(m > m.体检日期 > begin && m.体检日期 < end).Whe…

linux 产生随机数 并遍历

1、产生随机数 varRANDOMvarRANDOM varRANDOMvar[ $var % 150 ] 2、产生不重复的随机数 $ entries($(shuf -i 0-149 -n 15)) $ echo “${entries[]}” 3、对随机数排序 $ entries($(shuf -i 0-149 -n 15 | sort -n)) $ echo “entries[]"12224549546678798393118119124140…

Vue的:key用法及示例

在 Vue 中&#xff0c;使用 v-for 指令循环遍历数组或对象时&#xff0c;每个子元素都需要绑定一个唯一的 key 值&#xff0c;用于标识这个子元素。我们可以使用 :key 属性来绑定这个 key 值。例如&#xff1a; <div v-for"item in itemList" :key"item.id&…

开发过程中遇到的关于flask的相关问题(flask入门教程,flask CORS跨域访问、base64解码为图像、PIL、CV2和bytes之间格式转换)

1、flask入门上手教程 我主要目的是快速开发&#xff0c;因此学习flask是随便找的一个教程跟着做了下&#xff0c;而没有系统地学习&#xff0c;大概差不多了就去按自己需求进行开发了。 以下是我跟的一个简单教程&#xff0c;讲述了如何快速部署一个简单的python服务器&…

“全球首款旗舰”填补行业空白,两轮电动车技术创新为何只看绿源?

作者 | 曾响铃 文 | 响铃说 乒乓作为我们的“国球”&#xff0c;在数不清的体育赛事里书写辉煌战绩&#xff0c;也进一步被国人熟知、热爱。更难能可贵的是“国球”精神&#xff1a;“别人可能练了一千次&#xff0c;而我们却练了一万次”&#xff0c;冠军品质&#xff0c;奋…

java--基于XML或者注解AOP

1、基于动态代理实现 动态代理实现基本方式&#xff1a;https://blog.csdn.net/qq_34577961/article/details/128162372 2、面向切面AOP 2.1、基本步骤思路 1、引入依赖 基本依赖配置https://blog.csdn.net/qq_34577961/article/details/129152040?csdn_share_tail%7B%22…