任务挂起表
当一个任务等待信号量、互斥信号量、事件标志组、或者消息队列时,该任务就被加入任务挂起表,或者等待表中。
任务挂起表中的任务也是按照优先级排序的,高优先级的任务放在前面, 低优先级的任务放在后面。
以下是用到任务挂起表的几种内核对象,事件标志组、互斥信号量、信号量、消息。每个内核对象的头部都有三个相同的数据域,这三个数据域合起来叫做OS_PEND_OBJ。
任务挂起表实际上并不指向任务的控制块OS_TCB,而是指向一个OS_PEND_DATA类型的数据结构,其在任务被放入任务挂起表时会被动态分配到改任务的堆栈空间中。
任务挂起表的管理函数是ucos-iii的内部函数,用户程序不可以访问。