1、什么是轮询调度?
这个算法的名字来自于轮询(round-robin)原则,即每个人轮流获得相等的份额。它是最古老、最简单的调度算法,主要用于多任务处理。
在轮询调度中,每个准备好的任务只在有限的时间片的循环队列中轮流运行。该算法还提供了进程的无饥饿执行(指某些进程长时间等待,当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义)。
2、轮询调度的特性
以下是轮询调度的重要特征:
轮询是一种先发制人的算法;
CPU在固定时间间隔后转移到下一个进程,也被称为时间切片/量子;
被抢占的进程被添加到队列的末尾;
轮询是一种时钟驱动的混合模型;
时间片应该是最小的,它是为需要处理的特定任务分配的。但是,它可能会因操作系统而异;
它是一种实时算法,在特定的时间限制内响应事件;
轮询是最古老、最公平、最简单的算法之一;
传统操作系统中广泛使用的调度方法。
3、轮询调度示例
4、轮询调度的优势
以下是轮询调度方法的优点:
它没有面临饥饿或车队效应的问题;
所有作业都获得公平的CPU分配;
它处理所有过程,没有任何优先级;
如果你知道运行队列上的进程总数,则还可以假设同一进程的最坏情况响应时间;
此调度方法不依赖于突发时间。这就是为什么它很容易在系统上实现;
在特定时间段内执行一组进程后,该进程将被抢占,另一个进程将在该给定时间段内执行;
允许操作系统使用上下文切换方法来保存已抢占进程的状态;
它在平均响应时间方面提供了最佳性能。
5、轮询调度的缺点
以下是使用轮询调度的缺点:
如果操作系统的切片时间较短,则处理器输出将减少;
此方法在上下文切换上花费更多时间;
它的性能在很大程度上取决于时间量;
无法为流程设置优先级;
轮循机制计划不会为更重要的任务提供特殊优先级;
降低理解力;
时间量程越短,系统中的上下文切换开销就越高;
在这个系统中,找到一个正确的时间量程是一项相当困难的任务。
6、最坏情况延迟
此术语用于执行所有任务所需的最大时间。
dt = 表示将任务放入列表时的检测时间
st = 表示从一个任务切换到另一个任务的时间
et = 表示任务执行时间
7、总结
该算法的名称来自轮循机制原则,其中每个人都轮流获得相等的份额。
轮循机制是传统操作系统中最古老、最公平、最简单的算法之一,也是广泛使用的调度方法。
轮循机制是一种先发制人的算法。
轮循机制调度方法的最大优点是,如果您知道运行队列上的进程总数,那么您也可以假设同一进程的最坏情况响应时间。
此方法在上下文切换上花费更多时间。
最坏情况延迟是一个术语,用于表示执行所有任务所花费的最长时间。