uCOSII操作系统内核源码--------就绪列表

就绪状态优先级确定
准备运行的每个任务都放在一个就绪列表中,该列表由两个变量OSRdyGrp和OSRdyTbl[]组成。在OSRdyGrp中,任务优先级被分组(每组8个任务)。OSRdyGrp中的每个位用于指示组中的任何任务何时准备运行。当任务准备运行时,它还会在准备表OSRdyTbl[]中设置相应的位。OSRdyTbl[]的大小取决于OS_LOWEST_PRIO。当你的应用程序需要很少的任务优先级时,这允许你减少需要的内存(即数据空间)。

为了确定下一步将运行哪个优先级(以及哪个任务),调度器将确定在OSRdyTbl[]中设置了位的最低优先级数。OSRdyGrp与OSRdyTbl[]的关系如图所示,并由以下规则给出:
uCOSII操作系统内核源码--------就绪列表
上图看起来有些复杂,简单来说就是OSRdyTbl[ ]中的一个二进制位代表一个优先级,如OSRdyTbl[5]对应的优先级为40-47,如果OSRdyTbl[5]=10000000,则代表当前存在一个优先级为40的就绪任务,如果OSRdyTbl[5]=00000000,则当前不存在4优先级位40-47的就绪任务,而OSRdyGrp是一个一字节的二进制数,其中的每一位都代表OSRdyTbl[ ]中每一组是否存在就绪任务,如OSRdyGrp=10000001,则代表当前在OSRdyTbl[ 0 ](优先级为0-7)和OSRdyTbl[ 7 ](优先级为 56-63)两个组中存在就绪任务。、
待更。。。。。。。。。。。。。。。。。