完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
想知道为什么UCOS中任务控制块要使用链表来访问,有什么优势?
链表的优点是不用占用连续的存储空间,但是访问速度慢。但是UCOS在OSInit()使用数组来定义对应任务数的控制块,这已经占用了连续的存储空间,为什么还要用链表连起来。 如果直接给每一个任务固定好任务控制块,即把优先级号作为对应任务的任务控制块数组下标,这样访问起来不是更方便。 呵呵 望大侠指点 |
|
相关推荐
2个回答
|
|
方便管理吧,删除,添加,这是很常见的操作啊,固定死了,那就不太好管理了。
|
|
|
|
A:如果直接给每一个任务固定好任务控制块,即把优先级号作为对应任务的任务控制块数组下标,这样访问起来不是更方便?
Q:如果用户只定义了两个任务,优先级分别为0和61,那么按照你的说法,以优先级为下标进行分配,那么存放OS_TCB的数组就得分配64(加上空任务和统计任务)个单元,其实仔细想想,按照你的说法,不管用户任务多少个,系统必须总是得定义64个单元,,就算1个用户任务,也得定义64个单元,极其浪费空间。 A:为什么还要用链表连起来? Q:ucos虽然用数组OS_TCBTbl[]来保存OS_TCB,但是要知道,在管理的时候,这个数组被分成了两部分(一个是空闲的,一个是已被分配的),怎么将一个数组看成两部分?显然用链表极为方便。 欢迎交流 QQ: 2606454510 |
|
|
|
只有小组成员才能发言,加入小组>>
793 浏览 0 评论
1152 浏览 1 评论
2528 浏览 5 评论
2861 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2711 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1073浏览 3评论
195浏览 2评论
457浏览 2评论
370浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
455浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 04:47 , Processed in 1.134356 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号