All mock tests are FREE till 31 December — register to save your progress

Consider the following 3 processes, with the length of the CPU burst time given in milliseconds:
ProcessArrival TimeBurst Time
P108
P214
P329
What is the average waiting time for these processes if they are scheduled using the preemptive shortest-job-first (shortest-remaining-time-first) scheduling algorithm?

Pick an option to check yourself, or open the answer below.

Show answer & explanation

Correct answer: B. 4.66

Explanation

At t=0 only P1 (burst 8) is ready, so it runs. At t=1, P2 (burst 4) arrives with less remaining work than P1's 7, so P1 is preempted and P2 runs. At t=2, P3 (burst 9) arrives but P2's remaining time (3) is still smallest, so P2 continues and finishes at t=5 (waiting = 5−1−4 = 0). P1 (remaining 7) now has less remaining work than P3 (9), so P1 runs uninterrupted from t=5 to t=12 (waiting = 12−0−8 = 4), and finally P3 runs alone from t=12 to t=21 (waiting = 21−2−9 = 10). Average waiting time = (0+4+10)/3 = 14/3 ≈ 4.67 ms, matching the printed option (ii) 4.66 (rounding).

More Discrete Structures and Optimization questions