我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:小鱼儿主页 > 调度算法 >

时间片轮转调度算法基于单片机的应用上如果任务A在其设定的时间

归档日期:08-04       文本归类:调度算法      文章编辑:爱尚语录

  时间片轮转调度算法基于单片机的应用上,如果任务A在其设定的时间片内执行,未执行完毕时,

  时间片轮转调度算法基于单片机的应用上,如果任务A在其设定的时间片内执行,未执行完毕时,

  时间片用完,按我对时间片轮转的理解,应该是跳出去执行另一个获得时间片的任务。我的是疑问是,任务A只执行了一部分就跳出去了,那任务A中的局部变量,中间结果怎样处理以及程序做什...

  时间片用完,按我对时间片轮转的理解,应该是跳出去执行另一个获得时间片的任务。我的是疑问是,任务A只执行了一部分就跳出去了,那任务A中的局部变量,中间结果怎样处理以及程序做什么的处理才能保证下次运行任务A时去继续执行之前跳出去的那个点后面的程序?盼高人解惑,谢谢!

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  你说的时间片轮 我不是很懂 。但是在单片机中 早于中断而在任务A中跳出去, 在中断完成之,又会在任务A跳出去的点又会跳回来的断续完成任务A没有完成的部分 。所以局部变量在任务A完成之前 都是保留的

  嗯,你说的运行A任务时发生中断是这样处理的。我的意思是比如定义15ms的时间片,当前是A获得时间片,开始运行,如果A中由于事件触发比较多,运行时间比平常多了,在15ms内没有运行完毕,但这时A任务已经不容许执行了,而跳转到下一个获得时间片的任务,这时A任务中的局部变量,中间结果怎么处理,任务做什么样的处理?我说的情况应该有可能发生的吧

  哦 对 这种情况是比较多的。你说这种情况A任务的局部变量就全没了。所以这个情况就要在写程序时 考虑在内了。解决方法:1、事件触发的程序不要在触发时运行,可以在触发时给一个标示位置1,在单片机的主循环里只要标示位为1才去运行触发事件。这样就减少事件触发的运行时间。减少对任务A的影响。2、把在任务运行时有的事件触发的运行时间考虑在任务里 。保证任务能完全运行完成。 方法比较多。自己 去想想吧。真正的高手 都会去计算自己程序的运行时间的。我在这方面经验也不多。就说说 我自己的看法。希望对你有帮助。

本文链接:http://i-zyczenia.net/diaodusuanfa/1132.html