Linux内核中的调度策略

时间:2012-03-19 17:34:18

标签: operating-system linux-kernel scheduling scheduled-tasks round-robin

Linux内核中是否可以同时使用两个以上的调度策略? FIFO和Round Robin可以在同一台机器上工作吗?

2 个答案:

答案 0 :(得分:9)

是的,Linux支持不少于4种不同的任务调度方法:SCHED_BATCH,SCHED_FAIR,SCHED_FIFO和SCHED_RR。

无论调度方法如何,所有任务也都具有固定的硬优先级(对于批处理和公平,其为0,对于FIFO和RR的RT schedulign方法,为1-99)。任务首先是优先选择 - 最高优先级获胜。

但是,有几个任务可用于运行具有相同优先级的 ,这就是调度方法启动的地方:公平任务只会针对其分配的加权运行(权重来自软件)优先级称为任务好的级别)与其他公平任务相关的CPU时间份额,FIFO任务将在产生另一个任务(具有相同优先级 - 优先级较高的任务总是获胜)之前运行固定时间片,并且RR任务将直到它阻止忽视具有相同优先级的其他任务。

请注意我上面写的内容是准确但不完整的,因为它没有考虑提前的CPU预留功能,但它提供了有关不同调度方法的详细信息。

答案 1 :(得分:1)

是的!!现在有一天我们在操作系统的不同阶段有不同的调度策略。循环操作通常在获取核心执行之前完成... fifo完成,在新的进程的开始阶段...... !!!