📅  最后修改于: 2020-12-14 01:42:55             🧑  作者: Mango
先来先服务(FCFS)调度算法仅根据作业的到达时间来调度作业。在就绪队列中排在最前面的作业将首先获取CPU。作业的到达时间越短,作业越早获得CPU。如果第一个进程的突发时间在所有作业中最长,则FCFS调度可能会导致饥饿问题。
让我们以FCFS调度算法为例。在以下时间表中,有5个进程,进程ID为P0,P1,P2,P3和P4 。在就绪队列中,P0在时间0到达,P1在时间1,P2在时间2,P3在时间3到达,过程P4在时间4到达。下表中列出了这些过程及其各自的到达和爆发时间。
使用以下公式计算周转时间和等待时间。
Turn Around Time = Completion Time - Arrival Time
Waiting Time = Turnaround time - Burst Time
平均等待时间是通过将所有进程的各自等待时间相加,然后将总和除以进程总数而确定。
Process ID | Arrival Time | Burst Time | Completion Time | Turn Around Time | Waiting Time |
---|---|---|---|---|---|
0 | 0 | 2 | 2 | 2 | 0 |
1 | 1 | 6 | 8 | 7 | 1 |
2 | 2 | 4 | 12 | 8 | 4 |
3 | 3 | 9 | 21 | 18 | 9 |
4 | 4 | 12 | 33 | 29 | 17 |
平均等待时间= 31/5
(甘特图)