《操作系统》试题库-综合题

2020-03-27 07:23

1、 设有三个进程,它们的提交时间及运行时间如下表,若采用短进程优先调度策略,试给出进程串

行运行时的调度次序及平均周转时间。 作业 提交时间 运行时间 J1 0 4 J2 2 8 J3 3 5 答:

进程 提交时间 开始时间 完成时间 周转时间 J1 0 0 4 4 J2 2 9 17 15 J3 3 4 9 6 平均周转时间=(4+15+6)/3=25/3=8.33 各进程的调度次序: J1,J3,J2

2、 设有三道作业,它们的提交时间及运行时间如下表,若采用短作业优先调度策略,试给出作业单

道串行运行时的调度次序及平均周转时间。 (8分)

作 业 提交时间(单位:基本时间单位) 运行时间(单位:基本时间单位) J1 J2 J3

作业 提交时间 开始时间 完成时间 周转时间 J1 0 0 7 7 J2 2 7 11 4 J3 3 11 16 13

平均周转时间=(7+9+13)/3=29/3=9.67 (4分) 各作业的调度次序:

0 2 3 7 4 5 (3分)

3、 假定在单CPU条件下,有A,B,C,D四个作业依次到达(后面的作业依次比前一作业迟到一个时

间单位)。四个作业分别需要运行11,6,2和1个时间单位,如果系统采用FCFS的调度算法,请计算: (1) (2) (3) (4) 解答:

作业 作业到达时间 运行时间 完成时间 周转时间 带权周转时间 A 0 11 11 11 1 B 1 6 17 16 2.67 C 2 2 19 17 8.5 D 3 1 20 17 17

平均周转时间T= 15.25 平均带权周转时间 W= 7.29

4、 假设在单处理机上有五个(1,2,3,4,5)进程争夺运行,其运行时间分别为10、1、2、1、5(秒),

其优先级分别为4、1、3、5、2;在某时刻这五个进程按照1,2,3,4,5的顺序同时到达。试回答: (1) 给出这些进程分别使用轮转法(时间片为2秒)、非剥夺优先级调度法时的运行进度表。 (2) 在上述各算法的调度下每个进程的周转时间和等待时间为多少? 解答:

(1) 轮转法运行进度表:

P1 P2 P3 p4 P5 P1 P5 P1 P5 P1

0 2 3 5 6 8 10 12 14 15 19

非剥夺优先级调度法运行进度表: 0 1 11 13 18 19

(2) 轮转法周转时间和等待时间: 作业 1 2

各作业的周转时间 系统此时的平均周转时间; 各作业的带权周转时间; 系统此时的平均带权周转时间;

P4 P1 P3 P5 P2

运行时间(小时) 周转时间(小时) 10 1 19 3

等待时间(小时) 0+6+2+1=9 2 2

3 4 5 2 1 5 5 6 15 3 5 6+2+2=10 非剥夺优先级调度法周转时间和等待时间: 作业 优先级 1 2 3 4 5 4 1 3 5 2 调度顺序 2 5 3 1 4 运行时间(小时) 周转时间(小时) 10 1 2 1 5 11 19 13 1 18 等待时间(小时) 1 18 11 0 13

5、 画出进程的五种状态变化图,并说明状态变化原因。

答:变化原因在图上说明。

6、 某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外

的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题: (1)用PV(或wait和signal)操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。

(2)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。

(3)根据所定义的信号量,把应执行的PV(或wait和signal)操作填入下述括号中,以保证进程能够正确地并发执行。

Buyi(I=1,2,……) { Do{

进入售票厅; ( ) 购票;

( )

退出; }while(1)

} 解答:

(1)定义一信号量S,初始值为20。 (1分) 意义:

S>0 S的值表示可继续进入售票厅的人数 (1分) S=0 表示售票厅中已有20名顾客(购票者) (1分) S<0 |S|的值为等待进入售票厅的人数 (1分) (2) S的最大值为20 (1分) S的最小值为20-n (1分) (3) 上框为P(S) (1分) 下框为V(S) (1分)

注:信号量的符号可不同(如写成t),但使用时应一致(即上述的s全应改成t)。

7、 现为某临界资源设一把锁w,当w=1时,表示关锁,w=0时,表示锁已打开,试写出开锁和关锁

的原语,并说明如何利用它们去控制对该临界资源的互斥访问?(7分) ① 开锁原语unlock(w)如下: unlock(w):w:=0 关锁原语lock(w)如下: Lock(w):

L: if w=1 then go to L e else w:=1; (4分)

② 可设临界段cs放在两者之间来实现互斥,即 Lock(w); cs;

unlock(w) (3分)

8、 有两个用户进程A和B,在运行过程中都要使用系统中的一台打印机输出计算结果。

(1) 试说明A、B两进程之间存在什么样的制约关系?

(2) 为保证这两个进程能正确地打印出各自的结果,请用信号量和P、V操作写出各自的有关申

请、使用打印机的代码。要求给出信号量的含义和初值。

解答:(1) A、B两进程之间存在互斥的制约关系。因为打印机属于临界资源,必须一个进程使用

完之后另一个进程才能使用。(2分)

(2)mutex:用于互斥的信号量,初值为1。(2分) 进程A 进程B ... ... P(mutex) P(mutex) 申请打印机 申请打印机 使用打印机 使用打印机 V(mutex) V(mutex) ... ...

9、 进程process_A 进行计算后通过进程process_B输出,这两个并发进程的程序如下:int Count=0; process_A() { do

{ Count = Count + 10 }while(1) }

process_B() { do

{ print(Count) Count =0; }while(1) } 请回答:

(1) 指出这两个并发进程的临界区。

(2) 指出它们并发执行时可能出现的与时间有关的错误。 (3) 用信号量机制进行管理,写出它们能正确并发执行的程序。 解答:

(1) 临界区为process_A():Count = Count + 10, process_B():print(Count) Count =0; (2)错误顺序(不是唯一的) ① print(Count)


《操作系统》试题库-综合题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:计算机网络工程规划与设计《习题集》

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: