FCFS代表先到先得。在 FCFS 调度算法中,首先到达就绪队列的作业被分配给 CPU,然后是第二个的作业,依此类推。我们可以说就绪队列充当 FIFO(先进先出)队列,因此到达的作业/进程被放置在队列的末尾。
FCFS 是一种非抢占式调度算法,因为进程会占用 CPU,直到它终止或执行 I/O。因此,如果较长的作业已分配给 CPU,那么在它之后许多较短的作业将不得不等待。该算法用于大多数批处理操作系统。
特征
- 它遵循非抢占式方法,即一旦进程控制了 CPU,它在终止之前不会抢占。
- 选择流程的标准是到达时间。调度程序选择就绪队列中的第一个作业,该作业运行到其 CPU 爆发完成。
- 平均等待时间非常长,因此不是最佳的,因此性能很差。
优点
- FCFS算法简单,易于实现和理解。
- 更适合具有大突发时间的进程,因为进程之间不涉及上下文切换。
- 这是一个公平的算法,因为不涉及优先级,先到达的进程首先得到服务。
缺点
- 护卫效应发生,即所有小进程都必须等待一个大进程离开 CPU。
- 它是非抢占式的,进程在完成其任务并终止之前不会释放 CPU。
- 它不适用于交互式系统,因为它不能保证较短的响应时间。
- 平均等待时间很长,周转时间不可预测,导致性能不佳。