物联网操作系统介绍

简介: 物联网操作系统介绍

开发者学习笔记【阿里云物联网助理工程师认证(ACA)物联网操作系统介绍

课程地址:https://edu.aliyun.com/course/3112060/lesson/18988

物联网操作系统介绍

 

课程目标

学完本节课程之后,你将能够了解

1. 物联网操作系统的线段。

2. 了解物联网操作系统的架构及特点。

 

一、物联网操作系统介绍


屏蔽物联网碎片化特征

碎片化:现在接入物联网的硬件设备种类繁多,配置各种各样,应用领域差异很大,他们的内存从小到只有几k的内存的低端机到有数百兆内存的高端智能设备,这样的一些低端单片结合高端智能设备,它们的配置是不一样的。有些能够支持互联网连接,有些只能靠外接的网络通信模块才能够进行通信。


那么我们传统的操作系统无法适应这种“光谱”的硬件环境。比较通用的解决方法是在低端配置的单片机里面,我们可以采用嵌入式操作系统。


根据具体的配置环境,我们将系统的内核进行裁剪,只保留需要的那一部分,尽量降低操作系统对硬件资源的要求,满足在特定生产生活环境下的需求。


高端配置的设备,我们可以采用Linux等通用操作系统。另外由于架构的不一样,无法统一提供的编程接口和编程环境。在A类机器上编写好的程序放到B类机器上它可能就运行不了。

综上,不同配置的硬件设备也需要不同的操作系统,即使是同一类型的设备,在不同的环境上面使用的同一个操作系统,它的内核配置也是不一样的。


另外无法提供统一的编程接口和编程环境,这就是我们现在所说的物联网碎片化的特征。正是由于这种碎片化的特征牵制了物联网的发展和壮大,每出一种设备或者不同的应用环境,你就需要一个不一样的操作系统去适配它。


解决这个问题我们可以通过统一的抽象和建模,这个抽象是对不同的底层硬件和功能部件进行抽象。

抽象出一个一个的通用模型,这些通用模型对上层提供统一的编程接口,屏蔽物理硬件的差异。

就是说我们拿到设备之后,我们只需要调用它提供给我们的编程接口,实现功能办法编写即可,具体的代码执行由抽象层进行处理,我们不需要去关心这个机器上的这个硬件和另外一个机器上的硬件有什么差异。就比如我们筛选大小不一样的橘子的时候,如果我们每一个橘子都认真的去筛选是很费时费力的。


但是如果有个机器,它内部对不同大小的橘子有相应的筛选硬件,那么我们对橘子进行筛选的时候,我们就直接把橘子能给这个硬件就可以了,他只需要提供我们一个橘子道路的接口,我们直接使用它这个接口,把橘子倒进去就行,至于它底层是如何来筛选橘子,我们就不需要管了,这样就加快了工作的效率。


同理,他有了这样的一个抽象层,我们只需要使用它提供给我们的接口,实现功能代码的编写即可,不需要知道功能代码在它底层具体是如何来实现的。这个就是我们通过统一的抽象和建模来在一定程度上解决物联网碎片化。


那么我们有了一个统一的互联网操作系统,或者说解决了这种碎片化特征的互联网操作系统,它有什么好处。


第一:互联网生态环境的培育,它可以拉通物联网产业的上下游,比如培育物联网硬件开发;物联网系统软件开发;物联网应用软件开发;物联网业务运营;网络运营;物联网数据挖掘等分离的商业生态环境,为物联网的大力发展建立基础。

有了这样的一个统一的互联网操作系统,那么相应的物联网硬件开发也可以根据这个操作系统去适配,去研发。系统软件,应用软件,业务运营的都可以在这个系统上进行研发和运营。

第二:降低物联网应用开发的成本和时间,我们有了这样的一个通用型的物联网操作系统,它就相当于一个公共的业务开发平台,我们一些互联网基础组建的开发和应用开发环境它都有。这样就减少了开发人员在搭建开发环境的时间消耗,降低了物联网应用开发的开发时间和开发成本等。

第三:为物联网统一管理奠定基础。

理想型的物联网操作系统,那么我们把它分为五层。

第一层:物联网硬件平台,它包括终端传感器,转化器,就是一些硬件相关的东西,有温湿度传感器,超声波传感器,红外线传感器,各种数据转换的数据接口等等。

第二层:物联网操作系统内核,这个呢是物联网操作系统的核心,在商城是物联网操作系统的外围功能模块,比如一些驱动网络,复兴界面等等。

第三层:机身的开发环境,开发人员可以在急诊的开放环境里面直接进行开发。

第五层:物联网行业的一些应用软件,你可以把它理解为像我们Windows你安装了一些office软件,图形图像查看软件,视频软件等。也就是说这个物联网行业应用呢是安装在这个系统上面的,都能解决物联网的相关需求。

图片270.png

理想型的物联网操作系统每一层的特点:

第一个特点:内核尺寸伸缩性强,能够适应不同配置的硬件平台

比如极端的情况下,内核尺寸必须维持在10k以内,已制成内存和CPU性能都很受限的传感器,这个时候内核具备基本的任务调度和通信功能即可,其他的功能我们都可以把它裁剪掉。

在另外一种配置比较好的机器上,那么我们可以让内核具备完善的线程调度,内存管理,本地存储,复杂的网络协议,图形用户界面等不能来满足高配置的智能物联网终端的要求,这种多功能内核占用的空间大小可能要达到几百k甚至召集。那么我们如何来实现这种内核尺寸伸缩性可以通过两个层面的措施来实现。

第一个是重新编译;第二个是二进制模块选择加载。

重新编译是根据不同的应用目标选择所需要的功能模块,然后对内核进行重新编译即可,这种方式一般应用于内核性质非常深的情况下,如要求内核的尺寸达到10k以下的场合,进制模块选择加载是在对内核地区不是很深入的情况,这个时候我们只需要维持一个操作系统配置的文件,在文件里面列举操作系统需要加载的模块,内核初始化后根据配置的文加载所需要的二进制模块,这个时候我们可能还需要一些外部存储器,比如硬盘,优盘等等,你存储要加载的二进制模块。


第二个特点:实时性必须足够强,以满足关键应用的需要

大多数的物联网设备要求操作系统内核具备实时性。因为很多关键性的动作必须在有限的时间内完成,否则将失去意义。


比如我们火警报警系统,地震预警系统等等,内核的实时性一般是两个方面。

第一个方面是中断响应的事实其实也还行,一旦外部发生操作系统必须在足够短的时间内响应中断并做出处理。


第二个是任务或者线程调度的实时性,一旦任务或线程所需要的资源或进一步运行的条件准备就绪,必须能够马上得到调度。


比如当我们物联网设备遭遇病毒侵害时,那么物联网操作系统安全防护程序就必须马上得到调度,而不是等到其程序进行完了之后再去调动这个安全程序那么这种调度方式是抢占式的调度方式。所以一些基于非抢占式的调度方式的内核很难满足这些实时性的要求。


第三个特点:架构可扩展性强。

因为技术是日益发展的,要处理的问题也不是一成不变的。如果我们内核架构不能够扩展,就不能处理新的生产问题,满足不了社会生产的需求.


我们可以将操作系统的内核设计成一个框架,框架里面定一些接口和规范,只要遵循这些接口和规范,就可以在操作系统内核增加新的功能,新的硬件支持。


另外一个可以将内核设计成一个基于总线或者树结构的设备管理机制,可以动态的加载设备驱动程序或其他核心模块,同时可以将内核设计具备外部二线制模块或应用程序的动态加载功能。

这些应用程序或模块存储在外部介质上,无需修改内核需要适应新的应用环境时,我们只需要将开发好的新的应用程序或二进制模块放到外部介质上,再由操作系统去加载就可以满足新的环境的行业要。


第四个特点:内核应足够安全和可靠。

物联网应用环境一般具有自动化程度高,人为干预少的特点。这就要求内核必须足够可靠,已支持长时间的独立运行,安全对互联网来说是非常关键的甚至关系到一个国家的命脉。

比如一个不安全的内核被应用到国家电网控制中,一旦被外部侵入造成的影响就无法估量。所以为为了加强安全性,操作系统内核应该支持内存保护,异常管理机制等,在必要的时候隔离有害的代码。另外一个方式是可以不开放源码或者不开放关键部分的内核源码。


第五个特点:节能省电,以支持足够的电源续航能力。

可以在CPU空闲的时候降低CPU的运行频率或者关闭CPU对于周边设备如果他进入空闲状态,我们可以将它切换到省电模式运行。

还有一种节能省电的方式是在满足当前生产环境的前提下,最大程度降低中断发生的频率,比如在不影响实时性的情况下,可以把系统的时钟频率调到最低。以上几点就是操作系统内核的特点。

接下来我们来看一下操作系统外围模块的特点


外围模块的特点

第一个特点:支持操作系统核心设备驱动程序或应用程序等的远程升级。

物联网操作系统设备成千上万,甚至上亿,如果每一个设备上的操作系统,它的核心驱动程序或者应用程序都需要我们工作人员现场进行升级,这无疑是一个巨大的人力消耗。

那如果他能够支持远程升级,我们只需要把新的文件交由升级程序实现远程升级即可,就比如我们微软操作系统,我们并没有看到微软的工作人员来对我们Windows操作系统进行升级,它的升级都是远程升级的。


第二个特点:支持常用的文件系统和外部存储

比如支持FAT 32,NTFS等文件系统,支持硬盘U盘等常用的外部设备。

比如在网络连接中断的情况下,你采集到的数据可以临时性的存放到这些外部后面网络恢复之后再将这些数据上传到数据中心。


第三个特点:支持远程配置,远程诊断,远程管理等维护功能

这些功能不仅包括我们常见的一些远程操作特性,比如远程修改设备参数,远程查看运行信息等。

还可以包含更深层的远程操作,比如远程查看操作系统内核状态,远程调试线程或任务一长时远程内核状态等功能。


第四个特点:支持完善的网络功能

支持完善的网络功能是指支持完善的tcp IP协议站,包括对IPv4,IPV6的同时支持。这个协议站最好是能够具备灵活的伸缩性,能够进行长一点,以适应不同的生产环境,另外支持完善的网络功能,也应该支持丰富的IP比如netCT,netTP等协议以适用智能终端和高安全可靠的应用场所。


第五个特点:对物联网常用的无线通信功能要内置支持

无线通信:一般是GPS,蜂窝网。蜂窝网,比如2G,3G,4G等这些公共网络的无线通讯功能,当然我们还需要支持这个 NFC等通讯功能,支持w等桌面网络接口功能。

最重要的一点是它能够支持从一种通信协议获得到的数据转换成另外一种协议的报文发送出去。比如你这个b采集到的数据,我需要通过蜂窝网发送出去,那么他们之间就需要对数据进行一个转换。

因为这个对于数据的封装和蜂窝网数据的封装它是不一样的,他们对数据封装的协议是不一样的,你从B到蜂窝网,那么你就需要将数据从B协议封端的数据转换成蜂窝网协议相关的数据,此外还应支持短信的接收和发送,语音通信,视频通信等功能,当然这些功能都应该可以支持裁决以适应不同的应用场所。


第六个特点:支持XML文件解析功能

因为物联网行业它的广度是非常大的,不同行业之间,甚至同行业不同的领域之间,他们使用的物联网设备是千奇百怪的,数据的封装方式,通讯方式也是不一样的。

如果我们需要将这些数据实现共享,这就存在非常严重的信息共享壁垒,就比如每个国家说的话都不一样,那么我们如何来共享信息。

我们现在的一种方式是大家都学习英语,或者说大家都学习中文,我们把每一个地区国家的数据翻译成英文或者中文,这样大家都能够看得懂,就可以实现信息共享。

同理,不同行业获得不同领域的的物联网设备数据都使用XML进行表示,就可以很轻松的完成不同行业的数据共享。


第七个特点是支持完善的GUI功能

GUI功能其实是我们图形用户界面,一般用在物联网的智能终端上,用于完成用户和设备的交互。

GUI模块应该与操作系统内核分离,最好是支持二进制的动态加载功能,其实我们的操作系统需要它的时候,我们就把它加载起来,不需要它的时候,我们就不需要加载它。


第八个特点:支持从外部存储介质中动态加载应用程序

从外部存储介质中动态加载应用程序,这样做的一个好处是操作系统能够动态的从外部存储介质上按照生产环境需要加载应用程序,这就使得整个操作系统具备非常强大的扩展功能。


物联网操作系统集成开发环境的特点

第一个特点:提供丰富灵活的API

这些API能够支持多种语言进行程序开发,比如支持CC++,JAVA拍摄等。


第二个特点:提供SDK集成开发环境

提供集成开发环境,主要可以从两方面入手。

第一方面是提供现已有的集成开发环境,比如 eclipse,vision studio 等等。

第二个方面是提供与物联网行业深度定制的一个集成开发环境。


第三个特点:包含相应的开发调试工具

比如应用程序,下载工具,远程调试工具等,支撑整个开发过程。

以上就是物联网操作系统开发环境的特点

从我们刚才对物联网操作系统每一层特点的讲解中可以看出,不管是物联网操作系统内核还是外围中的模块,还是集成开发环境,它都是支撑平台。

支撑更上一层的行业应用,行业应用是最终产生生产力的软件,但是物联网操作系统是行业应用得以茁壮成长和长期有效生存的基础,只有具备了强大灵活的物联网操作系统,物联网这棵大树才能结出丰硕的果实。

 

本节知识总结

1.物联网碎片化特征

2.物联网操作系统的作用

3.互联网操作系统的架构及架构每部分的特点

 

本节课的随堂思考

1.什么是互联网碎片化特征?

物联网碎片化特征包括两部分,一个是不同档次的互联网设备,它支持的操作系统不一样导致产生了各种各样的操作系统。

第二个是由于硬件和操作系统价格的不一样,导致它开发环境也不一样,这就是物联网碎片化特征。


2. 如何来解决物联网这边化特征?

我们是通过统一的抽象和建模对不同的底层硬件和功能部件进行抽象,抽象图一个一个的通用模型然后对上层提供统一的编程接口来屏蔽物理硬件上的差异,在一定程度上解决物联网碎片化特征。


3. 常见的物联网操作系统外围模块有哪些?

常见的物联网操作系统外围模块有:有支持操作系统,核心设备驱动程序和应用程序等的远程升级模块,还有支持常用的文件系统和外部存储模块,支持远程配置,远程诊断,远程管理等维护的这样的一个远程操作模块,还有一些网络模块,插面文件解析模块,GUI模块,以及从外部存储介质中动态加载应用程序的模块。

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
2月前
|
人工智能 安全 搜索推荐
未来智能手机操作系统的发展趋势
在过去几十年里,智能手机操作系统一直处于不断发展和演变的过程中。从最初的简单功能到如今的强大生态系统,智能手机操作系统已经成为人们日常生活和工作中不可或缺的一部分。本文将探讨未来智能手机操作系统的发展趋势,包括人工智能、增强现实、安全性和用户体验等方面的创新和突破。
|
2月前
|
机器学习/深度学习 Ubuntu vr&ar
探索智能手机操作系统的未来发展趋势
【2月更文挑战第5天】 随着智能手机的普及和功能不断提升,操作系统作为其核心组成部分也在不断演变。本文将探讨智能手机操作系统的发展历程、当前热门的操作系统类型以及未来可能的发展方向,带您深入了解智能手机操作系统的技术前沿。
59 4
|
1月前
|
传感器 物联网 Linux
物联网设备的操作系统之争:Linux vs RTOS
【6月更文挑战第4天】在遥远的数码星球,物联网城中的Linux先生与RTOS小姐展开激烈角逐,分别在操作系统领域各显神通。Linux先生以其开源、兼容性强、功能丰富占据服务器、桌面及嵌入式设备市场,适合处理复杂任务和需要强大计算能力的设备。而RTOS小姐以实时性、高效响应和低资源占用见长,适用于资源有限、强调实时性的物联网设备。设备制造商在两者间抉择,引发物联网设备操作系统的选择大战。通过Python与FreeRTOS示例,展现了两者在智能家居和生产线控制等场景的应用。在物联网世界,Linux与RTOS共同推动设备智能化,为生活带来更多便捷。
70 3
|
20天前
|
人工智能 安全 vr&ar
探索未来智能手机操作系统的发展趋势
本文将从技术角度探讨智能手机操作系统未来的发展趋势,分析安卓和iOS在人工智能、虚拟现实、物联网等领域的应用,展望未来智能手机操作系统的创新方向。
9 0
|
20天前
|
人工智能 vr&ar Android开发
探索智能手机操作系统的未来发展
本文将探讨智能手机操作系统的未来发展方向,重点关注安卓和iOS两大主流系统,并分析其技术特点、发展趋势以及对用户体验的影响。同时,还将探讨人工智能、虚拟现实等新兴技术对操作系统的应用,并展望未来智能手机操作系统的创新可能性。
11 0
|
Web App开发 安全 物联网
常见物联网操作系统介绍
物联网操作系统是运行在物联网设备上的提供物物相连能力的操作系统,其核心在于能够将各种物体连接到互联网,并提供数据通信能力。
3205 1
|
2月前
|
搜索推荐 Android开发 iOS开发
探索智能手机操作系统的发展趋势
本文将探讨智能手机操作系统的发展趋势,以及安卓和iOS两大主流操作系统的特点和未来发展方向。通过分析当前技术趋势和市场需求,探讨智能手机操作系统在人工智能、安全性、用户体验等方面的创新和发展。
|
8月前
|
安全 物联网 Linux
车载操作系统的物联网应用
车载操作系统的物联网应用
126 0
|
Cloud Native 物联网 数据库
操作系统能实现国产替代吗?智能终端操作系统大调查
操作系统能实现国产替代吗?智能终端操作系统大调查
116 0
|
Web App开发 安全 网络协议
常见物联网操作系统介绍|学习笔记
快速学习常见物联网操作系统介绍。
280 0
常见物联网操作系统介绍|学习笔记

热门文章

最新文章