Difference between LJF and LRJF CPU scheduling algorithms
1. Longest Job First (LJF) :
It CPU Scheduling algorithm where the process with the largest burst line is executed first. Once the process enters the ready queue, the process exits only after the completion of execution, therefore it is a non-preemptive process. In case, the burst times of the processes are same, the job with overall lowest time is selected. This CPU scheduling algorithm results in low throughput of the system.
Process | AT | BT |
---|---|---|
1 | 0 | 3 |
2 | 1 | 2 |
3 | 2 | 4 |
4 | 3 | 5 |
5 | 4 | 6 |
2. Longest Remaining Job First (LRJF) :
It is the preemptive version of Longest Job First CPU Scheduling Algorithm. The process Burst Time are chosen at every second and then the longest job is selected. In case, the Burst Time of the processes are same, the job with overall low arrival time is selected.
It suffers from starvation, because of simultaneous checking of processes’ remaining Burst Time. It is also called “Longest Remaining Time First” algorithm.
Process | AT | BT |
---|---|---|
1 | 0 | 3 |
2 | 1 | 2 |
3 | 2 | 4 |
4 | 3 | 5 |
5 | 4 | 6 |
Difference between LJF and LRJF CPU scheduling algorithms :
LJF | LRJF |
---|---|
Non preemptive | Preemptive |
It suffers from starvation | It also suffers from starvation |
Waiting Time is high | Waiting Time is not so high, and processes get chances for execution after some interval. |
Switching context is less, since a process that once enters running state is executed completely. | Switching context is more, since the process are continually checked for execution. |
The processes are executed based on their CPU time and arrival time alone, without increasing CPU overload. | The processes are repeatedly checking for an idle CPU, thereby increasing the overload. |
No process can complete its execution until longest job persists. | The processes can complete execution before the longest process. |
Please Login to comment...