在早期那个大规模集成电路还不是很普及的时代,处理器、内存等元件非常昂贵,那时的多用户多任务是实现在单处理器上的。
这时,为了让每个人都体会到单处理器,让自己感觉到自己“拥有一台电脑”,选择合适的调度算法来让每个用户“公平的共享”处理器资源就非常重要。这就是操作系统的功能之一,分配软硬件资源。
FreeRTOS 是一个迷你的实时操作系统系统内核。作为一个嵌入式系统使用的开源实时操作系统,FreeRTOS 被设计的 小巧、简单和易用 能够支持许多不同硬件架构以及交叉编译器。
FreeRTOS 虽然轻量精简,但他包含了一个操作系统的基本功能,主要包含了任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器等等功能,可以基本满足较小系统的需求。
一千个人心中有一千个哈姆雷特,“嵌入式” 和 “实时” 的定义也是如此,放到不同的行业,不同的领域来说理解都不一样。在这里,我说一说我的理解:
什么是嵌入式?随着自己见识的增长,我也对此有了不同的认识。
一开始我对嵌入式的了解也非常简单,认为嵌入式系统就是跑在开发版里的系统,通过嵌入式系统来控制开发板上的 GPIO接口来完成物联网相关的各种操作。
后来,当我意外地摔坏了一个遥控器,发现里面竟藏着一块开发板,我意识到嵌入式系统遍布在我们的生活中。电子手表、充电宝主板、台灯 等等,这些都遍布在我们的生活。
又一次,我了解到 Android也是嵌入式系统,它们被狠狠地嵌在了手机主板上。可以这么说,手机就是一块开发板。由于把手机当作开发板的性价比很高,很多大神把手机当作开发板或者服务器来进行“高端操作”。
随着时代的发展,不得不说嵌入式在我们的身边随处可见,它们一般都用于那些低功耗的设备上,并不需要像Windows那样复杂的工作。总得来说,嵌入式系统就是一个专门设计用来做一些简单事情的计算机系统。
实时系统是设计去完成一定时间内的事,它们保证这些事是在应该做的时候去做。比如医院里的心电监护仪,要实时监控病人的状态,对实时性就非常高。
实时嵌入式系统都必须精心设计,以便在任何时刻都能及时执行它们的任务。
其次,FreeRTOS 有众多的优点:
① 历史悠久
FreeRTOS于2003年由Richard Barry设计,距今已经发展了数年,形成了其独有的文化。
② 开源免费
FreeRTOS 实在MIT开源版权下的,可以看到 FreeRTOS 可以修改代码并被商用,这让 FreeRTOS 的推广与发展提供了有利条件,并让我们可以根据 FreeRTOS 定制我们自己的产品。
③ 资料齐全
FreeRTOS 发展十几年,业内有不少企业和大佬贡献了资料;在 FreeRTOS 的官网也有自己的文档供大家学习。
④ 系统优势
(1) 可信内核 FreeRTOS内核具有久经考验的鲁棒性、小巧的尺寸和广泛的器件支持,被世界领先的公司所信赖,成为微控制器和小型微处理器的事实标准。
(2) 加快上市时间
通过详细的预配置演示和物联网 (IoT) 参考集成,无需确定如何设置项目。快速下载、编译并更快地进入市场。
(3) 广泛的生态系统支持
FreeRTOS 的合作伙伴生态系统提供了广泛的选项,包括社区贡献、专业支持以及集成的 IDE 和生产力工具。
(4) 长期支持的可预测性
FreeRTOS 通过长期支持 (LTS) 版本提供功能稳定性。FreeRTOS LTS 库附带了两年的安全更新和关键错误修复。由 AWS 维护,以造福 FreeRTOS 社区。
⑤ 名列前茅
下面是一张2014年的操作系统使用排行榜,可以看到曾经的 FreeRTOS 排名第三;在这个操作系统发展迅猛的时代, FreeRTOS 一直在 RTOS 榜名列前茅,直到现在仍然名列前三(具体的图找不到了)。