FCFS Scheduling Algorithm: What is, Example Program
โก Smart Summary
First Come First Serve scheduling runs processes in the exact order they reach the ready queue, using a simple non-preemptive FIFO approach that makes it the easiest CPU scheduling algorithm for an operating system to implement.

What is First Come First Serve Method?
First Come First Serve (FCFS) is an operating system scheduling algorithm that automatically executes queued requests and processes in order of their arrival. It is the easiest and simplest CPU scheduling algorithm. In this type of algorithm, the process that requests the CPU first gets the CPU allocation first. This is managed with a FIFO queue. The full form of FCFS is First Come First Serve.
As a process enters the ready queue, its PCB (Process Control Block) is linked with the tail of the queue. So, when the CPU becomes free, it is assigned to the process at the beginning of the queue.
Characteristics of FCFS Method
The main characteristics of the First Come First Serve method are listed below:
- It is a non-preemptive scheduling algorithm, so a process keeps the CPU until it completes its burst time.
- Jobs are always executed on a first-come, first-serve basis.
- It is easy to implement and use.
- This method is poor in performance, and the general wait time is quite high.
Example of FCFS Scheduling
A real-life example of the FCFS method is buying a movie ticket at the ticket counter. In this scheduling algorithm, a person is served according to the queue order. The person who arrives first in the queue buys the ticket first, and then the next one. This continues until the last person in the queue purchases the ticket. Using this algorithm, the CPU process works in a similar manner.
How FCFS Works? Calculating Average Waiting Time
To understand how the algorithm schedules processes, here is an example of five processes arriving at different times. Each process has a different burst time.
| Process | Burst time | Arrival time |
| P1 | 6 | 2 |
| P2 | 2 | 5 |
| P3 | 8 | 1 |
| P4 | 3 | 0 |
| P5 | 4 | 4 |
Using the FCFS scheduling algorithm, these processes are handled as follows.
Step 1) The process begins with P4, which has arrival time 0.
Step 2) At time=1, P3 arrives. P4 is still executing. Hence, P3 is kept in a queue.
Step 3) At time=2, P1 arrives and is kept in the queue.
Step 4) At time=3, the P4 process completes its execution.
Step 5) At time=4, P3, which is first in the queue, starts execution.
Step 6) At time=5, P2 arrives and is kept in a queue.
Step 7) At time=11, P3 completes its execution.
Step 8) At time=11, P1 starts execution. It has a burst time of 6, so it completes execution at time interval 17.
Step 9) At time=17, P5 starts execution. It has a burst time of 4, so it completes execution at time=21.
Step 10) At time=21, P2 starts execution. It has a burst time of 2, so it completes execution at time interval 23.
Step 11) Now, let us calculate the average waiting time for the above example.
Waiting time = Start time - Arrival time
P4 = 0 – 0 = 0
P3 = 3 – 1 = 2
P1 = 11 – 2 = 9
P5 = 17 – 4 = 13
P2 = 21 – 5 = 16
Average Waiting Time = (0 + 2 + 9 + 13 + 16) / 5 = 40 / 5 = 8
Advantages of FCFS
Here are the pros and benefits of using the FCFS scheduling algorithm:
- It is the simplest form of a CPU scheduling algorithm.
- It is easy to program.
- It follows a straightforward first-come, first-served order.
Disadvantages of FCFS
Here are the cons and drawbacks of using the FCFS scheduling algorithm:
- It is a non-preemptive CPU scheduling algorithm, so once a process has been allocated to the CPU, it will never release the CPU until it finishes executing.
- The average waiting time is high.
- Short processes at the back of the queue have to wait for the long process at the front to finish.
- It is not an ideal technique for time-sharing systems.
- Because of its simplicity, FCFS is not very efficient.












