物联网操作系统概述

简介: 物联网操作系统概述

物联网操作系统发展历史

操作系统概述

操作系统(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进行改良,逐渐从手机扩展到平板电脑和其他领域上。

操作系统变化

image.png

华为物联网操作系统定位

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

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

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

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

初始OpenHarmony

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

超级终端的用户体验

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

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

image.png

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

OpenHarmony的逻辑架构

image.png

系统服务层

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

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

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

框架层

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

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

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

应用层

应用层包括系统应用和扩展/第三方非系统应用。
OpenHarmony的应用分为一个或多个FA(Feature Ability)或PA(Particle Ability)组成。

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

硬件互助,资源共享

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

image.png

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

image.png

分布式逻辑架构

image.png

一次开发,多端部署

OpenHarmony提供了用户程序框架、Ability框架以及UI框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发,多端部署,提升了跨设备应用的开发效率。
采用业界主流设计方式,提供多种响应式布局方案,支持栅格化布局,满足不同屏幕的界面适配能力。
image.png

统一OS,弹性部署

image.png

OpenHarmony应用场景

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

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
6月前
|
Unix C语言
操作系统基础:IO管理概述【上】
操作系统基础:IO管理概述【上】
操作系统基础:IO管理概述【上】
|
6月前
|
数据采集 存储 Ubuntu
Linux操作系统概述
【1月更文挑战第1天】Linux操作系统概述。
88 1
|
6月前
|
存储 调度
操作系统基础:内存管理概述【下】
操作系统基础:内存管理概述【下】
|
6月前
|
算法
操作系统基础:内存管理概述【上】
操作系统基础:内存管理概述【上】
操作系统(3.5)--死锁概述
系统中所拥有的不可抢占性资源其数量不足以满足多个进程运行的需要,使得进程在运行过程中,会因争夺资源而陷入僵局。
91 0
|
Linux Shell Go
《Linux操作系统编程》第四章 屏幕编程器vi : 了解屏幕编辑器vi的概述和基本操作命令
《Linux操作系统编程》第四章 屏幕编程器vi : 了解屏幕编辑器vi的概述和基本操作命令
91 0
|
安全 调度 数据安全/隐私保护
操作系统概述
操作系统是计算机系统中的核心软件之一,它是管理和控制计算机硬件和软件资源的系统软件。操作系统提供了一个统一的接口,使得用户和应用程序可以方便地与计算机系统进行交互。下面将详细介绍操作系统的概述及其功能。 1. 定义:操作系统是一种系统软件,它是计算机系统中的核心组成部分,负责管理和控制计算机硬件和软件资源,为用户和应用程序提供一个统一的接口。 2. 功能:操作系统具有多种功能,包括进程管理、内存管理、文件系统管理、设备管理和用户界面等。 - 进程管理:操作系统负责创建、调度和终止进程,为进程分配资源,控制进程的执行和通信。 - 内存管理:操作系统负责管理计算机的内存资源,包
55 0
|
6月前
|
算法 Shell Linux
操作系统概述
操作系统概述
59 0
|
5月前
|
Python
Python的`os`模块核心功能概述:通过`os.getcwd()`获取
【6月更文挑战第23天】Python的`os`模块核心功能概述:通过`os.getcwd()`获取、`os.chdir()`改变工作目录;使用`os.mkdir()`, `os.makedirs()`创建目录,`os.rmdir()`, `os.removedirs()`删除;`os.rename()`, `os.renames()`重命名文件或目录;`os.remove()`删除文件;`os.listdir()`列出目录内容;`os.path.exists()`, `os.path.isfile()`, `os.path.isdir()`检查路径;`os.stat()`获取文件属性。
89 4
|
4月前
|
Linux 调度
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间

相关产品

  • 物联网平台