操做系统中的死锁怎么判断?

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

参考:操作系统

【网工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减1it

【答案】D Bclass

【解析】im

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

试题(8)分析以下:img

状况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分析同理。

相关文章
相关标签/搜索