Difference between SRJF and LRJF CPU scheduling algorithms
1. Shortest remaining job first (SRJF) :
Shortest remaining job first also called the shortest remaining time first is the preemptive version of the shortest job first scheduling algorithm.
In the shortest remaining job first, the process with the smallest runtime to complete (i.e remaining time) is scheduled to run next, In SRJF, a running process will be preempted if a new process arrives in the CPU scheduler which requires less burst time for execution.
2. Longest remaining job first (LRJF) :
Longest remaining job first also called longest remaining time first is exactly opposite of SRJF. In this type of CPU scheduling, the process which has the longest processing time is scheduled to run next and a running process will be preempted if a new process with longer burst time enters the queue.
Difference table :
Shortest Remaining Job First (SRJF) | Longest Remaining Job First(LRJF) |
---|---|
short processes are executed first and at any instant if a process with shorter time arrives it will be executed first. |
Long processes are executed first and at any instant of time if a long process appears it will be executed first. |
It does not have large average turn around time therefore it is more effective than LFJT |
It has a very large average turn around time and waiting time therefore reduces the effectiveness of the operating system |
It does not lead to convoy effect | It will lead to convoy effect. |
More process are executed in less amount of time | Less process are executed in certain amount of time |
SRJF is a “preemptive” scheduling algorithm. | LRJF is a “non-preemptive” scheduling algorithm. |
Let’s solve one problem for each:
LJFT :
Processes | Arrival Time | Burst Time |
---|---|---|
P1 | 0 | 2 |
P2 | 0 | 4 |
P3 | 0 | 8 |
Longest remaining job first:
Gantt chart:
Therefore the final table will be:
LJFT :
Processes | Arrival Time | Burst Time | Completion Time | Turn Around Time | Waiting Time |
---|---|---|---|---|---|
P1 | 0 | 2 | 12 | 12 | 10 |
P2 | 0 | 4 | 13 | 13 | 9 |
P3 | 0 | 8 | 14 | 14 | 6 |
Turn around time = Completion time - Arrival time Average turn around time, = [(12-0) + (13-0) + (14-0)]/3 = (12 + 13 + 14)/3 = 13 Waiting time = Turn around time - Burst time Average waiting time, = [(12-2) + (13-4) + (14-8)]/3 = (10 + 9 + 6)/3 = 8.34
Problem two:
LJFT
LJFT
Processes | Arrival Time | Burst Time |
---|---|---|
P1 | 0 | 20 |
P2 | 15 | 25 |
P3 | 30 | 10 |
P4 | 45 | 15 |
Shortest remaining time first:
Gantt chart:
Therefore the final table will be:
SRFT
Processes | Arrival Time | Burst Time | Completion Time | Turn Around Time | Waiting Time |
---|---|---|---|---|---|
P1 | 0 | 20 | 20 | 20 | 0 |
P2 | 15 | 25 | 55 | 40 | 15 |
P3 | 30 | 10 | 40 | 10 | 0 |
P4 | 45 | 15 | 70 | 25 | 10 |
Turn around time = Completion time - Arrival time Average turn around time, = [(20-0) + (55-15) + (40-10) + (70-45)]/4 = (20 + 40 + 30 + 25)/4 = 28.75 Waiting time = Turn around time - Burst time Average waiting time, = [(20-20) + (40-25) + (10-10) + (25-15)] / 4 = (0 + 15 + 0 + 10) / 4 = 6.25
Please Login to comment...