uCos ii的就绪组和就绪表

        在uCos ii中,就绪组、就绪表是比较基础的概念。理解其含义,对于理解uCos ii 的任务管理、事件管理至关重要。

        就绪组,本质上就是一个8位无符号变量。就绪组变量的每一个bit位代表一组8个任务中是否有就绪的任务。uCos 赋予这个变量以特殊的意义:当其bit0 为1时,代表任务0~任务7中至少有一个任务就绪了;当其bit1 为1时,代表任务8~任务15中至少有一个任务就绪了......当其bit7 为1时,代表任务56~任务63中至少有一个任务就绪了。至于某组8个任务中到底哪一个或哪几个任务就绪了,还得结合就绪表确定。

        就绪表,本质上是8个8位的无符号变量。其中任何一个变量的某一个bit位为1,说明该位代表的任务就绪了。假设就绪表的八个变量,名字为t1 - t8,当t1的第一个比特位即bit0为1时,说明任务0就绪。当t1的第八个比特即bit7为1时,说明任务7就绪。当t8的第一个比特位即bit0为1,说明任务56就绪......

uCos ii支持最多64个任务,任务编号从0到63,0号任务优先级最高。

        至于映射表、反映射表,则是一种空间换时间的做法,通过直接查表取代计算,快速取得就绪任务中最高优先级的任务所在组号,以及在就绪表中的列位置。

你可能感兴趣的:(uCos)