在嵌入式项目中,我们在决定使用哪个调度策略时遇到困难。对于要通过的某些测试用例,我们需要使用SCHED_OTHER
,对于其他一些测试用例,我们需要使用SCHED_RR
。但是,如果我们为某个任务设置SCHED_RR
并将其作为SCHED_OTHER
,则所有测试用例都会通过。它是否合法,是否在同一项目中使用这两个策略会产生任何额外的副作用?
答案 0 :(得分:0)
我假设你在谈论Linux?然后是的,使用SCHED_RR运行某些任务并使用SCHED_OTHER运行其他任务是完全可以接受的。
请注意,SCHED_RR任务总是在SCHED_OTHER任务之前运行。因此,如果将任务设置为SCHED_RR,那么测试运行效果就不足为奇了。需要注意的是,您的SCHED_RR任务可能会使用100%的CPU,并使SCHED_OTHER任务匮乏。当你说某些输入被丢弃时,可能会发生这种情况。
迈克尔