- 28
- 0
- 约1.06万字
- 约 12页
- 2015-10-12 发布于重庆
- 举报
uCOSIII的任务调度算法研究
uC/OS-III 的任务调度算法研究
1. 就绪列表
1.1 概述
准备好运行的任务被放到就绪列表中,如图 1.1。就绪列表是一个数组(OSRdyList[] ),
它一共有 OS_CFG_PRIO_MAX 条记录,记录的数据类型为 OS_RDY_LIST( 见 OS.H)。就
绪列表中的每条记录都包含了三个变量.Entries、.TailPtr、.HeadPtr。
.Entries 中该优先级的就绪任务数。当该优先级中没有任务就绪时, .Entries 就会被设
置为 0。
.TailPtr 和.HeadPtr 用亍该优先级就绪任务的建立双向列表。.HeadPtr 指向列表的头
部,.TailPtr 指向列表的尾部。
表中的记录跟任务的优先级有关。例如,如果一个任务的优先级是 5 ,那么当它就绪时会被
放入 OSRdyList[5] 中。
图 1.1 :任务就绪表
1.2 调用 OSInit()后的就绪列表
有多少种优先级,就绪列表中就由多少条记录。每个记录中都有 3 个变量。Entries 为
该记录中的任务数。.PrevPtr 和 .NextPtr 用亍指向具有相同优先级到TCB 组成的双向列表。
对亍空闲任务,
原创力文档

文档评论(0)