【摘要】 本文主要对于目前物联网操作系统的定义以及主要特点进行了分析,最后介绍了几个常见的物联网操作系统。

1简介

提到操作系统,可能首先想到的就是苹果操作系统,windows,Linux,Unix,Android,IOS等,显然目前比较为人熟知的操作系统基本都是一些手机或者电脑端的操作系统。而随着互联网技术的不断发展,硬件的体积越来越小,物联网技术也迎来了爆棚式的发展。物理网不同于 互联网的不同在于后者更关注的是人与人的互联,而前者是更加强调人与物,物与物的连接,从而实现万物互联(IOT)。显然传统的嵌入式操作系统已然无法满足如今飞速发展的物联网的需求,因此针对物理网应用的操作系统也就应运而生。据统计全球物联网系统至少有几十种,甚至上百种。

2 什么是物联网操作系统

物联网大致可分为终端应用层、网络层(进一步分为网络接入层和核心层)、设备管理层、后台应用层等四个层次。其中最能体现物联网特征的,就是物联网的终端应用层。终端应用层由各种各样的传感器、协议转换网关、通信网关、智能终端、POS机、智能卡等终端设备组成。这些终端大部分都是具备计算能力的微型计算机。物联网操作系统,就是运行在这些终端上,对终端进行控制和管理,并提供统一编程接口的操作系统软件。其实简单来讲物理网操作系统就是一种满足物联网需求的服务软件平台。

3 物联网操作系统的主要特点

3.1 内核尺寸伸缩性强以及整体架构的可扩展性

物联网操作系统的内核,应该设计成一个框架,这个框架定义了一些接口和规范,只要遵循这些接口和规范,就可以很容易的在操作系统内核上增加新的功能的新的硬件支持。简单来讲就是随着物联网应用功能需求的增多或减少,操作系统可以根据不同场景下的技术要求在原有简单内核基础之上进行扩展同时增加内核尺寸以实现对于上述需求的满足。

3.2 实时性

实时性要求系统能对外部事件在规定时间内进行处理,因为很多的关键性动作,必须在有限的时间内完成,否则将失去意义。如中断响应的实时性,一旦外部中断发生,操作系统必须在足够短的时间内响应中断并做出处理。其次线程或任务调度的实时性,一旦任务或线程所需的资源或进一步运行的条件准备就绪,必须能够马上得到调度。即任务调度需要支持抢占式优先级调度。

3.3安全性和可靠性

安全性和可靠性是一个系统的基本需求,首先物联网应用环境具备自动化程度高、人为干预少的特点,这要求内核必须足够可靠,以支撑长时间的独立运行。其次操作系统的安全性和稳定性与物联网设备的安全性和稳定性密切相关。

3.4低功耗

物联网设备本身具有体积小,独立性强等特点,因此电源的供电至关重要,因此需要系统实现低功耗节能省电,以支持足够的电源续航能力。如系统采用加入休眠模式实现节能。

4 几种常见的物联网操作系统

4.1 Huawei LiteOS

4.1.1简介

LiteOS是华为在2015年发布的一款面向IoT领域,遵循BSD-3开源许可协议、构建的的开源的轻量级的物联网操作系统,其大小为10KB。具备零配置、自发现和自组网能力,让使用 LiteOS 的物联终端能够自动接入支持的网络。目前LiteOS可广泛应用于智能家居、个人穿戴、车联网、城市公共服务、制造业等领域,开发门槛低上手快、设备布置以及维护成本低、开发周期短使得硬件开发更为简单。

4.1.2 LiteOS内核的特点

(1)超小内核。

(2)高实时性,高稳定性。

(3)低功耗。

(4)支持功能静态裁剪。

(5)支持动态加载、分散加载。

与正常的操作系统内核一样,包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器等操作系统基础组件,可以单独运行,内核部分可以参考。

https://github.com/LiteOS/LiteOS/blob/master/doc/Huawei_LiteOS_Developer_Guide_zh.md。

4.1.3 LiteOS SDK

LiteOS SDK 是 Huawei LiteOS 软件开发工具包(Software Development Kit),包括端云互通组件,FOTA,JS引擎、传感器框架等内容。

4.2 RT-Thread

4.2.1 简介

RT-Thread 是一款完全由国内团队开发维护的嵌入式实时操作系统(RTOS),具有完全的自主知识产权。它是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务,允许多个任务同时运行并不意味着处理器在同一时刻真地执行了多个任务。

4.2.2 特点

C 语言编写,浅显易懂,方便移植。它把面向对象的设计方法应用到实时系统设计中,使得代码风格优雅、架构清晰、系统模块化并且可裁剪性非常好。RT-Thread 体积小,成本低,功耗低、启动快速,除此以外 RT-Thread 还具有实时性高、占用资源小等特点,非常适用于各种资源受限(如成本、功耗限制等)的场合。架构图如下。

4.3 FreeRTOS

4.3.1 简介

FreeRTOS创始人是Richard Barry,它是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。

4.3.2 特点

用户可配置内核功能、多平台的支持、目标代码小,简单易用强大的执行跟踪功能、堆栈溢出检测、没有限制的任务数量和任务优先级,多个任务可以分配相同的优先权、队列,二进制信号量,计数信号灯和递归通信和同步的任务、优先级继承。

5总结

目前常用的操作系统有很多,每一款操作系统都具有各自的特点,但是大体功能较为相似,需要用户根据自己的需求进行选择。

点击查看→更多IoT技术分享

作者:星辰27

【华为云技术分享】漫谈LIteOS-物联网操作系统介绍相关推荐

  1. 【华为云技术分享】盘点物联网常用开发板

    摘要:本文主要介绍物联网中目前较为常用的几款开发板,简单介绍一下各自的特点,希望对你有所帮助. 1 引言 众所周知开发板是物联网架构中的感知层智能设备,这类设备通常有芯片.通信模组.以及操作系统组成. ...

  2. 【华为云技术分享】LiteOS无法直接烧录或者烧录失败解决方法--ST-Link

    前提条件:程序编译成功,并且电脑上已经安装ST-Link驱动,你使用的仿真器也是ST-Link. 上图黑色的是J-Link,下图紫色的是ST-Link,本教程适用于ST-Link,如果是J-Link, ...

  3. 【华为云技术分享】三大前端技术(React,Vue,Angular)探密(下)

    [华为云技术分享]三大前端技术(React,Vue,Angular)探密(上) [Angular] Angular(通常被称为 "Angular 2+"或 "Angula ...

  4. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 1

    前言 以互联网为代表的信息技术的迅猛发展对整个经济体系产生了巨大的影响.信息技术的发展一方面使知识的积累和传播更加迅速,知识爆炸性的增长:另一方面,使信息的获取变得越来越容易,信息交流的强度逐渐增加, ...

  5. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 3

    4. 微观层面 4.1 个体动机 在开源软件发展之初, 商业组织的投入很少甚至没有, 完全是靠Richard Stallman 或者 linus Torvalds 这样的个人在努力推动开源软件艰难前行 ...

  6. 【华为云技术分享】直播回顾丨激发数据裂变新动能,HDC.Cloud云数据库前沿技术解读

    3月24日14:00-17:00,HDC.Cloud开发者沙龙系列云数据库专场直播线上开启,此次华为云数据库通过三场直播从NoSQL数据库新技术.数据库迁移.行业解决方案等方面对云端数据库进行深度解读 ...

  7. 【华为云技术分享】敏捷开发落地不实际?原因可能在于你的 IDE 工具

    对于企业来说,效率就是一切.开发效率的工程化建设已经开始被各大企业提到技术管理日程中.而且现阶段,无论是框架也好.模板也好,目的都是在为提升代码开发效率而努力.随着云计算的深入,端 + 云的开发模式以 ...

  8. 【华为云技术分享】一行代码就能写一个日志打印组件,你信吗?为你揭晓LiteOS中日志打印组件的核心

    1. 做实验引发的思考 在学习LiteOS日志打印组件使用的时候,我记录了一篇博客:atiny_log | LiteOS 物联网操作系统中的日志打印组件使用分享,关于实验的具体内容,请阅读这篇博客. ...

  9. 【华为云技术分享】解析:物联网数据分析服务如何做?

    [摘要] 物联网设备正在产生大量的数据,如何为开发者提供简单有效的数据分析服务,简化开发过程,提升开发效率,让IoT数据快速变现是一个摆在我们面前的问题. 没有疑问,我们已经身处物联网时代了,每天都有 ...

  10. 【华为云技术分享】玩转华为物联网IoTDA服务系列三-自动售货机销售分析场景示例

    [摘要] 通过收集自动售货机系统的销售数据,EI数据分析售货销量状况. 场景简介 通过收集自动售货机系统的销售数据,EI数据分析售货销量状况. 该场景主要描述的是设备可以通过MQTT协议与物联网平台进 ...

最新文章

  1. 离开英伟达仅19个月,他交出了一块国产全功能GPU
  2. 商品尺码规格和颜色需要支持双引号
  3. 有关启动图片Launch的设置
  4. Spring MVC中的基本流程
  5. 关于@Alias注解的几个问题
  6. 简述ip地址的abc类如何划分_面试官问:讲讲IP地址的分配原理
  7. TimeQuest就一定要搞定——时序分析基本公式
  8. java web maven 结构及从零创建jfinal项目
  9. Axure原型图 时间跳动 计时动画效果
  10. ionic5 ion-refresher下拉更新
  11. 财会法规与职业道德【1】
  12. fsck.ext3:unable to resolve 'LABLE=/home'
  13. 轻微课靠谱吗?轻微课学员的真实评价!!!
  14. java eclipse怎么下载_javaeclipse简介(附下载地址和安装包)
  15. Ceph之RBD恢复的几种方式与原理
  16. eem二级c语言题库哪种比较好,EEM18DCAD边缘板连接器供应【科美奇科技】Sullins华南地区渠道商...
  17. PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume
  18. 【转】jar参数运行应用时classpath的设置方法
  19. [Flutter] 用FontLoader从本地加载字体
  20. 注解类型异常:@ComponentScan ANNOTATION type filter requires an annotation typ

热门文章

  1. C#箴言:定义常量的两种方法
  2. EL$JSTL简化jsp开发中的代码量
  3. 【Jquery】文本框校验练习
  4. 互联网进化论在中国科技论文在线正式发表
  5. 文件包含小总结 By Assassin
  6. kafka-producer-network-thread | producer-2|||Metadata--->[Producer clientId=producer-2] Cluster ID:
  7. Flink sql 写ddl连接kafka
  8. LeetCode-----第113题-----路径总和 II
  9. python写生日祝福语大全_【Python 1-6】Python教程之——数字
  10. 网页通用的测试用例(出处:: 51Testing-- lxp1119216)