操作系统中的死锁怎么判断

39次阅读

共计 1135 个字符,预计需要花费 3 分钟才能阅读完成。

** 设 n 个进程,每个进程对 R 类资源最大需求量为 w,绝对不会发生死锁的 m 的值的判断是
M=n(w-1)+1,凡是题目中 m <M 的可能会发生死锁,凡是 m >= M 绝对不会死锁 *

参考:

【网工 09 上半年 8,9 小题】设系统中有 R 类资源 m 个,现有 n 个进程互斥使用。若每个进程对 R 资源的最大需求为 w,那么当 m、n、w 取下表的值时,对于下表中的 a~e 五种情况,(8) 两种情况可能会发生死锁。对于这两种情况,若将(9), 则不会发生死锁。

(8)A.a 和 b B.b 和 c C.c 和 d D.c 和 e

(9)A.n 加 1 或 w 加 1 B.m 加 1 或 w 减 1

C.m 减 1 或 w 加 1 D.m 减 1 或 w 减 1

【答案】D B

【解析】

(8) 本题考查对操作系统死锁方面基本知识掌握的程度。系统中同类资源分配不当会引起死锁。一般情况下,若系统中有 m 个单位的存储器资源,它被 n 个进程使用,当每个进程都要求 w 个单位的存储器资源,当 m <nw 时,可能会引起死锁。

试题(8) 分析如下:

情况 a: m=2, n=l, w=2, 系统中有 2 个资源,1 个进程使用,该进程最多要求 2 个资源,所以不会发生死锁。

情况 b: m=2, n=2, w=l, 系统中有 2 个资源,2 个进程使用,每个进程最多要求 1 个资源,所以不会发生死锁。

情况 c: m=2, n=2, w=2, 系统中有 2 个资源,2 个进程使用,每个进程最多要求 2 个资源,此时,采用的分配策略是轮流地为每个进程分配,则第一轮系统先为每个进程分配 1 个,此时,系统中已无可供分配的资源,使得各个进程都处于等待状态导致系统发生死锁,这时进程资源图如下图所示。

情况 d: m=4, n=3, w=2, 系统中有 4 个资源,3 个进程使用,每个进程最多要求 2 个资源,此时,采用的分配策略是轮流地为每个进程分配,则第一轮系统先为每个进程分配 1 个资源,此时,系统中还剩 1 个资源,可以使其中的一个进程得到所需资源并运行完毕,所以不会发生死锁。.

情况 e: m=4, n=3, w=3, 系统中有 4 个资源,3 个进程使用,每个进程最多要求 3 个资源,此时,采用的分配策略是轮流地为每个进程分配,则第一轮系统先为每个进程分配 1 个,第二轮系统先为一个进程分配 1 个,此时,系统中已无可供分配的资源,使得各个进程都处于等待状态导致系统发生死锁,这时进程资源图如下图所示。

(9) 对于 c 和 e 两种情况,若将 m 加 1,则情况 c: m=3,+ n=2, w=2, 系统中有 3 个资源,2 个进程使用,每个进程最多要求 2 个资源,系统先为每个进程分配 1 个,此时,系统中还剩 1 个可供分配的资源,使得其中的一个进程能得到所需资源执行完,并释放所有资源使另一个进程运行完毕;若将 w 减 1,则情况 c: m=2, n=2, w=l,系统中有 2 个资源,两个进程各需一个,系统为每个进程分配 1 个,此时,进程都能运行完,显然不会发生死锁。情况 e 分析同理。

正文完
 0