| 首页 | 技术文章 | 资料下载 | 资料分类 | 最近更新资料 | 免费注册 | 用户登录 | 会员中心 | 新手上路 | 给我留言 | ||||||
|
|
||
| μC/OS-ll中任务调度算法的改进(2)
作者:英特尔中国软件中心 吴平 来源于:单片机及嵌入式系统应用 发布时间:2007-2-7 16:54:00 |
2 μC/OS调度算法的改进 μC/OS中的每个任务具有一个任务控制块0S_TCB,任务控制块记录任务执行的环境,包括任务的优先级、任务的堆栈指针、任务的相关事件控制块指针等。内核将系统中处于就绪态的任务在就绪表中进行标注,通过就绪表中的两个变量OSRdyGrp和OSRdyTbl[]可快速查找系统中就绪的任务。在μC/OS—II中每个任务有唯一的优先级,因此任务的优先级也是任务的唯一标识。内核可用控制块优先级表OSTCBPrioTbl[]通过任务的优先级查到任务控制块的地址。μC/OS—II主要就是利用任务控制快OS_TCB、就绪表和控制块优先级表0STCBPrioTbl[]来进行任务调度。任务调度程序OSSched()首先由就绪表中找到当前系统中处于就绪态的优先级最高的任务,然后根据其优先级由控制块优先级表0STCBPrioTbl[]取得相应任务控制块的地址,由OS_TASK—SW()程序进行运行环境的切换。若在任务运行时发生中断,则转向执行中断程序,执行完毕后不是简单地返回中断调用处,而是由OSIntExit()程序进行任务调度,执行当前系统中优先级最高的就绪态任务。
μC/OS中共有64个任务,其中作者保留了8个任务以备将来使用,因此用户可以有多达56个应用任务。将这些任务划分为3个层次,如图l所示。 |
|
[] [返回上一页] [告诉好友] [发表评论] [打 印] [ 字体:大 中 小 ] |
| 上篇文章:μC/OS-ll中任务调度算法的改进(1) 下篇文章:μC/OS-ll中任务调度算法的改进(3) |
| ∷相关文章∷ |
| · 实时操作系统μC/OS-II在MCF5272上的移植 · μC/OS-ll中任务调度算法的改进(1) · μC/OS-ll中任务调度算法的改进(4) · μC/OS-Ⅱ在ARM7上移植方法的探讨与实现 · μC/OS-ll中任务调度算法的改进(3) |
| ∷相关软件∷ |
| 嵌入开发网下载中心Copyright © 2000-2006 www.embed.com.cn. All Rights Reserved . |