在一个多道程序设计[1]系统中,不采用移动技术的可变分区方式管理内存。设用户空间为100K,主存空间采用最先适应分配算法,采用计算机时间短的作业优先算法管理作业。今有如所示的作业序列,请分别列出各个作业的开始执行时间、完成时间和周转时间(忽略系统开销[2])。作业名 进入输入井时间 需计算时间 主存需求量JOB1 8.0时 1小时 20KJOB2 8.2时 0.6小时 60KJOB3 8.4时 0.5小时 25KJOB4 8.6时 0.4小时 20K
在一个多道程序设计[1]系统中,不采用移动技术的可变分区方式管理内存。设用户空间为100K,主存空间采用最先适应分配算法,采用计算机时间短的作业优先算法管理作业。今有如所示的作业序列,请分别列出各个作业的开始执行时间、完成时间和周转时间(忽略系统开销[2])。
作业名 进入输入井时间 需计算时间 主存需求量
JOB1 8.0时 1小时 20K
JOB2 8.2时 0.6小时 60K
JOB3 8.4时 0.5小时 25K
JOB4 8.6时 0.4小时 20K
题目解答
答案
[参考答案]
作业名 装入主存时间 开始执行时间 执行结束时间 周转时间
JOB1 8.0时 8.0时 9.0时 1小时
JOB2 8.2时 9.0时 9.6时 1.4小时
JOB3 9.6时 10.0时 10.5时 2.1小时
JOB4 8.6时 9.6时 10.0时 1.4小时
分析:
由于JOB1、JOB2、JOB3、JOB4是依次到达输入井的,所以JOB1、JOB2进入内存;但在8.4时,由于JOB3主存需求量25K,系统不能满足其需求,因此不能进入内存;在8.6时,JOB4进入内存。
作业JOB1,8.0时进入内存后便开始执行,执行结束时间为9.0时,释放内存,但仍然不能满足JOB3主存需求量;接下来JOB2开始执行,从9.0时至9.6时,然后释放内存,此时JOB3进入内存;JOB4自9.6时开始执行至10.0时结束;最后JOB3从10.0时开始执行至10.5时结束。
每个作业的周转时间=“执行结束时间”―“进入输入井时间”
平均周转时间=(1+1.4+2.1+1.4)/4=1.975(小时)
解析
- 作业JOB1在8.0时进入内存,因为此时内存有100K,可以满足其20K的需求。
- 作业JOB2在8.2时进入内存,因为此时内存剩余80K,可以满足其60K的需求。
- 作业JOB3在8.4时不能进入内存,因为此时内存剩余20K,不能满足其25K的需求。
- 作业JOB4在8.6时进入内存,因为此时内存剩余20K,可以满足其20K的需求。
步骤 2:作业执行顺序
- 作业JOB1在8.0时开始执行,执行时间为1小时,因此在9.0时完成。
- 作业JOB2在9.0时开始执行,执行时间为0.6小时,因此在9.6时完成。
- 作业JOB4在9.6时开始执行,执行时间为0.4小时,因此在10.0时完成。
- 作业JOB3在10.0时开始执行,执行时间为0.5小时,因此在10.5时完成。
步骤 3:计算周转时间
- 作业JOB1的周转时间 = 9.0 - 8.0 = 1小时
- 作业JOB2的周转时间 = 9.6 - 8.2 = 1.4小时
- 作业JOB3的周转时间 = 10.5 - 8.4 = 2.1小时
- 作业JOB4的周转时间 = 10.0 - 8.6 = 1.4小时