Bootstrap

ucos iii学习笔记——为什么选择ucos iii

首先我们得先讨论前后台系统和RTOS(Real Time OS)的区别。前后台系统,也即是我们所说的裸机程序,它的结构通常包括一个死循环和若干个中断服务程序,直接上图,我们有一个直观认识:


假如Task2是一个延时任务,当程序执行到Task2时,CPU只能干等,这样就浪费了CPU资源。进一步说,当在延时阶段,某种特发情况需要Task4响应,此时系统无法得到实时响应,只能一直按顺序执行下去,直到运行到Task4才能得到响应,可见前后台系统的实时响应性较差。

那么RTOS呢?我们先看图,了解它的运行机制


在实时操作系统中,我们可以把要实现的功能划分为多个任务,每个任务负责实现其中的一部分,每个任务都是一个很简单的程序,通常是一个死循环。

RTOS的内核负责管理所有的任务,内核决定了运行哪个任务,何时停止当前任务切换到其他任务,这个是内核的多任务管理能力。这就意味着,假设运行某任务里面的延时语句时,该任务就会被挂起,CPU根据内核机制运行另一个任务,这就充分利用了CPU资源。多任务管理给人的感觉就好像芯片有多个CPU,多任务管理实现了CPU资源的最大化利用,多任务管理有助于实现程序的模块化开发,能够实现复杂的实时应用。

说了这么多,那我们为何选择使用ucos iii这个实时操作系统呢?因为ucos iii是一个开源、可裁剪、绝大部分由C语言编写、可读性强!更重要的一点是网上有很多关于ucos iii/ucos ii的资源,不像其他操作系统相对较少的学习资源。作为嵌入式初学者,ucos iii是一个很好的入门学习对象!


;