操作系统设计/进程调度/FCFS
外观
< 操作系统设计
先到先服务 (通常称为 FIFO ‒ 先进先出) 进程调度算法是最简单的进程调度算法。它很少在现代操作系统中使用,但有时用于其他调度系统内部。
FIFO 的行为类似于任何正常的队列,无论是电影院的排队、商店的收银台排队,还是售票亭的排队。第一个到达的人或进程 (先进) 是第一个得到处理的人 (先出)。如果一个人穿过队伍然后决定忘记了一些东西,那么他们必须重新穿过队伍。
这正是使用这种设计的操作系统让程序执行其业务的方式。一次一个人 (又名:进程)。
要实现这一点,您可以创建一个队列,一种抽象数据类型 (ADT),可以由链表数据结构构建。系统可以从队列前端出队下一个进程,运行该进程直至完成 (或在更复杂的方案中将该进程入队到队列尾部),然后将该进程入队到队列尾部,允许下一个进程使用 CPU。
优点
- 简单
- 易于使用和理解
- 先到先服务
缺点
- 这种调度方法是非抢占式的,也就是说,进程将一直运行到完成。
- 由于这种非抢占式调度,位于队列尾部的短进程必须等待位于前端的长进程完成。
- 吞吐量效率不高。
- 它仅用于 I/O 效率不太重要的小型系统中。