物联网(IoT)是目前最新最热的技术热点之一,也是这个信息化时代的重要发展节点。相对于互联网而言,物联网的本质在于“万物相连”。物联网的核心和基础仍然是互联网,是在互联网基础上延伸和扩展的网络;其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。

物联网操作系统概述:

尽管物联网的发展形态受到普遍看好和关注,但是“连接、区别、识别、沟通、操作”这五大问题一直如影随形,可以说只有这些问题得到很好的解决和兼顾,才能继续应对安全性、易用性、低成本等问题。在互联网“人与人”之间的信息交换和共享基础上,进一步扩展实现“物与物”“人与物”之间的信息交换和共享。

在这样的大背景下,我们发现物联网操作系统与传统的个人计算机操作系统和智能手机类操作系统不同,它具备物联网应用领域内的以下特点:

1、内核尺寸伸缩性以及整体架构的可扩展性。

物联网的发展即将进入一个小的爆发期,所以面对一轮轮的技术革新甚至换代时,整体架构的灵活性和可扩展性可以说决定了一个企业的商业命脉。同时,为了适应不同的应用场景下的技术要求,内核尺寸的伸缩性也是需要面对的问题。

2、内核的实时性。

对于非抢占式调度方式的内核很难满足关键性动作的实时性要求,比如常见的中断响应和多任务调度等情况下,操作系统的实时性便有了更高的要求,特别是对于大多数的物联网应用而言,有意义的响应时间决定了市场的接受度。

3、高可靠性。

在物联网的应用环境下,面对海量节点可以说设备一经投入使用,就很难再去维护。所以平均无故障运行时间和在一些严苛环境下的性能表现就显得尤为重要。而在一向很注重信息安全的机密机构的数据安全性,引发了业内关于开源机制、VMM机制等的广泛讨论。

4、低功耗。

由于物联网的应用场景和网络节点的数量增多,低功耗是一个非常关键的指标。所以在整体架构设计的时候,就需要加入一些休眠模式、节能模式、降频模式等逻辑判断,以延长续航能力。

物联网操作系统整体架构和功能:

在最低层的硬件平台之上,有物联网操作系统内核和外围功能模块,加上集成开发环境,这些子系统之间相互配合,共同组成一个完整的面向各种各样物联网应用场景的软件基础平台,一起支撑了物联网的具体应用。

从图中对比上文提到的物联网操作系统抽象架构,可以发现RT-Thread包括了:

1、底层移植、驱动层,这层与硬件密切相关,由Drivers和CPU移植相构成。

2、硬实时内核,这层是RT-Thread的核心,包括了内核系统中对象的实现,例如多线程及其调度,信号量,邮箱,消息队列,内存管理,定时器等实现。

3、组件层,这些是基于RT-Thread核心基础上的外围组件,例如文件系统,命令行shell接口,lwIP轻型TCP/IP协议栈,GUI图形引擎等。

Ostro Linux

英特尔这款基于Yocto  Project的操作系统Ostro Linux符合IoTivity,支持众多的无线技术,还提供一种传感器框架。它非常注重物联网安全,提供操作系统、设备、应用程序和数据等层面的保护,包括加密和MAC。

在上图的整体架构中,值得一提的是:

1、编程接口:编程接口是Ostro提供给应用程序开发者使用的,用于开发各种各样的物联网应用程序。当前来说,Ostro提供了多种多样的编程接口供程序员根据自己的喜好和特定应用场景调用。

2、物联网协同框架:Ostro内置了对IoTivity的支持。IoTivity 是一个开源的软件框架,用于无缝的支持设备到设备的互联,以及人与设备的简便互联。其主要是为了满足物联网开发的需要,构建物联网的生态系统,使得设备和设备之间可以安全可靠的连接。而IoTivity 通过提供一系列框架和服务来加速设备的互联应用开发。该项目由 Open Interconnect Consortium (OIC) 组织赞助,相当于是 OIC 标准的一个参考实现。

3、Ostro服务:Ostro服务主要是指系统级的一些进程或线程,这些进程或线程负责管理网络连接,加载必要的支撑服务,以及提供进程间通信(IPC)支持等。在Ostro操作系统中,保留了大部分Linux操作系统所支持的systemd,D-Bus等。

华为LiteOS

身为中国物联网技术尤其是NB-IoT的先驱,华为在物联网操作系统上也大有作为。其发布的基于Linux的LiteOS甚至是目前世界上最轻量级的物联网操作系统,其系统体积轻巧到 10KB 级,具备零配置、自组网、跨平台的能力,可广泛应用于智能家居、穿戴式、车联网、工业等领域。

LiteOS应用广泛,从基于MCU的设备,到与安卓兼容的应用程序处理系统,不一而足。这款可定制的操作系统拥有诸多功能,比如零配置、自动发现、自动联网、快速启动和实时操作,它提供广泛的无线支持,包括LTE和网状网络。LiteOS随华为的敏捷物联网解决方案交付,它驱动窄带物联网(NB-IoT)解决方案

中兴物联网操作系统

既然提到了华为,那么顺便说一下在2016年中兴提出的物联网操作系统方案。

当时宣称的亮点包括:

1、连接——操作系统集成常见的网络协议栈(TCP/IP、ZigBee、蓝牙、WiFi等);

2、远程管控和简易配置——操作系统集成设备管理协议(典型的是LWM2M),使得通过管理平台,可以对不同厂商的智能硬件设备进行统一的管理;

3、沟通和互操作——操作系统通过集成设备互联互通框架(典型的是AllJoyn精简核心库),能够在物和物之间进行沟通和互操作;云端的管理和操作使得物与物、物和人之间的互联互通不再是障碍;

4、在线开发调试——通过中兴CDSP云平台(Cloud Development & Support Platform),支持物联网OS软件的在线开发、编译和调试,还可以通过CDSP云平台对终端设备在线升级;实现多种厂商终端设备的支持。

结语

目前物联网操作系统的市场情况是:十几种物联网操作系统都处在发展初期,产业链生态环境对此并未做出积极反映,目前还很少看到和听到国内外企业在使用某种物联网操作系统的信息。同时,开源Linux和RT操作系统还是主流,活跃在物联网市场。

操作系统是物联网时代的战略制高点,今天PC和手机时代的操作系统霸主未必能在物联网时代延续霸业。操作系统产业的规律是:当垄断已经形成,后来者就很难颠覆,只有等待下一次产业浪潮。如今,一个全新的、充满想象空间的操作系统市场机会正在开启。

IOT---(3)深入解析物联网操作系统(架构、功能与实例分析)相关推荐

  1. IOT(29)---深入解析物联网操作系统(架构/功能/实例分析)

    深入解析物联网操作系统(架构/功能/实例分析)  1.       物联网的主要特点 i.             连接 所谓连接,指的是各种各样的终端设备,都能够通过某种网络技术,连接到一个统一 ...

  2. 深入解析物联网操作系统(架构/功能/实例分析)

    深入解析物联网操作系统(架构/功能/实例分析)  物联网的主要特点 i. 连接 所谓连接,指的是各种各样的终端设备,都能够通过某种网络技术,连接到一个统一的网络上.任何终端之间都可以相互访问.下一 ...

  3. 操作系统笔记——Linux系统实例分析、Windows系统实例分析

    文章目录 传送门 Linux进程管理 Linux进程组成 Linux进程链表 Linux进程控制 用户进程创建与撤销 0,1,2号进程 Linux进程切换 Linux进程调度 内核同步 Linux储存 ...

  4. IOT(30)---庆科物联网平台架构分析

    庆科物联网平台架构分析 之前在介绍国内物联网平台的发展时曾经说到,物联网有两个发展路径,一是云端服务商选择和设备厂商合作推出完整解决方案,如阿里物联.微信硬件等等:二是模组设备厂商选择和云厂商合作并后 ...

  5. 【华为云技术分享】小熊派IoT开发板华为物联网操作系统LiteOS内核实战教程01-IoT-Studio介绍及安装

    1. 物联网一站式开发工具 -- IoT Studio IoT Studio 是支持 LiteOS 嵌入式系统软件开发的工具,提供了代码编辑.编译.烧录 及调试等一站式开发体验,支持 C.C++.汇编 ...

  6. MyBatis的架构设计以及实例分析--转

    原文地址:http://blog.csdn.net/luanlouis/article/details/40422941 MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单 ...

  7. mybatis 传入id_想深入理解MyBatis架构及原理实例分析 把握这些就够了

    前言 MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单.优雅.本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询 ...

  8. 《深入理解mybatis原理》 MyBatis的架构设计以及实例分析

    MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单.优雅.本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例, ...

  9. php 购物车案例教程,php初步实现购物车功能的实例分析

    在我们日常开发工作中,我们很多的时候都是在跟开发商城,购物类的一些网站,那么既然是购物类的网站,购物车这个功能那是必不可少的,这个功能的复杂性还是比较大的,那么我们今天给大家介绍的是初步完成购物车的实 ...

最新文章

  1. Science评论:量子计算目前最大的挑战,在0和1之间
  2. python读取内存和空闲内存
  3. qemu交叉编译arm内核_arm qemu (1) 内核启动调试环境搭建
  4. C#StreamWriter的操作解析
  5. MySql错误1045 Access denied for user 'root'@'localhost' (using password:YES)
  6. .net Core 3 preview 3试用 WPF,winform桌面开发
  7. java 集合 总结 表_java-集合总结
  8. 计算机竞赛CCC可以直接学吗,2019 CCC 加拿大计算机竞赛
  9. android实现半透明属性,Activity透明/半透明效果的设置transparent(两种实现方法)
  10. maven No plugin found for prefix ‘G‘ in the current project and in the plugin groups
  11. ThoughtWorks.QRCode功能齐全的二维码开发工具
  12. 2021 写博客指南·万字长文警告
  13. linux如何将百分比转换为数字,Linux_sql 自定义百分比转换小数函数代码,复制代码 代码如下: --CAST 和 CO - phpStudy...
  14. 红帽子Linux7安装Oracle,RedHat Enterprise Linux7.0安装Oracle 12C
  15. APP软件测试点着重详解
  16. 利用NEO与Unity制作游戏(第2部分)
  17. 子查询及其分类(标量子查询+列子查询+行子查询+表子查询)
  18. java curl 使用方法_如何在Java中使用这个cURL POST请求?(Spotify API)
  19. 客客威客短信接口修改(kppw) 配置
  20. C# 8.0核心技术指南

热门文章

  1. [设计模式] - Proxy代理模式
  2. Cookie 、Session、Token理解以及常见问题总结
  3. vue 使用了浏览器的刷新之后报错_Electron-vue运行之后出现了文件浏览器
  4. android 进程有时间片运行,kernel笔记——进程调度
  5. oracle怎么删除存储,删除Oracle分区存储是一个怎样的过程?
  6. 力扣908.最小差值Ⅰ
  7. POS tagging中英文对应
  8. 前端读者 | CSS三角形和饼图
  9. Android Studio 复制粘贴图片到drawable文件夹没有效果 - 解决方法
  10. Field+offset(len)