请教下UCOS中断问题。

[复制链接]
2135|2
 楼主| jlinkv8 发表于 2011-7-16 15:54 | 显示全部楼层 |阅读模式
本帖最后由 jlinkv8 于 2011-7-16 16:41 编辑

假设一个任务在执行过程中,被中断,然后保存现场进入中断后,发现更高优先级任务,这时候,执行更高优先级任务,在执行更高优先级任务时候,被中断的任务处在什么状态?在被中断的代码中,没有看到被挂起的代码。还有更高优先级任务执行完后,是不是马上中断返回到被中断的任务继续执行?
2、正常工作时候,高优先级任务到来,会是剥夺低优先级任务的CPU控制权,切换运行高优先级任务,那么被打断的低优先级任务,处在什么状态?因为高优先级任务运行到末尾调用ostimedly函数进行调度高优先级就绪任务接着运行。。但是之前被打断的低优先级本身就是运行状态了,也就是就绪状态,那么如果判断依然有比被打断的低优先级任务高的任务,不是又没有恢复执行?
john_lee 发表于 2011-7-16 17:08 | 显示全部楼层
你的第2个问题已经自己回答了你的第1个问题。
也就是就绪状态


然后剩余的问题
还有更高优先级任务执行完后,是不是马上中断返回到被中断的任务继续执行?
那么如果判断依然有比被打断的低优先级任务高的任务,不是又没有恢复执行?

实际上是相同的。答案是:是的,如果判断依然有比被打断的低优先级任务高的任务,之前被打断的任务还是得不到执行。
 楼主| jlinkv8 发表于 2011-7-16 18:23 | 显示全部楼层
谢谢。。。呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

15

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部