Question

Given the following code snippet implementing a Round Robin CPU scheduling algorithm, what will be the output when the processes are scheduled? def round_robin(processes, burst_time, quantum):     n = len(processes)     waiting_time = [0] * n     remaining_time = burst_time[:]     t = 0     while True:         done = True         for i in range(n):             if remaining_time[i] > 0:                 done = False                 if remaining_time[i] > quantum:                     t += quantum                     remaining_time[i] -= quantum                 else:                     t += remaining_time[i]                     waiting_time[i] = t - burst_time[i]                     remaining_time[i] = 0         if done:             break     return waiting_time processes = [1, 2, 3] burst_time = [10, 5, 8] quantum = 2 waiting_time = round_robin(processes, burst_time, quantum) print(waiting_time)

A [12, 3, 6]
B [14, 5, 8]
C [10, 2, 4]
D [9, 1, 2]
E [0, 0, 0]
Practice Next

Relevant for Exams:

Hey! Ask a query