嵌入式多任务系统的多任务机制理论篇_第1页
嵌入式多任务系统的多任务机制理论篇_第2页
嵌入式多任务系统的多任务机制理论篇_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式多任务系统的多任务机制理论篇在单处理器(嵌入式MCU)的计算机系统中,在某一具体时刻处理器只能运行一个任务,但是可以通过将处理器运行时间分成小的时间段,多个任务按照一定的原则分享这些时间段的方法,轮流加载执行各个任务,从而从宏观上看,有多个任务在处理器上同时执行,这就是单处理器系统上的多任务机制的原理,如下图所示:任务A和任务B按照等长时间轮流占用处理器,在单处理器上造成多个任务同时运行的假象。这里先聊一聊多任务系统架构的分割时间段。将处理器运行时间分成小的时间段指明了把处理器时间以多大的频率分割成固定长度的时间片段,也叫做多任务系统架构的时钟节拍。作为多任务系统运行的时间尺度,时钟节拍是通过特定的硬件定时器产生的。硬件定时器会产生周期的中断,在相应的中断处理函数中,内核代码得以运行,从而进行任务调度和定时器时间处理等内核工作。硬件定时器中断的时间间隔取决于不同的内核设计,一般是毫秒级的。时钟节拍越快,内核函数介入系统运行的几率就越大,时钟节拍中断响应次数越多,内核占用的处理器时间越长。相反,如果时钟节拍太慢,则导致任务的切换间隔时间过长,进而影响到系统对事件的响应效果。举个例子,如下图所示,硬件定时器按照固定的时间间隔产生中断,然后在时钟节拍中断ISR中(图中以T标记)处理内核的工作。T0~T1这段时间是内核占用的时间(时钟节拍处理程序),T1~T2这段时间是任务占用的时间。而T0~T2则是一次时钟节拍的全部时间,可以看出,任务1的本轮执行占用了3个时钟节拍。因为不同任务的运行路径不同,在某一时刻有些任务可能需要等待一些资源,这时可以通过某种方案,使当前任务让出处理器,从而避免因为任务等待资源而长期占有处理器而使其他任务无法运行。这样多任务机制可以使处理器的利用率得到提高,并提高了系统的处理能力。在多任务操作系统内核中必须提供解决并发任务的机制。通用操作系统一般以“进程”、“线程"等为单位来管理用户任务。但在很多嵌入式操作系统中,并没有区分进程和线程,只是把整个操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论