问题描述
需要帮助完成cpu调度的Round Robin Scheduling算法代码。
每个进程占用相等的 cpu 时间份额,这等于 2 个单位的时间量。 处理2个时间量程后,如果处理还需要更多的计算, 它被传递到一个等待队列。
代码应执行以下操作:
- 报告每个过程完成的时间
- 报告队列中每个进程的等待时间
#CODE 指示缺少代码的位置。
from collections import deque
time_quantum = 2
class Process:
def __init__(self,name,arrival_time,required_time):
self.name = name
self.arrival_time = arrival_time
self.required_time = required_time
self.time_processed = 0
def __repr__(self):
return self.name
p0 = Process('P1',4)
p1 = Process('P2',1,3)
p2 = Process('P3',2,2)
p3 = Process('P4',3,1)
processes = [p0,p1,p2,p3]
end_times = {process.name:0 for process in processes}
wait_times = {process.name:0 for process in processes}
queue = deque()
running_proc = None # Tracks running process in the cpu
running_proc_time = 0 # Tracks the time running process spent in the cpu
for t in range(11):
#CODE
print(end_times) # End times for each process
print(wait_times) # Wait times for each process in the queue
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)