问题
问答题
某多道程序设计系统配有一台处理器和两台外设IO1、IO2,现有三个优先级由高到低的作业J1、J2、J3都已装入了主存,它们使用资源的先后顺序和占用时间分别是:
J1:IO2(30ms),CPU(10ms);IO1(30ms),CPU(10ms);
J2:IO1(20ms),CPU(20ms);IO2(40ms);
J3:CPU(30ms),IO1(20ms)。
处理器调度采用可抢占的优先数算法,忽略其他辅助操作时间,回答下列问题。
分别计算作业1、J2和J3从开始到完成所用的时间。
答案
参考答案:为了清楚的描述作业执行情况,我们用图1-7表示三个作业的并行执行情况。
[*]
J1占用IO2传输30ms时,J1传输完成,抢占J2的CPU,运行10ms,再传输30ms,运行10ms,完成。由图1-2可见,J1从开始到完成所用的时间为:30+10+30+10=80ms。
J2与其并行地在IO1上传输20ms,抢占J3的CPU,J2运行10ms后,被J1抢占CU,等待10ms之后,J2再次得到CPU,运行10ms,J2启动IO2传输,40ms完成。由图1-7可见,J2从开始到完成所用的时间为:20+10+10+10十40=90ms。
J3在CPU上执行20ms,被J2抢占CPU,等待30ms,再运行10ms,等待10ms,J3启动IO1进行20ms的传输,完成。J3从开始到完成所用的时间为:20+30+10+10+20=90ms。