我们看一下 FreeRTOS 的名字,可以分为两部分:Free 和 RTOS,Free 就是免费的、自由的、 不受约束的意思,RTOS 全称是 Real Time Operating System,中文名就是实时操作系统。可以看 出 FreeROTS 就是一个免费的 RTOS 类系统。这里要注意,RTOS 不是指某一个确定的系统,而 是指一类系统。比如 UCOS,FreeRTOS,RTX,RT-Thread 等这些都是 RTOS 类操作系统。 操作系统允许多个任务同时运行,这个叫做多任务,实际上,一个处理器核心在某一时刻 只能运行一个任务。操作系统中任务调度器的责任就是决定在某一时刻究竟运行哪个任务,任 务调度在各个任务之间的切换非常快!这就给人们造成了同一时刻有多个任务同时运行的错觉。
操作系统的分类方式可以由任务调度器的工作方式决定,比如有的操作系统给每个任务分 配同样的运行时间,时间到了就轮到下一个任务,Unix 操作系统就是这样的。 RTOS 的任务调 度器被设计为可预测的,而这正是嵌入式实时操作系统所需要的,实时环境中要求操作系统必 须对某一个事件做出实时的响应,因此系统任务调度器的行为必须是可预测的。像 FreeRTOS 这 种传统的 RTOS 类操作系统是由用户给每个任务分配一个任务优先级,任务调度器就可以根据 此优先级来决定下一刻应该运行哪个任务。 FreeRTOS 是 RTOS 系统的一种,FreeRTOS 十分的小巧,可以在资源有限的微控制器中运 行,当然了,FreeRTOS 不仅局限于在微控制器中使用。但从文件数量上来看 FreeRTOS 要比 UCOSII 和 UCOSIII 小的多。
1
1