物联网技术
当前位置:主页 > 资讯 > 物联网技术 >
常见的几大物联网操作系统汇总介绍
发布日期:2019-11-04 阅读次数: 字体大小:

PC时代造就了Windows操作系统,移动互联网时代造就了Android和iOS操作系统,如今物联网时代正迅速崛起,又将造就什么操作系统呢?

操作系统作为一个产业的底层基础设施,除了潜在的巨大商业价值,在当下时代背景中,更是具备了国家层面的战略意义,拥有自主产权的优秀操作系统,才能避免受制于人。

物联网操作系统是什么?

操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

物联网操作系统是指以操作系统内核(可以是 RTOS、Linux 等)为基础,包括如文件系统、图形库等较为完整的中间件组件,具备低功耗、安全、通信协议支持和云端连接能力的软件平台

与传统的嵌入式设备相比,物联网感知层的设备更小、功耗更低,还需要安全性及组网能力,物联网通信层需要支持各种通信协议核协议之间的转换,应用层则需要具备云计算能力。在软件方面,支撑物联网设备的软件比传统的嵌入式设备软件更加复杂,这也对嵌入式操作系统提出了更高的要求。为了应对这种要求,一种面向物联网设备和应用的软件系统——物联网操作系统。

物联网中的操作系统涉及到芯片层、终端层、边缘层、云端层等多个层面.单一层次的物联网操作系统与安卓在移动互联网领域的地位和作用类似,实现了应用软件与智能终端硬件的解耦。就像在安卓的生态环境中,开发者基本不用考虑智能终端的物理硬件配置,只需根据安卓的编程接口编写应用程序,就可以运行在所有基于安卓的智能终端上一样,物联网操作系统的作用也是如此。

物联网使用什么操作系统?

运行在物联网设备上的操作系统往往有多种选择,取决于设备本身的计算和存储能力,一般地,可分为微控制器中央处理器两大类。典型的有以下一些操作系统:

1. FreeRTOS

针对嵌入式设备的开源实时操作系统,支持众多的微处理器。创始人Richard Barry,诞生于2003年,完全开源、免费,轻量级嵌入式实时操作系统。C和汇编来写的,其中绝大部分都是用C语言编写的,只有极少数的与处理器密切相关的部分代码才是用汇编写的。

主要功能:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。

主要特点:源码公开、可移植、可裁剪、调度策略灵活,可以方便移植到各种单片机上运行。CPU总是让处于就绪态的、优先级最高的任务先运行。

2. RT-thread

类似于FreeRTOS的设备侧实时操作系统,支持大量的微处理器架构。是一款主要由中国开源社区主导开发的嵌入式开源实时多线程操作系统,在2006年就开始启动并发布了0.1.0内核版本,主要采用 C 语言编写,内核及所有开源组件可以免费在商业产品中使用,没有潜在商业风险。

主要功能:支持多任务以及所有主流微控制器,设备端和云端一体化设计,针对不同应用场景,采用自动功耗控制策略。毫秒级启动时间,层次化的系统安全架构,提供各类安全机制,保障应用和系统安全。集成音频,图像相关的各类算法和智能引擎。

主要特点:体积小,成本低,功耗低、启动快速,实时性高、占用资源小等特点,非常适用于各种资源受限(如成本、功耗限制等)的场合。

3. mbed OS

开源嵌入式操作系统,ARM公司将mbed OS免费提供给所有厂商使用,mbed提供了一个相对更加系统和更加全面的智能硬件开发环境。

主要功能:提供用于开发物联网设备的通用操作系统基础,以解决嵌入式设计的碎片化问题。支持所有重要的连接性与设备管理开放标准,以实现面向未来的设计。使安全可升级的边缘设备支持新增处理能力与功能。通过自动电源管理解决复杂的能耗问题。

主要特点:开发速度快,功能强大,安全性高,为了量产化而设计,可离线开发,也可以在网页上编辑。

4. AliOS-Things

阿里研发,面向IoT领域的轻量级物联网嵌入式操作系统。基于Linux平台,提供MCU虚拟化环境。

主要功能:微内核架构,内核资源占用(ROM<2KB,内核支持ldle Task成本);提供场景引擎和低功耗框架;产品级TCP/UDP/IPv6/IPv4支持;MQTT,CoAP,WSF支持;WiFi,蓝牙,LoRA,NB-IoT。支持阿里巴巴自研的uMesh技术,支持物联网设备自动建立通信网络。

主要特点:提供系统和芯片级别安全保护,支持C/JavaScript语言开发,提供IDE,支持代码编辑,编译、调试、内存泄露检测等。支持APP独立升级,支持多Bin或差分升级。支持组件式开发。利用ALIOS Cube工具可以灵活组合IOT产品软件栈。

5. Lite OS

华为面向物联网领域自主开发的一个基于实时内核开源的轻量级操作系统。2015年华为发布“1+2+1”的物联网战略,Huawei LiteOS作为战略的重要组成部分。体积只有10KB级、开源的、可帮助小型设备处理信息的操作系统。支持华为海思CPU,不承诺保证能无缝支持其它厂商的CPU,也不提供其它CPU适配时的技术支持。

主要功能:支持任务调度,内存管理,中断机制,队列管理,事件管理,IPC机制,时间管理,软定时器以及双向链表等常用数据结构。

主要特点:具备零配置、自组网、跨平台的能力,具有能耗最低,体积最小、响应最快的特点。

LiteOS 主要应用于智能家居、穿戴式、车联网、智能抄表、工业互联网等IoT 领域的智能硬件上,数据采集、实时控制等是其典型使用环境。

6. RTX

是ARM公司的一款嵌入式实时操作系统,使用标准的C结构编写,运用RealView编译器进行编译。不仅仅是一个实时内核,还具备丰富的中间层组件,不但免费,而且代码也是开放的。

主要功能:开始和停止任务(进程),除此之外还支持进程通信,例如任务的同步、共享资源(外设或内存)的管理、任务之间消息的传递。开发者可以使用基本函数去开启实时运行器,去开始和终结任务,以及去传递任务间的控制(轮转调度)。开发者可以赋予任务优先级。

主要特点:支持时间片,抢占式和合作式调度。不限制数量的任务,每个任务都具有254的优先级。不限制数量的信号量,互斥信号量,消息邮箱和软定时器。支持多线程和线程安全操作。使用MDK基于对话框的配置向导,可以很方便的完成MDK的配置。

7. VxWorks

美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),

具有硬实时、确定性与稳定性,也具备航空与国防、工业、医疗、汽车、消的、费电子产品、网络及其他行业要求的可伸缩性与安全性。

主要功能:支持可预测的任务同步机制、支持多任务间的通信、存储器优化管理、操作系统的(中断延迟、任务切换、驱动程序延迟等)行为是可知的和可预测的。实时时钟服务+中断管理服务。

主要特点:具有一个高性能的操作系统内核Wind(实时性好、可裁减)友好的开发调试环境、较好的兼容性、支持多种开发和运行环境。

8. QNX

诞生于1980年,是一种商用的遵从POSIX规范的类Unix嵌入式实时操作系统,是由加拿大QSSL公司开发的分布式实时操作系统。

主要功能:支持在同一台计算机上同时调度执行多个任务;也可以让多个用户共享一台计算机,这些用户可以通过多个终端向系统提交任务,与QNX进行交互操作。

主要特点:核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。

9. NuttX

NuttX是一个实时嵌入式操作系统(Embedded RTOS),第一个版本由 Gregory Nutt 于 2007 年在宽松的 BSD 许可证下发布。

主要功能:可以构建为开放的、平面的嵌入式 RTOS,或单独构建为具有系统调用接口的微内核。容易扩展到新的处理器架构、 SoC 架构或板级架构。实时的、确定性的、支持优先级继承。BSD 套接字接口。优先级管理的扩展。可选的具有地址环境的任务(进程)。

主要特点:配置灵活,采用模块化设计,核心部分由小同的组件构成,包括内核、C语言库和底层运行包等。每个组件可提供大量的配置选项(实时内核也可作为可选配置),使用eCos提供的配置工具可以很方便地配置,并通过不同的配置使得eCos能够满足不同的嵌入式应用要求。

 

隔壁科技