# GATE | GATE-CS-2014-(Set-3) | Question 65

An operating system uses shortest remaining time first scheduling algorithm for pre-emptive scheduling of processes. Consider the following set of processes with their arrival times and CPU burst times (in milliseconds):

```Process      Arrival Time    Burst Time
P1           0               12
P2           2               4
P3           3               6
P4           8               5```

The average waiting time (in milliseconds) of the processes is _________.
(A) 4.5
(B) 5.0
(C) 5.5
(D) 6.5

Explanation:

```Process   Arrival Time   Burst Time
P1           0           12
P2           2           4
P3           3           6
P4           8           5 ```

Burst Time – The total time needed by a process from the CPU for its complete execution.

Waiting Time – How much time processes spend in the ready queue waiting their turn to get on the CPU

Now, The Gantt chart for the above processes is :

```
P1 - 0 to 2 milliseconds

P2 - 2 to 6 milliseconds

P3 - 6 to 12 milliseconds

P4 - 12 to 17 milliseconds

P1 - 17 to 27 milliseconds ```

Process p1 arrived at time 0, hence cpu started executing it.

After 2 units of time P2 arrives and burst time of P2 was 4 units, and the remaining time of the process p1 was 10 units,hence cpu started executing P2, putting P1 in waiting state(Pre-emptive and Shortest remaining time first scheduling).

Due to P1’s highest remaining time it was executed by the cpu in the end.

```Now calculating the waiting time of each process:
P1 -> 17 -2 = 15
P2 -> 0
P3 -> 6 - 3 = 3
P4 -> 12 - 8 = 4

Hence total waiting time of all the processes is
= 15+0+3+4=22
Total no of processes = 4
Average waiting time = 22 / 4 = 5.5
Hence C is the answer. ```

My Personal Notes arrow_drop_up

Article Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.