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.