您的位置:首页->MSP430F149的实时多任务操作系统该如何使用

相关链接

·激光技术革新放射仪实现“即插即用”
·指北针为何指北?
·万用表应用技巧有哪些?
·焊接的注意?
·运算放大器是什么?
·温度计有哪些?
·钳形电流表是什么?
· 集成运算放大器是什么?
·电磁流量计使用中的常见故障主要有哪些?
·原子吸收分光光度法常使用哪些定量分析方法?


MSP430F149的实时多任务操作系统该如何使用
1  RTOS的基本概念 
    实时多任务操作系统(RTOS-Real Time Operating System)是根据操作系统的工作特性而言的。实时是指物理进程的真实时间。实时操作系统是指具有实时性,能支持实时控制系 统工作的操作系统。首要任务是调度一切可利用的资源完成实时控制任务,重要特点是要满足对时间的限制和要求。

实时操作系统中的任务(Task)有四种状态:运行(Executing),就绪(Ready),挂起(Suspended),休眠(Dormant)。

运行:获得CPU控制权。

就绪:进入任务等待队列。通过调度转为运行状态。

挂起:任务发生阻塞,移出任务等待队列,等待系统实时事件的发生而唤醒。从而转为就 绪或运行。

休眠:任务完成或错误等原因被清除的任务。也可以认为是系统中不存在了的任务。

某一时刻,系统中只能有一个任务在运行状态。各任务按级别通过时间片分别获得对CPU的访问权。 

RTOS内核按照任务的调度机制可以分为两种:一种是占先式内核,一种是非占先式内核。 

占先式内核:当一个低优先级的任务正在运行时,一个高优先级的任务就绪,那么RTOS就会把低优先级的任务挂起,来运行高优先级的任务。等高优先级的任务执行了一个循环挂起之后,再回到低优先级任务的断点继续运行。也就是说,任务的优先级越高,响应起来越及时。

非占先式内核:当一个低优先级的任务在运行时,一个高优先级的任务就绪,RTOS不会把CPU切换给高优先级的任务,必须等低优先级的任务执行了一个循环挂起之后,再由RTOS根据所有就绪任务的优先级判断将CPU切到哪个任务。

绝大多数商业RTOS, 以及著名的开放源码的uC/OS-II操作系统,都采用的是占先式内核,它的优点是实时性要比非占先式内核高。

在RTOS中,一般情况下,每个任务都一无限循环,每循环一次,任务挂起一段时间,以供调度程序把这段时间交给优先级更高的其它就绪任务,让其它任务运行(如图1)。当所有任务都挂起时,RTOS把任务切到空闲任务来执行。