CPU scheduling is the process of managing how processes are allocated to the
CPU, determining the order in which processes will execute based on their arrival
and priority, while optimizing overall system performance.
CPU scheduling is two type
Preemptive CPU scheduling Non-Preemptive CPU scheduling
1. SRTF(Shortest remaining time first) 1. FCFS(First Come First Serve)
2. RR(Round Robin) 2. SJF(Shortest Job First)
3. LJF(Longest Job First)
First Come First Serve (FCFS) Scheduling Algorithm
Process Table (FCFS)
Process Arrival Time Burst Time Completion Waiting Time Turnaround
Time Time
P1 0 6 6 0 6
P2 2 8 14 4 12
P3 4 7 21 10 17
P4 6 3 24 15 18
P5 8 5 29 16 21
Calculations (FCFS)
Average Turnaround Time: (6 + 12 + 17 + 18 + 21) / 5 = 74 / 5 = 14.8
Average Waiting Time: (0 + 4 + 10 + 15 + 16) / 5 = 45 / 5 = 9.0
Gantt Chart (FCFS)
| P1 |------| P2 |--------| P3 |-------| P4 |---| P5 |
Shortest Job First (SJF) Scheduling Algorithm
Process Table (SJF)
Process Arrival Time Burst Time Completion Waiting Time Turnaround
Time Time
P1 0 6 6 0 6
P4 6 3 9 0 3
P5 8 5 14 1 6
P3 4 7 21 10 17
P2 2 8 29 19 27
Calculations (SJF)
Average Turnaround Time: (6 + 3 + 6 + 17 + 27) / 5 = 59 / 5 = 11.8
Average Waiting Time: (0 + 0 + 1 + 10 + 19) / 5 = 30 / 5 = 6.0
Gantt Chart (SJF)
| P1 |------| P4 |---| P5 |-----| P3 |-------| P2 |
Longest Job First (LJF) Scheduling Algorithm
Process Table
Process Arrival Time Burst Time Completion Waiting Time Turnaround
Time Time
P2 2 8 10 0 8
P3 4 7 17 6 13
P1 0 6 23 17 23
P5 8 5 28 15 20
P4 6 3 31 22 25
Calculations
Average Turnaround Time: (8 + 13 + 23 + 20 + 25) / 5 = 89 / 5 = 17.8
Average Waiting Time: (0 + 6 + 17 + 15 + 22) / 5 = 60 / 5 = 12.0
Gantt Chart
| P2 |---| P3 |------| P1 |------| P5 |---| P4 |
Shortest Remaining Time First (SRTF) Scheduling Algorithm
Process Table (SRTF)
Process Arrival Time Burst Time Completion Waiting Time Turnaround
Time Time
P1 0 6 6 0 6
P2 2 8 15 5 13
P3 4 7 22 11 18
P4 6 3 9 0 3
P5 8 5 17 4 9
Calculations (SRTF)
Average Turnaround Time: (6 + 13 + 18 + 3 + 9) / 5 = 49 / 5 = 9.8
Average Waiting Time: (0 + 5 + 11 + 0 + 4) / 5 = 20 / 5 = 4.0
Gantt Chart (SRTF)
| P1 |--| P2 |----| P4 |--| P2 |----| P5 |---| P3 |
Round Robin (RR) Scheduling Algorithm
Process Table (RR) (Time Quantum = 4)
Process Arrival Time Burst Time Completion Waiting Time Turnaround
Time Time
P1 0 6 14 8 14
P2 2 8 20 10 18
P3 4 7 23 12 19
P4 6 3 9 0 3
P5 8 5 17 4 9
Calculations (RR)
Average Turnaround Time: (14 + 18 + 19 + 3 + 9) / 5 = 63 / 5 = 12.6
Average Waiting Time: (8 + 10 + 12 + 0 + 4) / 5 = 34 / 5 = 6.8
Gantt Chart (RR)
| P1 |---| P2 |---| P3 |---| P4 |-| P5 |---| P1 |---| P2 |---| P3 |