QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2211|回复: 2

请教uC/OS中的"OSUnMapTbl[]"是怎么得来的?

[复制链接]
发表于 2004-2-24 21:53:03 | 显示全部楼层 |阅读模式
如下所示为uC/OS中的"OSUnMapTbl[]":
INT8U const OSUnMapTbl[] ={
0,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,
}
如书上它是一个预先编制的对照表,用来加快查找最高优先级的进程。通过逻辑推算能够得到这张表,但是我想知道这个表是怎么计算出来的(用数学公式来表达)。不知道有没人研究过?
发表于 2004-2-26 00:20:54 | 显示全部楼层
仔细看看邵老师翻译的书,应该可以得到答案
回复

使用道具 举报

发表于 2004-5-16 13:22:19 | 显示全部楼层
这个表中的元素值表示该元素的索引的最低为1位的位置。例如,第4个元素,其索引值4的二进制表示为(00000100), 其最低为1的位是第2位,所以第4个元素值是2。再比如第5个元素,其索引值5的二进制表示为(00000101),其最低为1的位是第0位,所以第5个元素值为0。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 00:34 , Processed in 0.044398 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表