- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统实验报告作业调度.doc
作业调度
120511504
一、 实验0的
1、 对作业调度的相关内容作进一步的理解。
2、 明白作业调度的主要任务。
3、 通过编程掌握作业调度的主要算法。
二、 实验内容及要求
1、对于给定的一组作业,给出其到达时间和运行时间,例如下 表所示:
作业名
A
B
C
D
E
F
到达时问
0
2
5
5
12
15
服务时间
6
50
20
10
40
8
2、分别用先来先服务算法、短作业优先和响应比高者优先三种
算法给出作业的调度顺序。
3、计算每一种算法的平均周转时间及平均带权周转时间并比较 不同算法的优劣。
三、程序中使用的数据结构及符号说明
进程结构体
作业名,I到达时间1 服务时间、石,1结束时间’1周转时间’带权
周转时间1 ?.的
四、主要算法流程
1服务时间
1服务时间1 1服务时间 服务时间 服务时间 ,服务时间1 ,1服务时间
.F.]
五、测试数据及运行结果 测试数据
workA={做名:A,測渺7:0, workB={,/^^f: B, 1 到达时间1 職\^:{.作业名,?? TS 到达时间 workD={7^^: D, 1 到达时间\ S workE={做名:E, 到达时间1 viorkW作业名,?? F,到达时间、
运行结果
先来先服务算法
调度顺序:[W, *B*, ?(:?, *D*, *E: 周转时间:74.1666666667 带权周转时间:4.83333333333
短作业优先算法
调度顺序:[A1, *B*]
周转时间:44.8333333333 带权周转时间:1.16666666667
响应比髙者优先算法
调度顺序:[*A*, .D、.F、.E、?B*] 周转时间:48.1666666667
带权周转时间:1.5
六、实验体会或对改进实验的建议
cV
ttencoding=gy£
workAx,/^批?: 71
霉舞§7.:0}
workBx workcx workDx workEx workFx
Do
listl= workB』workA list2= workB』workA lists workB』workA
rtlJJtt^棚
def fcfs(list):
養義.:0\1S7.;6\跑M57.:e\盞S7
2\繁57:50}
5\w?20} 5\寨義..10} 12\w/?40}
15\^冬^:8}
workrworkpworkrworkF】 workrworkpworkrworkF】 workc)worlD)worlE)workFl
養S7_
養義_
SS7_
養ss 海S7_
resultlist = sorted(lisrkey=lambda s: s.;?y;^3w】)
rer+urn resulrflisrf
def si-hf list) r+ime=0
-3escltlist= l for worlcl in lisr+:
time+=workl ?讀^^/匆二 listddHl--11 cr+ime=0
forIH-in range(time):
?For work2 in lisr+:
if Work2t、^z^7^/^l_l=ctime:lisr+dd ? append{work2}
if len(listdd)!=0:
li = sorted(listdd, key=lambda s: s.
resultlist ?append(li 0l__l)
list?remove(li 0】)
ctime+=li 0】,J^^A7J
listdd= l
rer+urn resulr+list
def hrrn(list) ”r+i3e=0
result list =□
-for workl in lisr+:
time+=workl listddc ctimn=0
for i in range(time): for work2 in list:
if work2[致赦Z所]=ctime:
work2[ 1 ]=ctime-work2[到达时间
listdd.append(work2)
if len(listdd)!=0:
li = sorted(listdd, key=lambda s: {s\/等待时间服务时 A7])/s[?W])
resultlist.append(li[-l]) list.remove(li[-l]) ctime+=li[-l][ rW/^7r] listdd=[]
return resultlist #调度顺序
def shunxu(resultlist,miaoshu): print(miaoshu) ddsx=[]
for work in resultlist:
for d^x in work.items():
if d
文档评论(0)