OS Scheduler

First-Come-First-Served Scheduling (FCFS)

Each process joins the Ready queue. When the current process ceases to execute, the oldest process in the Ready queue is selected.

A FIFO scheduling policy is obviously the first thing that comes to mind, but it has some limitations (more below).

A short process may have to wait a very long time before it can execute

  • Good for computation-intensive processes
  • Favours CPU-bound processes
  • I/O processes will block soon and then have to wait until CPU-bound process completes

Why does it favour CPU-bound processes?

Because it will be busy. IO-bound processes will not be doing any work.

If you have a lot of processors, SJF might actually be better. Much less context switch than Round Robin.

FCFS is not an attractive alternative on its own for a uniprocessor system. However, it is often combined with a priority scheme to provide an effective scheduler.

Thus, the scheduler may maintain a number of queues, one for each priority level, and dispatch within each queue on a first-come-first-served basis.