今有三个批处理作业。第一个作业10:00到达,需要执行2小时。第二个作业10:10到达,需要执行1小时。第三个作业10:25到达,需要执行25分钟。分别采取如下(见表(a),表(b),表(c))三种作业调度算法:
(a)
算法一
作业号 到达时间 开始执行时间 执行结束时间
1 10:00 10:00 12:00
2 10:10 12:00 13:00
3 10:25 13:00 13:25
(b)
算法二
作业号 到达时间 开始执行时间 执行结束时间
1 10:00 11:50 12:00
2 10:10 10:50 13:00
3 10:25 10:25 13:25
(c)
算法三
作业号 到达时间 开始执行时间 执行结束时间
1 10:00 10:00 12:00
2 10:10 12:25 13:25
3 10:25 12:00 12:25
问答题     计算各调度算法下的作业平均周转时间。
 
【正确答案】采用调度算法1时: 作业1的周转时间为2h; 作业2的周转时间为2.83h; 作业3的周转时间为3h; 平均周转时间为:(2+2.83+3)/3=2.61(h)。 采用调度算法2时: 作业1的周转时间为3.83h; 作业2的周转时间为1.67h; 作业3的周转时间为0.42h; 平均周转时间为:(3.83+1.67+0.42)/3=1.97(h)。 采用调度算法3时: 作业1的周转时间为2h; 作业2的周转时间为3.25h; 作业3的周转时间为2h; 平均周转时间为:(2+3.25+2)/3=2.42(h)。
【答案解析】
问答题     调度算法一、三分别是什么作业调度算法?
 
【正确答案】调度算法1是按照作业到达的先后次序执行的,所以它是先来先服务调度算法。 调度算法3是按照作业执行时间从短到长的次序执行的,所以它是短作业优先调度算法。
【答案解析】
问答题   在单CPU和两台输入/输出设备(I1,I2)的多道程序设计环境下,同时投入三个作业Job1,Job2,Job3运行。这三个作业对CPU和输入/输出设备的使用顺序和时间如下所示:
    Job1:I2(30ms);CPU(10ms);I1(30ms);CPU(10ms);I2(20ms)
    Job2:I1(20ms);CPU(20ms);I2(40ms)
    Job3:CPU(30ms);I1(20ms);CPU(10ms);I1(10ms)
    假定CPU,I1,I2都能并行工作,Job1优先级最高,Job2次之,Job3优先级最低,优先级高的作业可以抢占优先级低的作业的CPU,但不抢占I1和I2。试求:
    (1)三个作业从投入到完成分别需要的时间。
    (2)从投入到完成的CPU利用率。
    (3)I/O设备利用率。
 
【正确答案】三个作业并发执行时的工作情况如下: Job1的执行顺序为:I2(30ms);CPU(10ms);I1(30ms);CPU(10ms);等待I2(10ms);I2(20ms)。 Job2的执行顺序为:I1(20ms);CPU(10ms);等待CPU(10ms);CPU(10ms);I2(40ms); Job3的执行顺序为:CPU(20ms);等待CPU(30ms);CPU(10ms);等待I1(10ms);I1(20ms);CPU(10ms);I1(10ms)。 (1)Job1从投入到运行完成需要110ms,Job2从投入到运行完成需要90ms,Job3从投入到运行完成需要110ms。 (2)CPU在时间段60~70ms,80~90ms,100~110ms期间空闲,所以CPU的利用率为:(110-30)/110=72.7%。 (3)设备I1在时间段20~40ms,90~100ms期间空闲,所以设备I1的利用率为:(110-30)/110=72.7%; 设备I2在时间段30~50ms期间空闲,所以设备I2的利用率为:(110-20)/110=81.8%。
【答案解析】