Operating system Linux内核中的调度策略

Operating system Linux内核中的调度策略,operating-system,linux-kernel,scheduling,scheduled-tasks,round-robin,Operating System,Linux Kernel,Scheduling,Scheduled Tasks,Round Robin,Linux内核中是否有两个以上的调度策略同时工作? FIFO和循环调度可以在同一台机器上工作吗?是!!现在,在操作系统的不同阶段,我们有不同的调度策略。。循环通常在获得核心执行之前完成。。。fifo已经完成,在新流程的开始阶段 是的,Linux至少支持4种不同的任务调度方法:SCHED_批处理、SCHED_公平、SCHED_FIFO和SCHED_RR 无论采用何种调度方法,所有任务都有固定的硬优先级(批处理和公平的优先级为0,FIFO和RR的RT调度方法的优先级为1-99)。任务首先由优先级选择

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

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

是的,Linux至少支持4种不同的任务调度方法:SCHED_批处理、SCHED_公平、SCHED_FIFO和SCHED_RR

无论采用何种调度方法,所有任务都有固定的硬优先级(批处理和公平的优先级为0,FIFO和RR的RT调度方法的优先级为1-99)。任务首先由优先级选择-优先级最高者获胜

但是,如果有多个任务可以以相同的优先级运行,这就是调度方法的作用所在:公平任务将只在分配给其他公平任务的CPU时间的权重(权重来自称为任务nice级别的软优先级)份额下运行,一个FIFO任务将运行一个固定的时间片,然后转向另一个任务(具有相同优先级-优先级较高的任务始终获胜),RR任务将运行,直到它阻止具有相同优先级的其他任务


请注意,我上面写的内容是准确的,但并不完整,因为它没有考虑高级CPU保留功能,但它提供了不同调度方法相互作用的详细信息。

@chandra:你可以看看中期和长期调度程序。。它们都生活在同一个内核中。那么每个调度策略都有单独的运行队列和等待队列吗?对于不同的调度策略系列,有不同的运行队列:RT运行队列(RR和FIFO)和公平运行队列(nice level和batch)。好的,等待队列是根据您正在等待的对象设置的,与调度策略无关。是的。。每个设备的等待队列基本正确。RR有一个固定的时间片,FIFO将一直运行,直到屈服或阻塞。