任务控制块

μC/OS-Ⅱ是通过任务控制块来管理任务的。任务控制块是一个基于链表的数据结构,任务控制块主要用于记录任务的堆栈栈顶指针、指向下一个任务控制块的指针、任务等待的延迟时间、任务的当前状态标志与任务的优先级别等一些与任务管理有关的属性。
    当任务的CPU使用权被剥夺时,μC/OS-Ⅱ用任务控制块来保存该任务的状态,从而保证任务重新获得CPU使用权时从断点处执行。

   
任务控制块

μC/OS-Ⅱ最小内核定义了4个指针、 1个数组和1个指针数组 。
OSTCBCur-指向“当前任务控制块”的指针;
OSTCBFreeList-“空任务控制块”链表的表头指针;
OSTCBHighRdy -指向“将要运行最高优先级任务控制块”的指针;
OSTCBList-“已使用任务控制块”链表的表头指针;
任务控制块
    OSTCBPrioTbl[]-任务控制块优先级表,专门用来存放指向各任务控制块的指针,并按任务的优先级别将这些指针存放在数组的各个元素里。

 

任务控制块

OSTCBTbl[]-任务控制块数组,所有的任务控制块都保存在这个数组中

posted on 2016-01-04 11:41  acodewarrior  阅读(717)  评论(0编辑  收藏  举报

导航