找回密码
 注册
搜索
查看: 1232|回复: 6

[讨论] 怎么去确定一个任务的栈的大小和任务的优先级

[复制链接]
发表于 2007-1-24 11:05:32 | 显示全部楼层 |阅读模式
大家好,怎么去确定一个任务的栈的大小和任务的优先级.比如在nucleus,rex或者threadX里面. 我是做手机开发的,这一方面一直没有想明白.是不是通过经验和实验和选择合适的栈的大小和任务的优先级呢. 比如先给新建的任务一个比较充裕的栈空间和估计的优先级,然后让任务在RTOS中跑起来,统计各种极限下栈的使用情况,和任务间的调度情况,最终修订栈的大小和优先级.   这是我的猜想,唯一可以自己做的东西让人给外包了.呵呵.
 楼主| 发表于 2007-1-24 11:05:32 | 显示全部楼层 |阅读模式
大家好,怎么去确定一个任务的栈的大小和任务的优先级.比如在nucleus,rex或者threadX里面. 我是做手机开发的,这一方面一直没有想明白.是不是通过经验和实验和选择合适的栈的大小和任务的优先级呢. 比如先给新建的任务一个比较充裕的栈空间和估计的优先级,然后让任务在RTOS中跑起来,统计各种极限下栈的使用情况,和任务间的调度情况,最终修订栈的大小和优先级.   这是我的猜想,唯一可以自己做的东西让人给外包了.呵呵.
发表于 2007-2-6 09:10:01 | 显示全部楼层
任务的优先级是取决于你对整个系统的了解以及对实时性的要求阿,比如语音部分一般是对实时性要求最高的,而数据传输则要求不高,当然任务的优先级就区分出来了。至于栈大小的设置,要取决于需要压栈的内容多少,这个我觉得可以先估计然后再调整,现在的存储容量都挺大,多开一些堆栈空间再说。
点评回复

使用道具 举报

发表于 2007-2-6 09:10:01 | 显示全部楼层
任务的优先级是取决于你对整个系统的了解以及对实时性的要求阿,比如语音部分一般是对实时性要求最高的,而数据传输则要求不高,当然任务的优先级就区分出来了。至于栈大小的设置,要取决于需要压栈的内容多少,这个我觉得可以先估计然后再调整,现在的存储容量都挺大,多开一些堆栈空间再说。
点评回复

使用道具 举报

发表于 2007-5-21 16:29:46 | 显示全部楼层
关于优先级,我曾经看到过一个算法可以定量的计算。但是总体原则就是执行的快的,重要性高的优先级别高。至于堆栈就要自己算了,有多少寄存器需要保护,局部变量的数目什么的。
点评回复

使用道具 举报

发表于 2007-6-8 16:26:26 | 显示全部楼层
[em13]
点评回复

使用道具 举报

发表于 2007-6-29 00:58:39 | 显示全部楼层
楼上的分析都很透彻,有道理,当然这是需要经验的。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-26 16:46 , Processed in 0.047340 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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