操作系统 RR循环调度算法

操作系统 RR循环调度算法

在本教程中,我们将学习最有效的CPU进程调度算法,名为循环调度CPU进程调度。这个算法非常特殊,因为它将消除我们在先前的CPU进程调度算法中发现的所有缺陷。

循环调度CPU调度的流行程度很高,因为循环调度仅在抢占态中工作。这使得它非常可靠。

重要缩写

  1. CPU – – -> 中央处理器
  2. AT – – -> 到达时间
  3. BT – – -> 延迟时间
  4. WT – – -> 等待时间
  5. TAT – – -> 周转时间
  6. CT – – -> 完成时间
  7. FIFO – – -> 先进先出
  8. TQ – – -> 时间片

循环调度CPU调度

循环调度CPU调度是历史上使用过的最重要的CPU调度算法之一。循环调度CPU调度使用时间片(TQ)。时间片是从延迟时间中减去的,以完成一块进程。

时间共享是该算法的主要重点。该算法的每一步都是循环执行的。系统定义了一个特定的时间片,称为时间片。

首先,有资格进入就绪队列的进程进入就绪队列。输入就绪队列的第一个进程执行一段时间的时间片后,执行完成,该进程将从就绪队列中删除。即使现在进程需要一些时间来完成其执行,该进程也会被添加到就绪队列中。

就绪队列不会保持已经在就绪队列中的进程。就绪队列设计成不保留非唯一进程。保持相同进程将增加进程的冗余。

当进程执行完成后,就绪队列不会将完成的进程保留。

优点

循环调度的优点包括:

  1. 每个作业都被分配了公平的CPU时间。
  2. 因为它不依赖于爆发时间,可以真正地在系统中实现。
  3. 它不受抢占式调度算法中出现的追车效应或饥饿问题的影响。

缺点

循环调度的缺点包括:

  1. 操作系统切片时间过低会导致CPU输出减少。
  2. 循环调度方法在切换上下文的时间上较长。
  3. 时间量子对其性能有重大影响。
  4. 程序无法设置优先级。

    示例:

S. No    Process ID    Arrival Time    Burst Time          
_ _ _    _ _ _ _ _ _    _ _ _ _ _ _    _ _ _ _ _ _ _     
1         P 1            0             7        
2         P 2            1             4    
3         P 3            2             15   
4         P 4            3             11   
5         P 5            4             20       
6         P 6            4             9

假设时间片TQ = 5

就绪队列:

P1, P2, P3, P4, P5, P6, P1, P3, P4, P5, P6, P3, P4, P5

甘特图:

操作系统 RR循环调度算法

平均完成时间

Average Completion Time = ( 31 +9 + 55 +56 +66 + 50 ) / 6
Average Completion Time = 267 / 6
Average Completion Time = 44.5

平均等待时间

Average Waiting Time = ( 5 + 26 + 5 + 42  + 42 + 37 ) / 6
Average Waiting Time = 157 / 6
Average Waiting Time = 26.16667

平均转换时间

Average Turn Around Time = ( 31 + 8 + 53  + 53 + 62 + 46 ) / 6
Average Turn Around Time = 253 / 6
Average Turn Around Time = 42.16667

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程