It is a preemptive version of SJF algorithm where the remaining processing time is considered for assigning CPU to the next process.
Now we add the concepts of varying arrival times and preemption to the analysis
Process | Arrival Time | Burst Time |
P1 | 0 | 8 |
P2 | 1 | 4 |
P3 | 2 | 9 |
P4 | 3 | 5 |
Preemptive SJF Gantt Chart
Average waiting time
= [(10-1) +(1-1) +(17-2) +5-3)]/4
= 26/4
= 6.5 milliseconds