常见物联网操作系统介绍

简介: 物联网操作系统是运行在物联网设备上的提供物物相连能力的操作系统,其核心在于能够将各种物体连接到互联网,并提供数据通信能力。

物联网操作系统是运行在物联网设备上的提供物物相连能力的操作系统,其核心在于能够将各种物体连接到互联网,并提供数据通信能力。

如果我们把常见的操作系统按照其应用场景进行分类,可主要分为桌面操作系统、移动操作系统和物联网操作系统,各个领域主要操作系如图下图所示。

到目前为止,桌面操作系统和移动操作系统目前市场占比都形成了比较稳定的格局。相比之下,物联网操作系统领域的碎片化问题则非常严重,并没有哪几个操作系统占据绝对优势,正处于“百花齐放、百家争鸣”的阶段。

大部分物联网操作系统是从嵌入式操作系统发展而来的,像uC/OS、FreeRTOS等,也有一些是从Linux、Android等大型系统裁剪而来,像RT Linux、Android Things等,而AliOS Things则是专门为物联网应用场景而研发的。

下面简单介绍一下国内外比较有名的物联网操作系统。


1. uC/OS

如下图所示,uC/OS最早于1992年正式发布,1998年发布了uC/OS-II版本,最新的版本则是uC/OS-III,国内比较流行的是uC/OS-II。除任务管理、时间管理、内存管理、通信与同步等操作系统基本功能外,uC/OS还提供了TCP/IP、USB、CAN和Modbus等功能组件,但其网络功能相对来说比较薄弱。uC/OS采用的是开源不免费的策略,商业使用它需要缴纳授权费用。从其在国内的发展过程来看,2010年是uC/OS的鼎盛时期,可能也正是因为“开源不免费”的策略导致它在2010年后迅速地被FreeRTOS超越。uC/OS在2016年的时候被Silicon Labs公司收购了。



2. FreeRTOS

如图下图所示,FreeRTOS嵌入式操作系统诞生于2003年,采用MIT License,开源免费,适用于任何商业或非商业场合。在ARM在2004年推出Cotex-M3系列架构的IP之后,TI,ST,NXP,Atmel等国外芯片公司在约2006年的时候都相继推出基于Cotex-M3的MCU,这些芯片默认搭载的都是FreeRTOS操作系统,这就直接促使了FreeRTOS在2010年的时候迅速超越uC/OS成为第一大嵌入式操作系统。FreeRTOS在2016年被Amazon公司正式收购,Amazon将自己的AWS服务内嵌到FreeRTOS系统中,并于2017年推出了集成无线连接、安全、OTA等功能的物联网操作系统。


Amazon FreeRTOS的内核具有简单、轻量、可靠性好、可移植性好等诸多优点,有着广泛的用户基础,已经在多个行业中进行商业应用。Amazon FreeRTOS版本提供了跟AWS相关的软件库,方便用户将物联网功能集成到设备中去。其提供的软件库还支持 TLS V1.2 协议,可以帮助设备安全地连接到云。

除此之外,Amazon FreeRTOS设备可以直接连接到AWS IoT Core等云服务,也可以连接到AWS Greengrass等本地边缘服务。


3. LiteOS

LiteOS是华为公司推出的轻量级物联网操作系统,它目前已经适配了众多的通用MCU以及NB-IoT集成开发套件。它是面向IoT领域构建的轻量级物联网操作系统,遵循BSD-3开源许可协议,可广泛应用于智能家居、个人穿戴、车联网、城市公共服务、制造业等领域。


4. RT-Thread

RT-Thread诞生于2006年,是一款以开源、中立、社区化发展起来的物联网操作系统,它主要采用C语言编写,浅显易懂,且具有方便移植的特性。

RT-Thread有完整版和Nano版,对于资源受限的微控制器(MCU)系统,可通过简单易用的工具,裁剪出仅需要 3KB Flash、1.2KB RAM 内存资源的 NANO 内核版本;而相对资源丰富的物联网设备,可使用RT-Thread完整版,通过在线的软件包管理工具,配合系统配置工具实现直观快速的模块化裁剪,并且可以无缝地导入丰富的软件功能包,实现更加复杂的功能。

5. Linux

人们通常所说的Linux大多数时候是指Linux内核,但只有内核并不是一个完整的操作系统。实际上,Linux是一套开放源代码、可以自由传播的类Unix操作系统。它是一个基于POSIX的多用户、多任务并且支持多线程和多CPU核心的操作系统。人们常说的Linux系统包含Linux内核、GNU项目组件和应用程序(数据库、网络、图形界面、音频等)等。

Linux内核最初是由Linus Torvalds在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版UNIX操作系统Minix太难用了,于是决定自己开发一个操作系统。自从Linus Torvalds于1991年底发布了Linux内核的0.02版本之后,全世界的开源爱好者们共同推进着Linux系统的发展。

Linux的标志和吉祥物为一只名叫Tux的企鹅-Torvalds' Unix。

常见的Linux的系统结构如下图所示。

Linux从诞生到现在经过30多年的发展,在服务器、桌面操作系统、嵌入式、云计算和大数据等领域占据了广阔的市场。据统计,在全球服务器市场,Linux已经占有超过75%的市场份额。在桌面操作系统领域,基于Linux的比较有代表性的是Ubuntu操作系统,虽然其普及程度还远落后于Windows,但满足日常办公及娱乐需求是没有问题的。Android系统(Google推出的移动端操作性系统)底层也是基于Linux修改而来。

除了在服务器、大数据、人工智能等领域的广泛应用,在国内物联网操作系统被广泛应用之前,Linux是物联网应用中使用最广泛的操作系统。Linux系统一般都比较大,为了适应物联网领域的应用场景,很多开源组织和商业公司对Linux进行了很多的裁剪,RT Linux和uClinux是两个比较有代表性的基于Linux的物联网操作系统:

  • RT Linux(Real Time Linux)

它最初是由新墨西哥矿业及科技学院的V. Yodaiken开发,现在已被WindRiver公司收购。RT Linux是将Linux的内核代码做了一些修改,将Linux本身的任务以及Linux内核作为优先级很低的任务,而将负责物联网应用的实时任务作为优先级最高的任务来执行。这样就可以既享受到Linux丰富的软硬件生态的便利性,也能满足业务层对实时性的需求。

  • uClinux(Micro Control Linux)

uClinux是Lineo公司的主打产品,同时也是开放源码的嵌入式Linux的典范之作。它是从Linux 2.0/2.4内核派生而来,沿袭了Linux的绝大部分特性。它是专门针对没有MMU(内存管理单元)的CPU,并且为嵌入式系统做了许多小型化的工作。它通常用于具有很少内存或Flash的嵌入式操作系统。在GNU通用许可证的保证下,运行uClinux操作系统的用户可以使用几乎所有的Linux API函数。由于经过了裁剪和优化,它形成了一个高度优化,代码紧凑的嵌入式Linux。它具有体积小、稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持以及丰富的API函数等优点。

6. AliOS Things

AliOS Things 是阿里巴巴公司2017年推出的面向物联网领域的轻量级操作系统,致力于搭建云端一体化IoT基础设施,具备极致性能、极简开发、云端一体、丰富组件、安全防护等关键能力,并支持终端设备连接到阿里云物联网平台。目前在智能家居、智慧城市、智能制造、新出行等领域大量使用。从诞生之初到现在为止,其主要经历了如下图所示的几个阶段。

  • 2017年AliOS Things V1.1版本正式发布,除了rhino内核外,还集成了常用的MQTT/CoAP等非常适合物联网行业的协议和TEE安全组件,所以AliOS Things天生就是为物联网行业而生的。
  • 2019年2月份,AliOS Things开始支持RISC-V体系结构的芯片,并且增加了电源管理功能,为低功耗应用场景打下了基础;针对物联网系统升级慢的问题设计了OTA差分升级的方案大大提高了系统升级的效率。
  • 2020年4月份,V3.1版本正式发布,在这版本上设计了应用程序的开发框架,并且引入了组件式开发模型,组件中比较值得提到的是用于实时传输的RTP协议及可以防止HTTP网络劫持的HTTPDNS协议,为物联网的安全性提升了一个等级。
  • 2021年5月份,AliOS Things正式发布V3.3版本,在这个版本中真正做到了基于弹性内核的积木式开发方案,并且支持Python和JavaScript的轻应用开发新模式。
  • AliOS Things采用分层体系结构和组件式结构,如下图所示。

AliOS  Things轻应用的开发模式自推出以来就受到开发者的极大支持,目前在智慧家庭、智能工业、智慧农业等行业有了广泛的应用,真正做到了“JS/Python也能轻松开发智能硬件”。

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
传感器 消息中间件 物联网
AliOS Things 系统架构介绍(二)
AliOS Things 系统架构介绍(二)
1204 1
面向服务架构(SOA)吐血整理
面向服务架构(SOA)吐血整理
面向服务架构(SOA)吐血整理
|
5月前
|
存储 人工智能 文字识别
端侧AI在工业AR终端上的部署实践:模型轻量化与MNN推理优化
本文针对工业AR终端(八核/3GB/Android)离线AI部署难题,提出轻量化(知识蒸馏+INT8量化+通道剪枝)与推理优化(MNN引擎、流水线并行、内存复用)方案。实测三模型总大小仅12MB,端到端延迟178ms,内存占用降低70%,续航影响可控,已落地电力巡检与化工安全场景。(239字)
871 4
 端侧AI在工业AR终端上的部署实践:模型轻量化与MNN推理优化
|
数据采集 机器学习/深度学习 编解码
小红书 hi lab开源最强多模态大模型dots.vlm1,性能对标闭源 Gemini 2.5 Pro 和 Seed-VL1.5
小红书 hi lab开源最强多模态大模型dots.vlm1,性能对标闭源 Gemini 2.5 Pro 和 Seed-VL1.5
1134 0
小红书 hi lab开源最强多模态大模型dots.vlm1,性能对标闭源 Gemini 2.5 Pro 和 Seed-VL1.5
|
监控 测试技术 API
商品自动上架/下架接口实现指南
本文介绍如何设计并实现电商系统中的自动上架/下架接口,基于时间或库存阈值触发操作。采用Python与Flask框架,结合RESTful API与定时任务,提升商品管理效率与系统可靠性,适用于各类电商平台自动化运营。
|
缓存 API Python
如何通过API获取拼多多商品详情数据?
注册开放平台账号,获取client_id与client_secret,调用鉴权接口换取access_token(有效期24小时)。通过GET请求查询商品详情,需传goods_id和access_token。响应包含商品名称、价格、销量及SKU库存等信息。注意处理code非0的错误,控制请求频率≤100次/分钟,建议指数退避重试。Python示例使用requests实现。
1281 0
|
机器学习/深度学习 算法 人机交互
智能语音识别技术的最新进展与未来趋势####
【10月更文挑战第21天】 在当今这个信息爆炸的时代,人机交互方式正经历着前所未有的变革。本文深入探讨了智能语音识别技术的前沿动态,从深度学习模型的创新应用到跨语言、跨领域的适应性增强,揭示了该领域如何不断突破技术壁垒,提升用户体验的真实案例与数据支撑。通过对比分析当前主流算法的性能差异,本文旨在为研究者和开发者提供一幅清晰的技术演进蓝图,同时展望了多模态融合、情感识别等新兴方向的广阔前景。 ####
1662 7
|
机器学习/深度学习 数据采集 人工智能
《大模型训练成本高,如何在不牺牲性能的前提下破局》
在人工智能领域,大模型训练成本高昂,主要源于硬件设备、数据处理和算法优化的需求。降低训练成本的关键在于合理配置硬件资源、改进数据处理方法、优化算法和模型结构,以及采用分布式训练技术。通过这些措施,企业可以在不影响模型性能的前提下,显著减少计算资源、人力和时间的投入,实现更高效的模型训练。实践证明,综合运用这些方法能够有效降低成本,推动人工智能技术的可持续发展。
1176 18
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
3589 8
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
3133 6