物联网操作系统是指以操作系统内核(可以是 RTOS、Linux 等)为基础,包括如文件系统、图形库等较为完整的中间件组件,具备低功耗、安全、通信协议支持和云端连接能力的软件平台。
今天小编就向大家详细的介绍几款市面上的物联网操作系统。
1. FreeRTOS
创始人Richard Barry,诞生于2003年,完全开源、免费,轻量级嵌入式实时操作系统。C和汇编来写的,其中绝大部分都是用C语言编写的,只有极少数的与处理器密切相关的部分代码才是用汇编写的。
主要功能:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。
主要特点:源码公开、可移植、可裁剪、调度策略灵活,可以方便移植到各种单片机上运行。CPU总是让处于就绪态的、优先级最高的任务先运行。
2. RT-thread
是一款主要由中国开源社区主导开发的嵌入式开源实时多线程操作系统,在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机制,时间管理,软定时器以及双向链表等常用数据结构。
主要特点:具备零配置、自组网、跨平台的能力,具有能耗最低,体积最小、响应最快的特点。
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能够满足不同的嵌入式应用要求。
10. NECRO
国讯芯微历经十年研发并问世,嵌入式实时操作系统,开发语言为C/C++。与一般范用边缘操作系统不同之处在于,从诞生之初就深耕工业互联网、智能制造行业。
可满足工业现场OT数据的融合及深度建模需求,确保工业控制的时间片精度,提升工厂良品率。
基于企业级数据服务总线建立应用服务器,提供通用基础服务,为各领域的行业应用提供开发支撑。
以WEB方式提供操作系统的用户界面,屏蔽繁琐的linux配置。
价格方面,相较于几万、几十万美金授权费的VxWorks、QNX,其只需几百人民币。
主要功能:分布式应用支撑平台、协议解析/转换、数据处理、数据存储/访问、数据可视化、后台脚本、系统建模等功能。
主要特点:采用单芯片多内核的机制,可以同时满足工业实时和非实时应用。其中软实时任务运行于宏内核、硬实时人物运行于微内核。
自研的调度分配算法确保内存和CPU_CORE的资源可以优先完成实时任务。
支持ARM X86 PowerPC等多核MPU、并支撑FPGA GPU TPU NPU等加速AI算法引擎。支持数百种通信协议、加入深度学习功能、采用主流加密算法,确保数据安全。
拥有107个工业协议,处在行业前端。
国讯芯微科技(NIIC)是一家提供边缘计算核心软硬件产品和工业互联网智能制造完整解决方案的科技公司,主要在工业互联网、智慧工厂、泛在电力物联网、智慧农业和智慧城市等领域深度耕耘。
公司在上海浦东张江和合肥经开区分别设立了研发中心,核心研发团队由操作系统、物联网、通讯和半导体等行业资深研发人员组成,代理制造商为国内知名PCBA企业欧智通科技。在边缘计算领域公司拥有多项发明专利、实用新型专利和软件著作权,核心产品:自主研发的边缘计算实时操作系统NECRO,业内首款边缘计算全栈模块NOM和边缘计算芯片NOC,公司更可为有需要企业提供边缘计算定制化ODM服务。
公司与阿里云、百度云在边缘计算领域进行深度合作,同时也将与国外一线云厂商在该领域同步推进海外市场,共同加速工业4.0落地。