A:如果直接给每一个任务固定好任务控制块,即把优先级号作为对应任务的任务控制块数组下标,这样访问起来不是更方便?
Q:如果用户只定义了两个任务,优先级分别为0和61,那么按照你的说法,以优先级为下标进行分配,那么存放OS_TCB的数组就得分配64(加上空任务和统计任务)个单元,其实仔细想想,按照你的说法,不管用户任务多少个,系统必须总是得定义64个单元,,就算1个用户任务,也得定义64个单元,极其浪费空间。
A:为什么还要用链表连起来?
Q:ucos虽然用数组OS_TCBTbl[]来保存OS_TCB,但是要知道,在管理的时候,这个数组被分成了两部分(一个是空闲的,一个是已被分配的),怎么将一个数组看成两部分?显然用链表极为方便。
欢迎交流 QQ: 2606454510
A:如果直接给每一个任务固定好任务控制块,即把优先级号作为对应任务的任务控制块数组下标,这样访问起来不是更方便?
Q:如果用户只定义了两个任务,优先级分别为0和61,那么按照你的说法,以优先级为下标进行分配,那么存放OS_TCB的数组就得分配64(加上空任务和统计任务)个单元,其实仔细想想,按照你的说法,不管用户任务多少个,系统必须总是得定义64个单元,,就算1个用户任务,也得定义64个单元,极其浪费空间。
A:为什么还要用链表连起来?
Q:ucos虽然用数组OS_TCBTbl[]来保存OS_TCB,但是要知道,在管理的时候,这个数组被分成了两部分(一个是空闲的,一个是已被分配的),怎么将一个数组看成两部分?显然用链表极为方便。
欢迎交流 QQ: 2606454510
举报