什么是RTOS?
简单来说,实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间内作出快速响应,并控制所有实时任务协调一致运行的操作系统。
| FreeRTOS | uC/OS-III | RT-Thread | |||
|---|---|---|---|---|---|
| 背景 | 免费、开源的实时操作系统, 英国工程师Richard Barry创建, 最早发布于2003年 | 商业实时操作系统, uC/OS-II的升级版, 美国工程师Jean Labrosse, 最早发布于2009年 | 开源的实时操作系统, 中国开发者Bernie Zang, 最早发布于2006年, | ||
| 是否免费 | 完全开源免费 | 源码开放,但不是完全免费 用于商业产品开发需要购买授权 | 完全开源免费 | ||
| 内核比较 | 内核大小 | 4~9K ROM 2K RAM | 6K~24K ROM 2K RAM | 3K ROM 1K RAM | |
| 32个优先级或无限制 多个任务可设置为同一优先级 | 64个优先级或无限制 多个任务可设置为同一优先级 | 256个优先级 多个任务可设置为同一优先级 | |||
| 抢占调度 | Y | Y | Y | ||
| 协程调度 | Y(现已不维护) | N | N | ||
| 轮转调度 | Y | Y | Y | ||
| 任务 通信/同步 | 信号量 | Y | Y | Y | |
| 互斥锁 | Y | N | Y | ||
| Y | N | Y | |||
| 邮箱 | N | N (uC/os III已经取消这个概念, uC/os II, uC/os是有的) | Y | ||
| 事件/事件组 | Y | Y | Y | ||
| 时间管理 | 软件定时器 | Y | Y | Y | |
| 内存管理 | Y | Y | Y | ||
| 生态相关 | I/O设备管理 | 无 | 提供USB、CAN、Modbus驱动 | 提供类似unix的管理驱动 | |
| 文件系统 | 支持freertos+FAT | 支持uc/os-fs | 提供FatFs、NFS、UFFS | ||
| 网络协议 | 提供freertos+TCP/IP | 提供TCP/IP移植版 | 提供LWIP移植版 | ||
| POSIX接口 | 部分 | 无 | 支持 | ||
| UI组件 | 无 | 提供uc/os GUI | 提供RT GUI | ||
| IOT | 被亚马逊收购后,开始IOT相关中间件的开发 | 无 | 丰富的物联网相关中间件 | ||
本文介绍了实时操作系统(RTOS)的概念,重点关注了FreeRTOS、uC/OS-II和IRT-Thread这三种开源或商业RTOS,强调了它们的任务管理、调度、通信功能以及在物联网领域的应用。
1236

被折叠的 条评论
为什么被折叠?



