操作系统部分习题参考答案(孙钟秀版) 下载本文

操作系统部分习题参考答案

第一章

2. 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A先开始

做,程序B后开始运行。程序A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。程序B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明(1)两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?(2)程序A、B有无等待CPU的情况?若有,指出发生等待的时刻。

答:画出两道程序并发执行图如下:

(1) 两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。 (2) 程序A无等待现象,但程序B有等待。程序B有等待时间段为180ms至200ms间(见图中

有色部分)。

5. 在单CPU和两台I/O(I1,I2)设备的多道程序设计环境下,同时投入三个作业运行。它们

的执行轨迹如下:

Job1:I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms) Job2:I1(20ms)、CPU(20ms)、I2(40ms) Job3:CPU(30ms)、I1(20ms)

如果CPU、I1和I2都能并行工作,优先级从高到低为Job1、Job2和Job3,优先级高的作

1

业可以抢占优先级低的作业的CPU。试求:(1)每个作业从投入到完成分别所需的时间。(2) 从作业的投入到完成CPU的利用率。(3)I/O设备利用率。

答:画出三个作业并行工作图如下(图中着色部分为作业等待时间):

(1) Job1从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需90ms。

(2) CPU空闲时间段为:60ms至70ms,80ms至90ms。所以CPU利用率为(90-20)/80=77.78%。 (3) 设备I1空闲时间段为:20ms至40ms,故I1的利用率为(90-20)/90=77.78%。设备I2

空闲时间段为:30ms至50ms,故I2的利用率为(90-20)/90=77.78%。

2

第二章

7.假定执行作业Job1——Job5,作业号即为其到达顺序,依次在时刻0按照序号1、2、3、4、5进入单处理器系统。

作业号 执行时间/ms 优先权 Job1 10 3 Job2 1 1 Job3 2 3 Job4 1 4 Job5 5 2 (1)分别采用先来先服务调度算法、时间片轮转算法(时间片为1ms)、短作业优先算法及非抢占式优先权调度算法,计算出各作业的执行次序(注意:优先权越高,其数值越小) (2)计算每种情况下作业的平均周转时间和平均带权周转时间。

答:(1)采用先来先服务调度算法

执行次序 Job1 Job2 Job3 Job4 Job5 执行时间 10 1 2 1 5 等待时间 0 10 11 13 14 开始时间 0 10 11 13 14 13.4 7.26 完成时间 10 11 13 14 19 周转时间 10 11 13 14 19 带权周转时间 1 11 6.5 14 3.8 作业平均周转时间 作业平均带权周转时间 (2)采用时间片轮转算法,令时间片=1,各作业执行情况为:1234513515151511111

执行次序 Job1 Job2 Job3 Job4 Job5

执行时间 10 1 2 1 5 完成时间 19 2 7 4 14 周转时间 19 2 7 4 14 带权周转时间 1.9 2 3.5 4 2.8 3