欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

详细讲解操作系统常用的四种作业调度算法(FCFS 丨 SJF 丨 HRRN 丨 RR)--时间片轮转调度算法(RR)

最编程 2024-05-04 20:25:43
...

时间片轮转调度算法(Round Robin Scheduling)是一种基于时间片的进程调度算法,旨在公平地分配CPU时间给各个就绪进程。

时间片轮转调度算法的工作过程如下:

  1. 将所有就绪进程按照到达时间的顺序放入就绪队列。
  2. 设定一个固定的时间片大小,通常为几十毫秒。
  3. 从就绪队列中选择一个进程,分配给它一个时间片的CPU时间。
  4. 若该进程在时间片结束前完成任务,则该进程被移出就绪队列,否则将其放到队列的末尾等待下一次调度。
  5. 重复步骤3和步骤4,直到所有进程执行完毕。

时间片轮转调度算法的优点是能够公平地分配CPU时间给每个就绪进程,避免某个进程独占CPU资源,从而提高系统的可响应性和吞吐量。

然而,时间片轮转调度算法也存在一些缺点。首先,如果时间片太短,频繁进行上下文切换会带来较大的开销。另外,如果某些进程的执行时间较长,会导致其他进程长时间等待,可能会出现“长作业效应”问题。

总结来说,时间片轮转调度算法是一种能够公平分配CPU时间的调度算法,适用于多道程序环境。但需要注意时间片大小的设置以及长作业效应问题。

样例4:

5个进程P1、P2、P3、P4、P5几乎同时到达,预期运行时间分别为10、6、2、4、8个时间单位。请按时间片轮转调度算法计算任务的平均周转时间(假定时间片大小为2个时间单位)。

分析:

按顺序运行5个进程

进程号 P1 P2 P3 P4 P5 备注
剩余运行时间 10 6 2 4 8
第一趟 2 4 6 8 10 P3运行完
剩余运行时间 8 4 0 2 6
第二趟 12 14 16 18 P4运行完
剩余运行时间 6 2 0 0 4
第三趟 20 22 0 24 P2运行完
剩余运行时间 4 0 0 0 2
第四趟 26 28 P5运行完
剩余运行时间 2 0 0 0 0
第四趟 30 P1运行完

时间片轮转调度顺序:

网络异常,图片无法展示
|

平均值
周转时间 10 16 18 22 30 19.2
带权周转时间 1 2.67 9 5.5 3.75 4.384