《嵌入式多任务系统的多任务机制理论篇.docx》由会员分享,可在线阅读,更多相关《嵌入式多任务系统的多任务机制理论篇.docx(2页珍藏版)》请在第一文库网上搜索。
1、嵌入式多任务系统的多任务机制理论篇在单处理器(嵌入式MCU)的计算机系统中,在某一具体时刻处理器只能运行一个任务,但是可以通过将处理器运行时间分成小的时间段,多个任务按照一定的原则分享这些时间段的方法,轮流加载执行各个任务,从而从宏观上看,有多个任务在处理器上同时执行,这就是单处理器系统上的多任务机制的原理,如下图所示:任务任务B(I)任务B(2)任务A(1)任务A(2)任务任务A和任务B按照等长时间轮流占用处理器,在单处理器上造成多个任务同时运行的假象。这里先聊一聊多任务系统架构的分割时间段。将处理器运行时间分成小的时间段指明了把处理器时间以多大的频率分割成固定长度的时间片段,也叫做多任务系
2、统架构的圆圆节拍。作为多任务系统运行的时间尺度,时钟节拍是通过特定的硬件定睦产生的。硬件定时器会产生周期的中断,在相应的中断处理函数中,内核代码得以运行,从而进行任务调度和定时器时间处理等内核工作。时钟节拍(1)时钟节拍(2)时钟节拍(3)时钟节拍(4)时钟节-一ITOT1T2T3T4硬件定时器中断的时间间隔取决于不同的内核设计,一般是毫秒级的。时钟节拍越快,内核函数介入系统运行的几率就越大,时钟节拍中断响应次数越多,内核占用的处理器时间越长。相反,如果时钟节拍太慢,则导致任务的切换间隔时间过长,进而影响到系统对事件的响应效果。举个例子,如下图所示,硬件定时器按照固定的时间间隔产生中断,然后在
3、时钟节拍中断ISR中(图中以T标记)处理内核的工作。T(TTI这段时间是内核占用的时间(时钟节拍处理程序),TT2这段时间是任务占用的时间。而T(Tr2则是一次时钟节拍的全部时间,可以看出,任务1的本轮执行占用了3个时钟节拍。-U4IIIIII瓦房71作豕4,-IIIIII一而面询门r7痴闲而7。一萌用RTOT1T2T3T4T5因为不同任务的运行路径不同,在某一时刻有些任务可能需要等待一些资源,这时可以通过某种方案,使当前任务让出处理器,从而避免因为任务等待资源而长期占有处理器而使其他任务无法运行。这样多任务机制可以使处理器的利用率得到提高,并提高了系统的处理能力。在多任务操作系统内核中必须提供解决并发任务的机制。通用操作系统一般以“进程”、“线程等为单位来管理用户任务。但在很多嵌入式操作系统中,并没有区分进程和线程,只是把整个操作系统当作一个大的运行实体,其中运行着很多任务。任务通常作为调度的基本单位。审核刘清