Table of Contents
排程算法对于操作系统来说是高效管理进程执行的必不可少的,它们决定了分配CPU时间,影响系统性能和响应的顺序. 本篇文章比较了三种常见算法:第一来,第一服务(FCFS),最短工作第一(SJF),和回合罗宾,用计算来说明它们的区别.
首发、首发、首发
FCFS 调度按到达顺序进行处理,很简单,但会导致较长的等待时间,以缩短流程,被称为"召集效应".
示例: 爆破乘数为 5、 3 和 8 的处理过程按顺序到达。 Gantt 图表显示等待和翻转时间的执行顺序和计算 。
计算:
- 流程1:等待时间=0,转弯时间=5
- 过程2:等待时间=5,转弯时间=8
- 过程3:等待时间=8,转弯时间=16
最短工作第一( SJF)
SJF 选择进程, 其下个最小的爆发时间。 它会将平均等待时间最小化, 但需要事先了解进程的持续时间 。
SJF使用相同的流程,将其排为3,5,然后8个单元,导致不同的等待时间.
计算:
- 过程2:等待时间=0,转弯时间=3
- 流程1:等待时间=3,转弯时间=8
- 过程3:等待时间=8,转弯时间=16
轮到Robin排程
圆罗宾为每个过程分配一个固定的时间切片或量子. 过程被循环到完成,促进公平和反应.
假设量子为2个单元,过程按周期进行排期,计算时根据总执行时间和等待时间.
流程完成时间和等待时间的示例计算如下:
- 流程1:等待时间=4,转弯时间=9
- 过程2:等待时间=2,转弯时间=5
- 过程3:等待时间=8,转弯时间=16