操作系统 - - - - 课后答案(1) 下载本文

《操作系统教程》(第三版)CH1应用题参考答案

平均作业周转时间=2.61 平均作业带权周转时间W=3.54 HRRF 作业 提交时间 运行时间 开始 时间 10:00 12:25 12:00 完成 时间 12:00 13:25 12:25 周转 时间 2 3:15 2 带权周 转时间 120/120 195/60 120/25 1 10∶00 2∶00 2 10∶10 1∶00 3 10∶25 0∶25 平均作业周转时间=2.41 平均作业带权周转时间W=3.02 可见HRRF比FIFO要好。

15

若有如表所示四个作业进入系统,分别计算在FCFS、SJF和HRRF算法下的平均周转时间与带权平均周转时间。(时间以十进制表示)

作业 提交时间(时) 估计运行时间(小时) 开始执行时间(时) 1 8.00 2.00 8.00 2 8.50 0.50 10.30 3 9.00 0.10 10.00 4 9.50 0.20 10.10 答:

FCFS SJF HRRF 作业 开始 完成 周转 开始 完成 周转 开始 完成 周转 时间 时间 时间 时间 时间 时间 时间 时间 时间 1 8.00 10.00 2.00 8.00 10.00 2.00 8.00 10.00 2.00 2 10.00 10.50 2.00 10.30 10.80 2.30 10.10 10.60 2.10 3 10.50 10.60 1.60 10.00 10.10 1.10 10.00 10.10 1.10 4 10.60 10.80 1.30 10.10 10.30 0.80 10.60 10.80 1.30 平均周 T=1.725 T=1.55 T=1.625 转时间= 带权平均 W=6.875 W=5.15 W=5.675 周转时间=

13

《操作系统教程》(第三版)CH1应用题参考答案

16

Kleinrock提出一种动态优先权算法:进程在就绪队列等待时,其优先权以速率α变化; 当进程在处理器上运行,时其优先权以速率β变化。给参数α、β赋以不同值可得到不同算法。(1)若α>β>0是什么算法?(2) 若α<β<0是什么算法

(1)

是先进先出算法。因为在就绪队列中的进程比在CPU上运行的进程的优先数提高得快,故进程切换时,先进入就绪队列的进程优先权就越高。

是后进先出算法。因为在就绪队列中的进程比在CPU上运行的进程的优先权下降得快,故后进入就绪队列的进程此先进入的进程的优先权高。

答:

(2)

17

17 有一个四道作业的操作系统,若在一段时间内先后到达6个作业,它们的提交和估计运行时间由下表给出:

作业 提交时间 估计运行时间(分钟) 1 8:00 60 2 8:20 35 3 8:25 20 4 8:30 25 5 8:35 5 6 8:40 10 系统采用SJF调度算法,作业被调度进入系统后中途不会退出,但作业运行时可被更短作业抢占。(1)分别给出6个作业的执行时间序列、即开始执行时间、作业完成时间、作业周转时间。(2)计算平均作业周转时间。 答:

执行次序 提交时间 执行时间 开始时间 完成时间 周转时间 J1 8:00 60 8:00 9:00 60 J5 8:35 5 9:00 9:05 30 J6 8:40 10 9:05 9:15 35 J3 8:25 20 9:15 9:35 70 J4 8:30 25 9:35 10:00 90 J2 8:20 35 10:00 10:35 135 作业平均周转时间T=(60+30+35+70+90+135)/6=70 14

《操作系统教程》(第三版)CH1应用题参考答案

注意,J1被调度运行后,直到它执行结束,才会引出作业调度程序工作。所

以,J2至J6虽在J1执行期间进入,但未被调度,均在等待。当J1撤离后,作业调度程序工作,按SJF算法,显然有执行次序:J5、J6、J3、J4、和J2。

18 有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程

调度采用以优先数为基础的抢占式调度算法,在下表所示的作业序列,作业优先数即为进程优先数,优先数越小优先级越高。

作业名 到达时间 估计运行时间 优先数

A 10:00 40分 5

B 10:20 30分 3

C 10:30 50分 4

D 10:50 20分 6

(1)列出所有作业进入内存时间及结束时间。 (2)计算平均周转时间。 答:

每个作业运行将经过两个阶段:作业调度(SJF算法)和进程调度(优先数抢占式)。另外,批处理最多容纳2道作业,更多的作业将在后备队列等待。

时间(分钟) 10:00 10:20 10:30 10:50 11:10 12:00 12:20 A B A C D CPU A D D 进程就绪队列 C 作业后备队列

(1) 10:00,作业A到达并投入运行。

(2) 10:20,作业B到达且优先权高于作业A,故作业B投入运行而作业A在就绪队

列等待。

(3) 10:30,作业C到达,因内存中已有两道作业,故作业C进入作业后备队列等待。 (4) 10:50,作业B运行结束,作业D到达,按SJF短作业优先算法,作业D被装入

内存进入就绪队列。而由于作业A的优先级高于作业D,故作业A投入运行。 (5) 11:10,作业A运行结束,作业C被调入内存,且作业C的优先级高于作业D,

故作业C投入运行。

(6) 12:00,作业C运行结束,作业D投入运行。 (7) 12:20,作业D运行结束。

作业 进入内存时间 运行结束时间

A 10:00 11:10

B 10:20 10;50 C 11:10 12:00 15 D 10:50 12:20 《操作系统教程》(第三版)CH1应用题参考答案

各作业周转时间为:作业A 70,作业B 30,作业C 90,作业D 90。平均作业周转时间为70分钟。

19

某多道程序设计系统供用户使用的主存为100K,磁带机2台,打印机1台。采用可变分区内存管理,采用静态方式分配外围设备,忽略用户作业I/O时间。现有作业序列如下:

作业号 进入输入井时间 运行时间 主存需求量 磁带需求 打印机需求 1 8:00 25分钟 15K 1 1

2 8:20 10分钟 30K 0 1

3 8:20 20分钟 60K 1 0

4 8:30 20分钟 20K 1 0

5 8:35 15分钟 10K 1 1

作业调度采用FCFS策略,优先分配主存低地址区且不准移动已在主存的作业,在主

存中的各作业平分CPU时间。现求:(1)作业被调度的先后次序?(2)全部作业运行结束的时间?(3)作业平均周转时间为多少?(4)最大作业周转时间为多少?

答:(1)作业调度选择的作业次序为:作业1、作业3、作业4、作业2和作业5。 (2)全部作业运行结束的时间9:30。

(3)周转时间:作业1为30分钟、作业2为55分钟、作业3为40分钟、作业4为

40分钟和作业5为55分钟。 (4)平均作业周转时间=44分钟。 (5) )最大作业周转时间为55分钟。

20 某多道程序设计系统采用可变分区内存管理,供用户使用的主存为200K,磁带机

5台。采用静态方式分配外围设备,且不能移动在主存中的作业,忽略用户作业I/O时间。现有作业序列如下: 作业号 进入输入井时间 运行时间 主存需求量 磁带需求 A 8:30 40分钟 30K 3

B 8:50 25分钟 120K 1

C 9:00 35分钟 100K 2

D 9:05 20分钟 20K 3

E 9:10 10分钟 60K 1

现求:(1)FIFO算法选中作业执行的次序及作业平均周转时间?(2)SJF算法选中作业执

行的次序及作业平均周转时间? 答:

(1) FIFO算法选中作业执行的次序为:A、B、D、C和E。作业平均周转时间为63分钟。 (2) SJF算法选中作业执行的次序为:A、B、D、E和C。作业平均周转时间为58分钟。

16