老师的答案好像是错的!采用先来先服务和最短作业优先调度算法时的平均周转时间 和平均带权周假设有4道作业,它们的提交时间及执行时间由表E1.2给出.提交时刻(时) 执行时间(小时)1 10:00
来源:学生作业帮助网 编辑:六六作业网 时间:2024/07/05 16:41:57
老师的答案好像是错的!采用先来先服务和最短作业优先调度算法时的平均周转时间 和平均带权周假设有4道作业,它们的提交时间及执行时间由表E1.2给出.提交时刻(时) 执行时间(小时)1 10:00
老师的答案好像是错的!采用先来先服务和最短作业优先调度算法时的平均周转时间 和平均带权周
假设有4道作业,它们的提交时间及执行时间由表E1.2给出.
提交时刻(时) 执行时间(小时)
1 10:00 2
2 10:20 1
3 10:40 0.5
4 10:50 0.4
计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间
和平均带权周转时间,并指出它们的调度顺序.
答:(1)先来先服务调度:
顺序:1.Tsl:10:00 Tel:12:00 T1:2.00 Twl:0
2.Ts2:10:20 Te2:13:00 T2:1.00 Tw2:1.70
3.Ts3:10:40 Te3:13:30 T3:0.50 Tw3:2.30
4.Ts4:10:50 Te4:13:50 T4:0.30 Tw4:2.70
T:0.25*(2+2.7+2,8+3); 2.625 h
W:0.25*(4+0+1.7/1+2.3/0.5+2.7/0.3);4.825
(2)最短作业优先调度:
顺序:1.Ts4:10:50 Te4:10:80 T4:0.3 Tw4:0
2.Ts3:10:40 Te3:11:40 T3:0.5 Tw3:0.5
3.Ts2;10,20 Te2:12:40 T2:1 Tw2:1.3
4.Tsl:10:00 Tel:14:40 T1:2 Twl:2.7
T:0.25*(0.3+1+2.3+4.7); 2.075 h
W:0.25*(4+0+1+1.3+2.7/2); 1.9125
怎么我算的是2.635,4.24,2.3425,3.38875
老师的答案好像是错的!采用先来先服务和最短作业优先调度算法时的平均周转时间 和平均带权周假设有4道作业,它们的提交时间及执行时间由表E1.2给出.提交时刻(时) 执行时间(小时)1 10:00
先来先服务的第四组数据中的Te4明显是错的啊……应该是13:30+0.4*60=13:54才对,而且T4应该是0.4吧
而且答案在计算时,对每个任务的周转时间,都是只保留到小数点后一位,这样肯定是会有误差的,如果要求完全精确,那应该用分数来算
先来先服务的平均周转时间=(2+8/3+17/6+46/15)/4=317/120=2.64166666.
带权=(1+8/3+17/3+23/3)/4=51/12=4.25
短作业优先的话,答案问题就更大了,这种情况下,执行顺序是这样的:
10:00-10:20 一 (因为这时只有作业一到了,其他作业都还没到,当然只能执行作业一)
10:20-10:40 二 (10:20的时候,作业一还有100分,作业二只有60分,优先执行作业二)
10:40-10:50 三 (10:40,作业一剩100min,作业二剩40min,作业三剩30min,执行三)
10:50-11:10 三 (10:50的时候,作业三还剩20min就完了,而新来的作业四需要24min,短作业优先,继续执行三直到11:10执行完毕)
11:10-11:34 四 (11:10,作业四所剩时间最短,故执行作业四,到11:34执行完)
11:34-12:14 二 (11:34,作业二剩40min,作业一剩100min,执行作业二)
12:14-13:54 一
完毕
应该是这样的一个过程,周转时间和平均带权周转时间也应该是按照上面列出的时间点来算的
作业一
10:00到达 13:54结束
作业二
10:20到达 12:14结束
作业三
10:40到达 11:10结束
作业四
10:50到达 11:34结束
接下来具体计算过程就和上面一样了,我就不算了,想精确的话就用分数,最后再约等
上面所列的是进程的执行可以被另一个进程打断的情况,倘若规定执行时不可打断,那应该是下面的情况:
10:00-12:00 一(10:00只有一个作业一,只能开始执行了,又不能打断,故执行到12点结束)
12:00-12:24 四 (12:00其他三个作业都到了,挑最短的作业四执行并且执行完)
12:24-12:54 三 理由同上
12:54-13:54 二 理由同上
看题目怎么规定吧,如果没说,一般默认是可打断的,就是第一种情况
有问题请追问