五.综合题(每小题7分,共42分)
1.某系统的进程状态转换如下图所示,请问:
|
|
|
|
(1)引起各种状态转换的的典型事件。
(2)当一个进程的状态变化会引起另一个进程的状态变换,说明下列因果变迁是否可能发生,其原因是什么?
1) 3 → 1
2) 3 → 2
3) 2 → 1
参考答案:
(1)
1:是由于调度程序的调度引起
2:是由于时间片用完引起
3:是由于I/0请求引起
4:是由于I/O完成引起
(2)
3 → 1 :可能。当当前进程被阻塞,使得CPU空闲,此时调度程序会从处于就绪状态的进程中挑选一个新城投入运行。
3 → 2:不可能。
2 → 1:可能。当当前进程的时间片用完,会引起调调程序调度另外一个进程来投入执行。
2.有一个桥如图所示,桥上的车流如箭头所示。桥上不允许两车交会,但允许同方向多辆车依次通行(即桥上可以有多个同方向的车)。请用P、V操作实现交通管理以防止桥上拥塞的程序。
参考答案:
由于桥上不允许两车相会,故桥应该被互斥访问,而同一方向上允许多辆车一次通过,即临界区允许多个实例访问。用一个信号量来互斥访问临界区。用一个信号量来互斥访问临界区。由于不能允许某一个方向的车完全“控制”桥,应保证最多某一个方向上连续通过一定数量的车后,必须让另外一个方向的车通过。用另外两个信号量来实现这个。
故:
设用来表示从南向北最多可通行的车数
用来表示从北向南最多可通行的车数
mutex用来表示对桥的互斥
3.设系统中有三类资源R1、R2、R3和R4,又设系统中有5个进程P1,P2,P3,P4和P5.在T0时刻系统状态如下:
资源 进程 | 最大需求量 R1 R2 R3 R4 | 已分配资源量 R1 R2 R3 R4 | 剩余资源量 R1 R2 R3 R4 |
P1 P2 P3 P4 P5 | 8 6 4 1 4 3 3 1 10 1 3 2 3 3 3 1 5 4 6 3 | 1 2 1 1 3 1 1 1 4 1 3 2 3 2 2 0 1 1 3 1 | 2 1 1 3
|
(1) 系统是否处于安全状态?若是,则给出进程安全序列。
(2) 如果进程P5申请1个资源R1、1个资源R2、1个资源R3和2个资源R4,能否实施分配?为什么?
4. 若某计算机系统中的页式虚拟存储管理采用最近最少使用(LRU)页面淘汰算法,并且分配给某作业的存储块数为3,其中一块用来存放程序和变量i,j(不作他用)。假定一页可存放150个整数变量,且该作业的程序如下:
VAR A:ARRAY[1..150,1..100] OF integer;
i,j:integer;
FOR i:=1 to 150 DO
FOR j:=1 to 100 DO
A[i,j]:=0;
设变量i,j放在程序页中,初始时,程序及变量i,j已在内存,其余两页为空。矩阵A按行序存放。
(1) 试问当程序执行完后,共缺页多少次?
(2) 最后留在内存中的是矩阵A的哪一部分?
参考答案:
(1)数组A[150][100]总共有150行,100列,即每一个页面可以存放1.5行,也就是说矩阵的3行刚好放在2页内,访问他们需要中断2次,这样150行总共需要中断100次。
(2)留在内存中的是矩阵的最后3行。