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


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

    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

    图片1.png

    4.1.3 LiteOS SDK

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

    图片2.png

    4.2 RT-Thread

    4.2.1 简介

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

    4.2.2 特点

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

    图片3.png

    4.3 FreeRTOS

    4.3.1 简介

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

    4.3.2 特点

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

    5总结

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

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

    作者:星辰27

  • 相关阅读:
    关于工作习惯的一点思考
    BulkSqlCopy 批量导入数据(Ef支持)
    记录下最近项目中常用到的SQL语句
    对象化前端表单(Form)提交
    Python描述符 (descriptor) 详解
    Python装饰器之 property()
    Python魔法方法之属性访问 ( __getattr__, __getattribute__, __setattr__, __delattr__ )
    Python魔法方法总结及注意事项
    面向对象编程(二)
    面向对象编程(一)
  • 原文地址:https://www.cnblogs.com/huaweicloud/p/12523605.html
Copyright © 2020-2023  润新知