操作系统练习题 联系客服

发布时间 : 星期二 文章操作系统练习题更新完毕开始阅读2988621014791711cc7917a5

process1: begin

repeat

从磁盘读一个记录;

P(empty1);

将记录存入缓冲区1; V(full1); until false;

end

process 2: begin

repeat P(full1);

从缓冲区1取出纪录; V(empty1);

P(empty2);

将记录存入缓冲区2; V(full2);

until false; end process 3: begin

repeat P(full2);

从缓冲区2取出纪录; V(empty2); 打印记录; until false; end

parend 10.

有一个仓库,可以存放A和B两种产品,但要求: (1) (2)

每次只能存入一中产品(A或B)。 -N<产品数量-B产品数量

其中,N和M是正整数。试用P、V操作描述产品A与产品B的入库过程。 11.

在银行家算法中,若出现如表4-7所示的资源分配情况:

表4-7 资源分配表

进 程 Allocation A B C D Need A B C D Available A B C D 第 17 页 共 26 页

P0 P1 P2 P3 P4 0 0 3 2 1 0 0 0 2 5 7 6 0 3 3 2 0 0 1 4 0 0 1 2 1 7 5 0 1 1 3 4 0 6 5 2 0 6 5 6 0 4 0 0 试问:(1) 给状态是否安全?

(2) 如果进程P2提出的请求Request(1,2,2,2)后,系统能否将资源分配给它? 12.

有相同类型的5个资源被4个程序所共享,且每个进程最多需要2个这样的资源就可以运行完毕。试问该程序是否会由于对这种资源的竞争而产生死锁。 13.

已知某系统中的所有资源是相同的,系统中的进程严格按照一次一个的方式申请或释放资源。在此系统中,没有进程所需要的资源数量超过系统的资源总拥有数量,试对表4-8所列出的各种情况说明是否会发生死锁。

表4-8 资源表

情 况 序 号 a b c d 系统中进程数 1 2 2 2 资 源 总 量 2 1 2 3 14. 考虑下列资源分配策略:对资源的申请和释放可以在任何时候进行。如果一个进程提出资源请求时得不到满足,若此时无由于等待资源而被阻塞的进程,则自己就被阻塞;若此时已有等待资源而被阻塞的进程,则检查所有由于等待资源而被阻塞的进程。如果听它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。

例如,考虑一个有3类资源的系统。系统所有可用资源为(4,2,2),进程A申请(2,2,1),可满足;进程B申请(1,0,1),可满足;若A再申请(0,0,1),则被阻塞。此时,若C请求(2,0,0),它可以分到剩余资源(1,0,0),并从A已分到的资源中获得一个资源,于是进程A的分配向量变成(1,2,1),而需求向量变成(1,0,1)。 (1) (2)

这种分配策略会导致死锁吗?如果会,请举一个例子;如果不会,请说明产生死锁的哪一个必要的条件不成立? 这种分配方式会导致某些进程的无限等待吗?为什么?

15. 一个操作系统由20个进程,竞争使用65个同类资源,申请方式是逐个进行的,但某进程获得它所需要的全部资源,则立即归还所有资源。每个进程最多使用3个资源。仅考虑这类资源,该系统有无可能产生死锁,为什么?

16. 一台计算机有8台磁带机。它们由N个进程竞争使用,每个进程可能需要3台磁带机。请问N为多少时,系统没有死锁危险,并说明原因。

17. 设系统中有3种类型的资源(A,B,C)和5个进程P1,P2,P3,P4,P5,A资源的数量为17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态如表4-9所示。系统采用银行家算法实施死锁避免策略。

表4-9 资源分配表

进 程 最大资源需求量 A B C 已分配资源数量 A B C 第 18 页 共 26 页

P1 P2 P3 P4 P5 5 5 9 5 3 6 4 0 11 4 2 5 4 2 4 2 1 2 4 0 2 4 0 5 2 0 4 3 1 4 (1) (2) (3) (4) 18.

T0时刻是否安全状态?若是,请给出安全序列。

在T0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么?

在(2)的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么? 在(3)的基础上,若进程P1请求资源 (0,2,0),是否能实施资源分配?为什么?

设某计算机系统有一台输入机、一台打印机。现有两道程序同时投入运行,且程序A先开始运行,程序B后运行。程序A的运行轨迹为:计算50ms,打印信息100ms,再计算50ms,打印信息100ms,结束。程序B的运行轨迹为:计算50ms,输入数据80ms,再计算100ms,结束。试说明:

(1)两道程序运行时,CPU有无空闲等待?若有,在那段时间内等待?为什么会空闲等待? (2)程序A、B运行时有无等待现象?若有,在什么时候会发生等待现象?

17. 某页式虚存储系统的物理空间共3KB,页面大小为1KB。一进程按下列地址顺序引用内存单元:3635、3632、1140、3584、2892、3640、0040、2148、1700、2145、3209、0000、1102、1100。如果上述数字均为十进制数,而内存中尚未装入任何页。给出使用LRU算法是的缺页次数,并与FIFO是的情况进行比较。

18. 有一个二维数组:

Var A:ARRAY[1..100,1..100] of integer;

按先行后列的次序存储。对采用LRU置换算法的页式虚拟存储器系统,假设每页可存放200个整数。若分配给一个进程的内存块数为3,其中一块用来装入程序和变量i、j,另外两块专门用来存放数组(不作他用),且程序段已在内存,但数据页尚未装入内存。请分别就下列程序计算执行过程中的缺页次数。

程序1: 程序2:

FOR i:=1 TO 100 DO FOR j:=1 TO 100 DO FOR j:=1 TO 100 DO FOR i:=1 TO 100 DO A[i,j]:=0 A[i,j]:=0

19. 考虑下面的页访问串:1、2、3、4、2、1、5、6、2、1、2、3、7、6、3、2、1、2、3、6。假定分别有1、2、3、4、5、6、7个页块,应用下面的页面替换算法,各会出现多少次缺页中断? (1) (2) (3)

LRU FIFO Optimal

1、某一系统进程的资源分配“瞬间状态”为

已分配资源矩阵 最多资源矩阵 可用资源向量 P0 0 0 1 2 0 0 1 2 1 5 2 0 P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 6 3 2 0 6 5 2 P4 0 0 1 4 0 6 5 6

使用银行家算法回答:系统是否安全?如果进程P1要求(0,4,2,0),系统能否立即满足进程的要求?

2、若干个等待访问磁盘者依次要访问的柱面为20,44,40,4,80,12,76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间。 (1)先来先服务算法; (2)最短寻找时间优先算法。

第 19 页 共 26 页

Scan LOOK

答:(1)((40-20)+(44-20)+(44-40)+(40-4)+(80-4)+(80-12)+(76-12))*3=876 (2)((44-40)+(44-20)+(20-12)+(12-4)+(76-4)+(80-76))*3=360

3、设某作业占有7个页面,如果在主存中只允许装入4个工作页面(即工作集为4),作业运行时,实际访问页面的顺序是1, 2, 3, 6, 4, 7, 3, 2, 1, 4, 7, 5, 6, 5, 2, 1。试用FIFO与LRU页面调度算法,列出各自的页面淘汰顺序和缺页中断次数

FIFO的缺页次数为:10次

1 1 2 1 2 3 1 2 3 6 4 2 3 6 4 7 3 6 4 7 3 6 4 7 2 6 4 7 2 1 4 7 2 1 4 7 2 1 5 7 2 1 5 6 2 1 5 6 2 1 5 6 2 1 5 6 2 1 LRU的缺页次数为14次

1

4、下表给出作业1、2、3的到达时间和运行时间。采用短作业优先调度算法和先来先服务调度算法,试问平均周转时间各为多少?

先来先服务: 作业号 1 2 3 到达时间 0.0 0.4 1.0 运行时间 8.0 4.0 1.0 开始时间 0.0 0.4 1.0 完成时间 13 5.4 2.0 周转时间 8.0 11.6 12.0 作业号 1 2 3 到达时间 0.0 0.4 1.0 运行时间 8.0 4.0 1.0 1 2 1 2 3 1 2 3 6 4 2 3 6 4 7 3 6 4 7 3 6 4 7 3 2 1 7 3 2 1 4 3 2 1 4 7 2 1 4 7 5 6 4 7 5 6 4 7 5 6 2 7 5 2 1 5 平均周转时间T=(8+11.6+12)/3=10.53

第 20 页 共 26 页