说说我对uCOS-II任务调度的理解,大家看看对不,不对请指教

2019-07-20 22:20发布

OS:uCOS-II

以前我一直认为是一个任务只要在运行,只有中断才可以打断它继续运行;但是最近测试发现只要比它优先级高的任务都可以打断它继续运行。只要高优先级的任务满足运行的条件,不管低优先级任务是否在运行,它都可以打断它来抢先运行自己。


总结:
1、中断可以打断任何任务而抢先运行,不管任务是否在运行都没有关系,即中断来了它就要使用CPU
2、高优先级的任务只要满足运行的条件,不管低优先级的任务是否在运行都没有关系,即使低优先级任务在运行,高优先级任务也可以打断它【类似中断的现象】而运行自己


这样理解对吗?不对请指点
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
天山狐狸
1楼-- · 2019-07-22 22:12
特朗姆斯 发表于 2016-5-3 11:16
这个情况我没试过。。值得探究一下

嗯,我晚上可以再测试下没有中断下,看看高优先级任务是否可以打断正在运行的低优先级任务
天山狐狸
2楼-- · 2019-07-23 03:58
 精彩回答 2  元偷偷看……
天山狐狸
3楼-- · 2019-07-23 04:43
正点原子 发表于 2016-5-3 09:43
正确,ucos就是抢占型的操作系统,抢占的意思就是你的第2点了。

谢谢

实际测试验证了我的理解是对的。
天山狐狸
4楼-- · 2019-07-23 05:09
特朗姆斯 发表于 2016-5-3 11:16
这个情况我没试过。。值得探究一下

哈哈,今天测试了下没有中断情况下,高优先级打断正在运行的低优先级任务的情况,事实证明确实如我楼主位说的,不仅中断可以打断正在运行的任何优先级任务,而且高优先级的任务也可以打断正在运行的低优先级任务。。。
特朗姆斯
5楼-- · 2019-07-23 06:12
 精彩回答 2  元偷偷看……
来俩不甜的
6楼-- · 2019-07-23 08:44
天山狐狸 发表于 2016-5-5 16:14
哈哈,今天测试了下没有中断情况下,高优先级打断正在运行的低优先级任务的情况,事实证明确实如我楼主位 ...

我觉得是在systickhandler里面进行任务切换了,高优先级任务怎么可能会打断低优先级任务呢。

一周热门 更多>