UCOS-III时间片轮转调度与延时函数问题

2019-07-20 11:22发布

在这里想请教一个问题,使用UCOS-III的时间片轮转方式,使用任务一创建任务二和任务三,以时间片轮转方式进行任务二和任务三的切换(任务二和任务三同一优先级),在任务二和任务三中,都调用了延时函数OSTimeDlyHMSM(延时1s),任务二和三的时间片为2(10ms),我想问的是,任务二进入延时函数,同时发生任务调度,切换到任务三,在任务三执行10ms后,再次发生任务切换,切换回任务二,但此时任务二的延时时间还未到1s,此时,cpu是如何处理的,这部分的知识我应该去哪里找答案(涉及了哪一块的知识?本人刚开始看UCOS,还不太懂,希望大家回复一下)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
HXDZ
2019-07-21 02:36
知道UCOSII没有时间片轮调度,建议那么做是因为III比II使用要麻烦,从简单到复杂一步步的来更好一点儿。这块知识在UCOSIII调度那一部分找答案,在UCOSIII中,如果优先级相同,如果用时间片轮调度,当任务没有用完分配给它的时间片时,它可以自愿放弃CPU使用权。cpu是按照划分的时间片轮流执行任务,我的理解就是类似交通调度中的加快节拍的交通岗红绿灯。

一周热门 更多>