操作系统:静态优先数调度算法
- 非抢占
- 按照优先数进行调度
- 优先数相同的情况下,优先运行时间短的
- 标明运行状态
代码
n=int(input("输入你要进行的进程数"))
l=[]
for i in range(n):
d={}
name=input("输入进程名称")
d['name']=name
super=int(input("输入进程优先级"))
d['super']=super
time=int(input("输入进程运行时间"))
d['time']=time
d['state']='wait'
l.append(d)
print("当前各个进程的信息为")
for i in l:
print(i)
for i in range(len(l)):
for j in range(i+1,len(l)):
if l[i]['super']<l[j]['super']:
l[i],l[j]=l[j],l[i]
if l[i]['super']==l[j]['super'] and l[i]['time']>l[j]['time']:
l[i], l[j] = l[j], l[i]
print("进程的执行的顺序为:")
for i in range(len(l)):
l[i]['state']='run'
print("第"+str(i+1)+"个执行的进程的名称为"+l[i]['name'])
print("此时系统内的状态为")
for j in l:
print(j)
l[i]['state']='run_over'
print("==============================")
l[-1]['state']='run_over'
print("此时系统内的状态为")
for j in l:
print(j)
print("所有进程进行完毕")