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

开启攻城狮的成长之旅!这是我参与的由 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的应用已覆盖到生活、学习、办公等各个场景中。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Vue3】用Element Plus实现列表界面

🏆今日学习目标:用Element Plus实现列表界面 😃创作者:颜颜yan_ ✨个人格言:生如芥子,心藏须弥 ⏰本期期数:第四期 🎉专栏系列:Vue3 文章目录前言效果图目录简介修改vite…

基于springboot框架实现心理健康心灵治愈交流平台【源码+论文】展示

基于springboot框架实现心灵心理健康 【源码论文】开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Ma…

CSS 7种居中效果实现原理与案例

目录 1.标准盒子居中 2.定位-绝对定位实现居中 3.表格方式实现垂直居中 4.弹性盒子:实现垂直居中 5.通过行高line-height实现垂直居中 6.变形定位实现居中 7.网格实现垂直居中 1.标准盒子居中 不需要设置display,只能实现水平居中 效果&#xff1…

代码随想录算法训练营第五十二天| ● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组

300.最长递增子序列 看完题后的思路 dp[i] [0,i]子数组中,以nums[i]结尾的子序列的长度 dp[i]dp[j]1 j从i-1向0遍历,在所有nums[j]<nums[i]中dp[j]最大 初始化 dp[0]1 代码 class Solution {public int lengthOfLIS(int[] nums) {if (nums.length0){return 0;}int[] dpne…

Gateway服务网关

Spring Cloud Gateway为微服务架构提供一种简单有效的统一的 API 路由管理方式。Gateway网关是所有微服务的统一入口。网关的核心功能特性&#xff1a;请求路由和负载均衡&#xff1a;一切请求都必须先经过gateway&#xff0c;但网关不处理业务&#xff0c;而是根据某种规则&am…

vue3自定义svg图标组件

可参考&#xff1a; 未来必热&#xff1a;SVG Sprites技术介绍 懒人神器&#xff1a;svg-sprite-loader实现自己的Icon组件 在Vue3项目中使用svg-sprite-loader 前置知识 在页面中&#xff0c;虽然可以通过如下的方式使用img标签&#xff0c;来引入svg图标。但是&#xff0c;…

架构的容错性设计

面对程序故障&#xff0c;我们该做些什么 “容错性设计”&#xff08;Design for Failure&#xff09;是微服务的另一个核心原则&#xff0c;也是架构反复强调的开发观念的转变。 流量治理 流量治理所要解决的问题 1.某一个服务的崩溃&#xff0c;会导致所有用到这个服务的…

Unity --- 三维数学 --- Vector类 --- 向量部分

1.注意每一个数字都表示一段有向位移 --- 有方向的距离 1.从尾到头那一段称为向量的模长 --- magnitude (direction对应的是向量的方向) 2.一个向量有大小 -- 模长(magnitude) &#xff0c; 有方向&#xff08;direction&#xff09; 1.向量的模长等于各分量的平方和的平方根…

IO流你了解多少

IO流你了解多少 &#x1f3e0;个人主页&#xff1a;shark-Gao &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是shark-Gao&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f389;目前状况&#xff1a;23届毕业生&#xff0c;目前在某公…

国产化大趋势下学习linux的必要性

由于国际上的一些国家的制裁和威胁。最近几年国产化大趋势慢慢的兴起&#xff0c;我们国产化硬件的需求越来越大。对国产操作系统的需求也越来越多&#xff0c;那么我们一直用的Windows系统为什么不用了呢&#xff1f;众所周知的原因&#xff0c;不管是最新的Windows11还是正值…

【Python入门第三十六天】Python丨文件写入

写入已有文件 如需写入已有的文件&#xff0c;必须向 open() 函数添加参数。 “a” - 追加 - 会追加到文件的末尾“w” - 写入 - 会覆盖任何已有的内容 实例 打开文件 “demofile2.txt” 并将内容追加到文件中&#xff1a; f open("demofile2.txt", "a&qu…

主动学习相关论文、代码

文章目录Object Detection2019Learning Loss for Active LearningAn Adaptive Supervision Framework for Active Learning in Object Detection2021Active Learning for Deep Object Detection via Probabilistic ModelingMultiple Instance Active Learning for Object Detec…

STM32数据搬运工DMA

DMA的概念DMA&#xff0c;全称为&#xff1a;Direct Memory Access&#xff0c;即直接存储器访问。DMA 传输方式无需 CPU 直接控制传输&#xff0c;也没有中断处理方式那样保留现场和恢复现场的过程&#xff0c;通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路&#xff…

Linux进程概念—环境变量

Linux进程概念—环境变量1.孤儿进程2.环境变量2.1常见环境变量2.2查看环境变量方法2.3在环境变量中添加2.4和环境变量相关的命令2.5环境变量的组织方式2.6命令行参数&#x1f31f;&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f;&#x1f31f; &#x1f68…

五分钟带你了解 计算机操作系统——进程与线程(万字详解·图文)

进程线程可以说是操作系统基础&#xff0c;看过很多关于这方面知识的文章都是纯理论讲述&#xff0c;我准备用图解的形式带你学习和掌握进程、线程。文字力求简单明了&#xff0c;对于复杂概念做到一个概念一张图解&#xff0c;在操作系统课程的学习中&#xff0c;很多人对进程…

HTTP/HTTPS协议认识

写在前面 这个博客我们要要讨论的是协议,主要是应用层.今天我们将正式认识HTTP和HTTPS,也要认识序列化和反序列化,内容比较多,但是不难 再谈协议 我们程序员写的一个个解决我们实际问题, 满足我们日常需求的网络程序, 都是在应用层,我们要完成下面三个步骤. sock的使用 定制…

JAVA Session会话 Thymeleaf - 视图模板技术配置步骤

JAVAWebSession会话会话跟踪技术session保存作用域Thymeleaf - 视图模板技术配置过程Session会话 HTTP是无状态的&#xff1a;服务器无法区分这两个请求是同一个客户端发过来的&#xff0c;还是不同的客户端发过来的 现实问题&#xff1a;第一次请求是添加商品到购物车&#x…

STM32外设-定时器详解

0. 概述 本文针对STM32F1系列&#xff0c;主要讲解了其中的8个定时器的原理和功能 1. 定时器分类 STM32F1 系列中&#xff0c;除了互联型的产品&#xff0c;共有 8 个定时器&#xff0c;分为基本定时器&#xff0c;通用定时器和高级定时器基本定时器 TIM6 和 TIM7 是一个 16 位…

Html5版飞机大战游戏中(Boss战)制作

内容在“60行代码&#xff0c;制作飞机大战游戏”的基础上&#xff0c;继续追加入了Boss战的功能。 boss的血量默认设置为100了&#xff0c;可以二次开发调整……(^_^) 玩起来有一定难度哈。 试玩地址&#xff1a;点击试玩 实现功能 添加玩家飞机&#xff0c;并进行控制Boss能…

【AcWing刷题】蓝桥杯专题突破-广度优先搜索-bfs(11)

目录 写在前面&#xff1a; 题目&#xff1a;844. 走迷宫 - AcWing题库 题目描述&#xff1a; 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 解题思路&#xff1a; 代码&#xff1a; AC &#xff01;&#xff01;&#xff…