Day 02Part 05 – Operating system- Examples based on First come first serve basic algorithms (FCFS).
Contents
- 1 First Come, First Serve (FCFS) Scheduling – Examples & Explanation
- 2 1. Introduction to FCFS Scheduling
- 3 2. Steps to Implement FCFS Scheduling
- 4 3. Example of FCFS Scheduling
- 5 4. Gantt Chart Representation
- 6 5. Key Observations in FCFS
- 7 Day 02Part 05 – Operating system- Examples based on First come first serve basic algorithms (FCFS).
- 8 Unit IV – CPU Scheduling and Algorithm
- 9 Operating System : Scheduling Algorithm
First Come, First Serve (FCFS) Scheduling – Examples & Explanation
1. Introduction to FCFS Scheduling
- First Come, First Serve (FCFS) is the simplest CPU scheduling algorithm.
- The process that arrives first gets executed first.
- It is non-preemptive, meaning once a process starts, it cannot be interrupted until it finishes.
2. Steps to Implement FCFS Scheduling
Sort processes by their arrival time (earliest first).
Execute each process in the order of arrival.
Compute the completion, turnaround, and waiting times.
3. Example of FCFS Scheduling
Given Data
Process | Arrival Time (AT) | Burst Time (BT) |
---|---|---|
P1 | 0 ms | 4 ms |
P2 | 1 ms | 3 ms |
P3 | 2 ms | 1 ms |
P4 | 3 ms | 2 ms |
Step 1: Compute Completion Time (CT)
FCFS executes processes in the order they arrive.
Process | AT | BT | Start Time | Completion Time (CT) |
---|---|---|---|---|
P1 | 0 | 4 | 0 | 4 |
P2 | 1 | 3 | 4 | 7 |
P3 | 2 | 1 | 7 | 8 |
P4 | 3 | 2 | 8 | 10 |
Step 2: Compute Turnaround Time (TAT)
TAT=CT−ATTAT = CT – AT
Process | CT | AT | TAT (CT – AT) |
---|---|---|---|
P1 | 4 | 0 | 4 |
P2 | 7 | 1 | 6 |
P3 | 8 | 2 | 6 |
P4 | 10 | 3 | 7 |
Step 3: Compute Waiting Time (WT)
WT=TAT−BTWT = TAT – BT
Process | TAT | BT | WT (TAT – BT) |
---|---|---|---|
P1 | 4 | 4 | 0 |
P2 | 6 | 3 | 3 |
P3 | 6 | 1 | 5 |
P4 | 7 | 2 | 5 |
Step 4: Calculate Average Times
Average Turnaround Time=4+6+6+74=5.75 ms\text{Average Turnaround Time} = \frac{4 + 6 + 6 + 7}{4} = 5.75 \text{ ms} Average Waiting Time=0+3+5+54=3.25 ms\text{Average Waiting Time} = \frac{0 + 3 + 5 + 5}{4} = 3.25 \text{ ms}
4. Gantt Chart Representation
5. Key Observations in FCFS
Simple and easy to implement.
Works well for smaller processes.
Not optimal for minimizing waiting time.
Suffers from “Convoy Effect” – when a long process delays shorter ones.
Would you like a Python/C program to simulate FCFS?