在作业调度中哪个算法可以得到最短的作业平均周转时间
答案:2 悬赏:60 手机版
解决时间 2021-01-03 08:47
- 提问者网友:咪咪
- 2021-01-03 03:31
在作业调度中哪个算法可以得到最短的作业平均周转时间
最佳答案
- 五星知识达人网友:大漠
- 2021-01-03 04:25
假设有n个作业,按照运行时间排序t1 < t2 t1 + t2 + ... + t(i-1) + ti = a(i+1) 依次类推之后bx > ax 其中i < x < j+1.之后b与a又相等。 所以任意交换后,等待时间变大。所以最小作业优先的等待时间最小。所以平均周转时间最短。
全部回答
- 1楼网友:街头电车
- 2021-01-03 04:45
先来先服务的第四组数据中的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 二 理由同上
看题目怎么规定吧,如果没说,一般默认是可打断的,就是第一种情况
有问题请追问
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯