当前位置:文档之家› 20180108操作系统笔记--死锁的产生及解决方法

20180108操作系统笔记--死锁的产生及解决方法

20180108操作系统笔记--死锁的产生及解决方法
20180108操作系统笔记--死锁的产生及解决方法

死锁的产生及解决方法

死锁含义:

多个进程在运行过程中因竞争资源而造成的一种僵局。

各并发进程彼此等待对方拥有的资源,且得到对方资源前不释放自己拥有的资源。导致死锁的原因:

(1)竞争资源

资源(打印机,公共队列)数目不能满足进程的需要。

(2)进程间的推进顺序不当

进程在运行过程中,请求和释放资源的顺序不当,也会导致进程死锁。

竞争资源引起死锁

(1)可剥夺(CPU、主存)和非剥夺性资源(磁带机、打印机)

(2)竞争非剥夺性资源

非剥夺性资源的数量不能满足进程运行的需要,可能使进程在运行过程中

产生死锁。

(3)进程临时性资源

由一个进程产生由另一个进程使用短暂时间后便无用的资源。

产生死锁的必要条件

(1)互斥条件

(2)请求和保持条件

(3)不剥夺条件

(4)环路等待条件

互斥条件:进程对所分配到的资源进行排他性使用。

请求和保持条件:进程已经保持至少一个资源,但又提出新的资源请求,而该资源又被其他进程占有,此时请求进程阻塞,但又对自己获得的其他资源保持不放。不剥夺条件:进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时自己释放。

环路等待条件:发生死锁时,必然存在一个进程-资源的环行链。

处理死锁的基本方法

(1)预防死锁

(2)避免死锁

(3)检测死锁

(4)解除死锁

(1)、(2)死锁发生前的办法,(3)、(4)死锁发生后的办法

预防死锁:设置某些限制条件,破坏四个必要条件中的一个或多个条件。简单、

好实现

避免死锁:在资源的动态分配过程中,用某种方法去预防系统进入不安全状态。可获得较高的资源利用率及系统吞吐量。实现上有一定难度

检测死锁:允许系统在发生死锁,通过系统设置的检测机构,及时检测出死锁的发生,并精确的确定与死锁有关的进程和资源,然后采取适当措施,从系统中将已发生的死锁清除掉。

解除死锁:当检测到系统已发生死锁时,撤销或挂起一些进程。

预防死锁:

互斥条件(不可以打破)请求和保持条件(可以)不剥夺条件(可以)环路等待条件(可以)

破坏“请求和保持”条件:

规定所有进程在开始运行之前,都必须一次性的申请其在整个运行过程所需要的全部资源。

优点:简单,安全

缺点:

资源严重浪费,恶化了系统的利用率;

破坏“不剥夺”条件

进程逐个的提出资源请求,当一个已经保持了某些资源的进程,再提出新的资源请求而不能立即得到满足时,必须释放它已经保持了的所有资源,待以后需要时再重新申请。

缺点:

实现复杂,代价大

因为反复地申请和释放资源,而使进程的执行无限的推迟、延长了进程的周转时间增加系统开销、降低系统吞吐量。

破坏“环路等待”条件

将所有的资源按类型进行线性排队,并赋予不同的序号。所有进程请求资源必须按照资源递增的次序提出,防止出现环路。

缺点:

(1)序号必须相对稳定,限制了新设备类型的增加

(2)作业(进程)使用资源顺序和系统规定的顺序不同而造成资源的浪费(3)限制了用户编程

避免死锁

系统安全状态:

指系统能按照某种顺序如(P1、P2、…、Pn),来为每一个进程分配其所需资源,

直至最大需求,使每个进程都可顺序完成。若系统不存在这样一个安全序列,则称系统处于不安全状态。

系统进入不安全状态可能产生死锁。

避免死锁的实质:如何使系统不进入不安全状态。

银行家算法避免死锁:

(1)银行家算法中的数据结构

(2)银行家算法

(3)安全性算法

(4)银行家算法之例

银行家算法的数据结构:

可利用的资源向量Available:

含有m个元素;每个元素代表一类可用的资源数目;初值是该类全部可用资源的数目;数值随该类资源的分配和回收动态地改变;Available[j]=K,表示第j类资源的个数为K

最大需求矩阵Max:

N*m的矩阵;定义了n个进程中每一个进程对m类资源的最大需求。如Max[I,j]=K,表示进程i需要Rj类资源的最大数值为K。

分配矩阵Allocation:

N*m的矩阵;定义系统中每一类资源当前已分配给每个进程的资源数。Allocation[I,j]=k,表示进程i当前以分得Rj类资源的数目为K;

需求矩阵Need

N*m的矩阵;表示一个进程尚需的各类资源数。Need[I,j]=K,表示进程i当前还需要Rj类资源的数目为K。

银行家算法

设Requesti是进程Pi的请求向量。如果Requesti[j]=K,表示进程Pi需要K个Rj 类型的资源。Pi发出资源请求后。按下述步骤检查:

(1)Requesti[j]小于等于Need[I,j],则转向步骤2;否则,认为出错;

(2)Requesti[j]小于等于Available[j]则转向步骤3;否则,进程Pi等待

(3)系统试探着把资源分配给进程Pi:Available[j]=Available[j]-Requesti[j], Allocation[I,j]=Allocation[I,j]+Requesti[j];

Need[I,j]=Need[I,j]-Requesti[j];

(4)系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全才将资源分配给进程;否则,将试探分配作废,恢复原来的资源分配状态,让进程Pi等待。

安全性算法

(1)设置两个向量

工作向量Work:供进程继续运行的各类资源数,含M个元素,初值

Work=Available

Finish:表示系统是否有足够的资源分配给进程。初值:finish[i]=false,当有足够资源分配时Finish[i]=true.

(2)找满足下列条件的进程:

Finish[i]=false

Need[I,j]小于等于Work[j];

若找到执行步骤(3),否则执行步骤(4)

(3)Work[j]=work[i]+Allocation[I,j];

Finish[i]=true;

Go to step (2)

(4)如果所有的进程Finish[i]=true,则系统处于安全状态。

银行家算法之例:

死锁的解除

常用的两种方法:

(1)剥夺资源:从其他进程剥夺足够数量的资源给死锁进程,以解除死锁状态。(2)撤销进程

a)使全部死锁进程都夭折掉

b)按照某种顺序逐个的撤销进程,直至有足够的资源可用,使死锁状态消

除为止。

操作系统死锁练习及答案

死锁练习题 (一)单项选择题 l系统出现死锁的根本原因是( )。A.作业调度不当B.系统中进程太多C.资源的独占性D.资源管理和进程推进顺序都不得当 2.死锁的防止是根据( )采取措施实现的。A.配置足够的系统资源B.使进程的推进顺序合理C.破坏产生死锁的四个必要条件之一D.防止系统进入不安全状态 3.采用按序分配资源的策略可以防止死锁.这是利用了使( )条件不成立。A.互斥使用资源B循环等待资源c.不可抢夺资源D.占有并等待资源 4.可抢夺的资源分配策略可预防死锁,但它只适用于( )。A.打印机B.磁带机c.绘图仪D.主存空间和处理器 5.进程调度算法中的( )属于抢夺式的分配处理器的策略。A.时间片轮转算法B.非抢占式优先数算法c.先来先服务算法D.分级调度算法 6.用银行家算法避免死锁时,检测到( )时才分配资源。A.进程首次申请资源时对资源的最大需求量超过系统现存的资源量B.进程己占用的资源数与本次申请资源数之和超过对资源的最大需求量c.进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足尚需的最大资源量D进程已占用的资源数与本次申请的资源数 之和不超过对资源的最大需求量,且现存资源能满足本次申请量,但不能满足尚需的最大资源量 7.实际的操作系统要兼顾资源的使用效率和安全可靠,对资源的分配策略,往往采用( )策略。A死锁的防止B.死锁的避免c.死锁的检测D.死锁的防止、避免和检测的混合(二)填空题 l若系统中存在一种进程,它们中的每一个进程都占有了某种资源而又都在等待其中另一个进程所占用的资源。这种等待永远不能结束,则说明出现了______。2.如果操作系统对 ______或没有顾及进程______可能出现的情况,则就可能形成死锁。3.系统出现死锁的四

计算机操作系统习题及答案

1)选择题 (1)为多道程序提供的可共享资源不足时,可能出现死锁。但是,不适当的 _C__ 也可能产生死锁。 A. 进程优先权 B. 资源的线性分配 C. 进程推进顺序 D. 分配队列优先权 (2)采用资源剥夺法可以解除死锁,还可以采用 _B___ 方法解除死锁。 A. 执行并行操作 B. 撤消进程 C. 拒绝分配新资源 D. 修改信号量 (3)发生死锁的必要条件有四个,要防止死锁的发生,可以通过破坏这四个必要条件之一来实现,但破坏 _A__ 条件是不太实际的。 A. 互斥 B. 不可抢占 C. 部分分配 D. 循环等待 (4)为多道程序提供的资源分配不当时,可能会出现死锁。除此之外,采用不适当的_ D _ 也可能产生死锁。 A. 进程调度算法 B. 进程优先级 C. 资源分配方法 D. 进程推进次序 (5)资源的有序分配策略可以破坏 __D___ 条件。 A. 互斥使用资源 B. 占有且等待资源 C. 非抢夺资源 D. 循环等待资源 (6)在 __C_ 的情况下,系统出现死锁。 A. 计算机系统发生了重大故障 B. 有多个封锁的进程同时存在 C. 若干进程因竞争资源而无休止地相互等待他方释放已占有的资源 D. 资源数大大小于进程数或进程同时申请的资源数大大超过资源总数 (7)银行家算法在解决死锁问题中是用于 _B__ 的。 A. 预防死锁 B. 避免死锁 C. 检测死锁 D. 解除死锁 (8)某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是 _C__ 。 A. 12 B. 11 C. 10 D. 9 (9)死锁与安全状态的关系是 _A__ 。 A. 死锁状态一定是不安全状态 B. 安全状态有可能成为死锁状态 C. 不安全状态就是死锁状态 D. 死锁状态有可能是安全状态 (10)如果系统的资源有向图 _ D __ ,则系统处于死锁状态。 A. 出现了环路 B. 每个进程节点至少有一条请求边 C. 没有环路 D. 每种资源只有一个,并出现环路 (11)两个进程争夺同一个资源,则这两个进程 B 。

《操作系统原理》5资源管理(死锁)习题

第五章死锁练习题 (一)单项选择题 1.系统出现死锁的根本原因是( )。 A.作业调度不当B.系统中进程太多C.资源的独占性D.资源管理和进程推进顺序都不得当 2.死锁的防止是根据( )采取措施实现的。 A.配置足够的系统资源B.使进程的推进顺序合理 C.破坏产生死锁的四个必要条件之一D.防止系统进入不安全状态 3.采用按序分配资源的策略可以防止死锁.这是利用了使( )条件不成立。 A.互斥使用资源B循环等待资源C.不可抢夺资源D.占有并等待资源 4.可抢夺的资源分配策略可预防死锁,但它只适用于( )。 A.打印机B.磁带机C.绘图仪D.主存空间和处理器 5.进程调度算法中的( )属于抢夺式的分配处理器的策略。 A.时间片轮转算法B.非抢占式优先数算法C.先来先服务算法D.分级调度算法 6.用银行家算法避免死锁时,检测到( )时才分配资源。 A.进程首次申请资源时对资源的最大需求量超过系统现存的资源量 B.进程己占用的资源数与本次申请资源数之和超过对资源的最大需求量 C.进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足尚需的最大资源量 D进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足本次申请量,但不能满足尚需的最大资源量 7.实际的操作系统要兼顾资源的使用效率和安全可靠,对资源的分配策略,往往采用( )策略。 A死锁的防止B.死锁的避免C.死锁的检测D.死锁的防止、避免和检测的混合 (二)填空题 1.若系统中存在一种进程,它们中的每一个进程都占有了某种资源而又都在等待其中另一个进程所占用的资源。这种等待永远不能结束,则说明出现了______。 2.如果操作系统对______或没有顾及进程______可能出现的情况,则就可能形成死锁。 3.系统出现死锁的四个必要条件是:互斥使用资源,______,不可抢夺资源和______。 4.如果进程申请一个某类资源时,可以把该类资源中的任意一个空闲资源分配给进程,则说该类资源中的所有资源是______。 5.如果资源分配图中无环路,则系统中______发生。 6.为了防止死锁的发生,只要采用分配策略使四个必要条件中的______。 7.使占有并等待资源的条件不成立而防止死锁常用两种方法:______和______. 8静态分配资源也称______,要求每—个进程在______就申请它需要的全部资源。 9.释放已占资源的分配策略是仅当进程______时才允许它去申请资源。 10.抢夺式分配资源约定,如果一个进程已经占有了某些资源又要申请新资源,而新资源不能满足必须等待时、系统可以______该进程已占有的资源。 11.目前抢夺式的分配策略只适用于______和______。 12.对资源采用______的策略可以使循环等待资源的条件不成立。 13.如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于______。14.只要能保持系统处于安全状态就可______的发生。 15.______是一种古典的安全状态测试方法。 16.要实现______,只要当进程提出资源申请时,系统动态测试资源分配情况,仅当能确保系统安全时才把资源分配给进程。

第三版操作系统第3章习题

操作系统第三章总复习题 一、单选题 1、进程调度又称低级调度,其主要功能是( D )。 A.选择一个作业调入内存B.选择一个主存中的进程调出到外存 C.选择一个外存中的进程调入到主存D.将一个就绪的进程投入到运行 2、若进程P 一旦被唤醒就能够投入运行,系统可能为( D )。 A.分时系统,进程P 的优先级最高 B.抢占调度方式,就绪队列上的所有进程的优先级皆比P 的低 C.就绪队列为空队列 D.抢占调度方式,P 的优先级高于当期运行的进程。 3、一个进程P 被唤醒后,( D )。 A.P 就占有了CPU。B.P 的PCB 被移到就绪队列的队首。 C.P 的优先级肯定最高D.P 的状态变成就绪 4、若当前运行进程()后,系统将会执行进程调度原语。 A 执行了一个转移指令 B 要求增加主存空间,经系统调用银行家算法进行测算认为是安全的。 C 执行了一条I/O 指令要求输入数据。 D 执行程序期间发生了I/O 完成中断。 5、当系统中()时,系统将不会执行进程调度原语。 A.一个新进程被创建B.当前进程执行了P 操作。C.在非抢占调度中,进程A 正在运行而进程B 恰好被唤醒。D.分时系统中时间片用完。 6、在分时系统中,若当期运行的进程连续获得了两个时间片,原因可能是()。 A 该进程的优先级最高 B 就绪队列为空 C 该进程最早进入就绪队列 D 该进程是一个短进程 7、实时系统中采用的调度算法可以有如下几种: 1、非抢占优先权调度算法 2、立即抢占优先权调度算法 3、时间片轮转调度算法 4、基于时钟中断抢占的优先权调度算法 按实时要求的严格程度由低到高的顺序()。 A 1-3-2-4 B 3-1-4-2 C 3-1-2-4 D 1-3-4-2 8、三种主要类型的OS 中都必须配置的调度()。 A 作业调度 B 中级调度 C 低级调度 D I/O 调度 9、设系统中n 个进程并发,共同竞争资源X,且每个进程都需要m 个X 资源,为使该系统不会发生死锁,资源X 最少要有( C )个。 A m*n+1 B n*m+n C n*m+1-n D 无法预计 10、死锁的预防方法中,不太可能的一种方法使()。

操作系统死锁习题集

死锁习题 一、填空题 2.死锁产生的原因是。 3.产生死锁的四个必要条件是、、、。 二、单项选择题 1.两个进程争夺同一个资源。 (A)一定死锁(B)不一定死锁 (C)不死锁(D)以上说法都不对 4.如果发现系统有的进程队

列就说明系统有可能发生死锁了。 (A)互斥(B)可剥夺 (C)循环等待(D)同步 5.预先静态分配法是通过破坏条件,来达到预防死锁目的的。 (A)互斥使用资源/循环等待资源 (B)非抢占式分配/互斥使用资源 (C) 占有且等待资源/循环等待资源 (D)循环等待资源/互斥使用资源 7.下列关于死锁的说法中,正确的是? 1)有环必死锁; 2)死锁必有环; 3)有环无死锁; 4)死锁也无环 8.资源有序分配法的目的是? 1)死锁预防; 2)死锁避免; 3)死锁检测; 4)死锁解除 8.死锁的预防方法中,不太可能的一种方法使()。

A 摈弃互斥条件 B 摈弃请求和保持条件 C 摈弃不剥夺条件 D 摈弃环路等待条件 10. 资源的按序分配策略可以破坏()条件。 A 互斥使用资源 B 占有且等待资源 C 不可剥夺资源 D 环路等待资源 三、多项选择题 1.造成死锁的原因是_________。 (A)内存容量太小(B)系统进程数量太多,系统资源分配不当 (C)CPU速度太慢(D)进程推进顺序不合适 (E)外存容量太小 2.下列叙述正确的是_________。 (A)对临界资源应采取互斥访问方式来实现共享 (B)进程的并发执行会破坏程序的“封

闭性” (C)进程的并发执行会破坏程序的“可再现性” (D)进程的并发执行就是多个进程同时占有CPU (E)系统死锁就是程序处于死循环3.通常不采用_________方法来解除死锁。 (A)终止一个死锁进程(B)终止所有死锁进程 (C)从死锁进程处抢夺资源(D)从非死锁进程处抢夺资源 (E)终止系统所有进程 5.通常使用的死锁防止策略有_________。 (A)动态分配资源(B)静态分配资源 (C)按序分配资源(D)非剥夺式分配资源 (E)剥夺式分配资源 四、名词解释 1死锁

操作系统(死锁)试题

第五章死锁 一.选择题 1.为多道程序提供的可共享资源不足时,可能出现死锁。但是,不适当的 C 也可能产生死锁。 (A)进程优先权(B)资源的线性分配 (C)进程推进顺序(D)分配队列优先权 2.采用资源剥夺法可以解除死锁,还可以采用 B 方法解除死锁。 (A)执行并行操作(B)撤销进程 (C)拒绝分配新资源(D)修改信号量 3.产生死锁的四个必要条件是:互斥、 B 循环等待和不剥夺。 (A)请求与阻塞(B)请求与保持 (C)请求与释放(D)释放与阻塞 4.在分时操作系统中,进程调度经常采用算法。 (A)先来先服务(B)最高优先权 (C)时间片轮转(D)随机 5.资源的按序分配策略可以破坏条件。 (A)互斥使用资源(B)占有且等待资源 (C)非抢夺资源(D)循环等待资源 6.在 C 情况下,系统出现死锁。 (A)计算机系统发生了重大故障 (B)有多个封锁的进程同时存在 (C)若干进程因竞争而无休止地相互等待他方释放已占有的资源 (D)资源数远远小于进程数或进程同时申请的资源数量远远超过资源总数 7。银行家算法在解决死锁问题中是用于 B 的。 (A)预防死锁(B)避免死锁 (C)检测死锁(D)解除死锁 8.支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中不是引起操作系统选择新进程的直接原因。 (A)运行进程的时间片用完 (B)运行进程出错 (C)运行进程要等待某一事件发生 (D)有新进程进入就绪队列 9. 在下列解决死锁的方法中,属于死锁预防策略的是 B 。 (A)银行家算法 (B)有序资源分配法 (C)死锁检测法 (D)资源分配图化简法 二、综合题 1.若系统运行中出现如表所示的资源分配情况,改系统是否安全?如果进程P2此时提出资源申请(1,2,2,2),系统能否将资源分配给它?为什么?

操作系统之调度算法和死锁中的银行家算法习题答案

1.有三个批处理作业,第一个作业10:00 到达,需要执行2 小时;第二个作业在10:10 到达,需要执行1 小时;第三个作业在10:25 到达,需要执行25 分钟。分别采用先来先服务,短作业优先和最高响应比优先三种调度算法,各自的平均周转时间是多少? 解: 先来先服务: (结束时间=上一个作业的结束时间+执行时间 周转时间=结束时间-到达时间=等待时间+执行时间) 短作业优先: 1)初始只有作业1,所以先执行作业1,结束时间是12:00,此时有作业2和3; 2)作业3需要时间短,所以先执行; 最高响应比优先: 高响应比优先调度算法既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。 1)10:00只有作业1到达,所以先执行作业1; 2)12:00时有作业2和3, 作业2:等待时间=12:00-10:10=110m;响应比=1+110/60=2.8; 作业3:等待时间=12:00-10:25=95m,响应比=1+95/25=4.8; 所以先执行作业3 2.在一单道批处理系统中,一组作业的提交时刻和运行时间如下表所示。试计算一下三种作业调度算法的平均周转时间T 和平均带权周转时间W。 (1)先来先服务;(2)短作业优先(3)高响应比优先

解: 先来先服务: 短作业优先: 作业顺序: 1)8:00只有作业1,所以执行作业1; 2)9:00有作业2和3,作业3短,所以先执行3; 3)9:12有作业2和4,作业4短,所以先执行4; 高响应比优先: 作业顺序: 1)8:00只有作业1,所以执行作业1; 2)9:00有作业2和3 作业2等待时间=9:00-8:30=30m,响应比=1+30/30=2; 作业3等待时间=9:00-9:00=0m,响应比=1+0/12=1; 所以执行作业2; 3)9:30有作业3和4 作业3等待时间=9:30-9:00=30m,响应比=1+30/12=3.5; 作业4等待时间=9:30-9:06=24m,响应比=1+24/6=5;

《操作系统》习题集参考答案:第6章 死锁

第6章死锁-习题集 一、选择题 1. C 2. C 3. C 4. C //产生死锁的原因是系统资源不足及进程推进顺序不正确 5. B 6. D 7. B 8. C 9. C 10. D //有序资源分配法的实现思想是将系统中的所有资源都按类型赋予一个编号(如打 印机1,磁带机为2等),要求每一个进程均严格按照编号递增的次序来申请资源,同类资源一次申请完。这样不会造成循环等待。 11. A //互斥条件是资源本身固有的特性。 12. B //当每个都获得2台打印机且系统中剩余打印机不少于1台时,系统不会发生死锁, 即11-2N>=1,由此知N<=5。 //本注: N=1,空闲11-3*1=8,不死锁 N=2,空闲11-3*2=5,不死锁 N=3,空闲11-3*3=2,不死锁 N=4,每个2台,空闲11-2*4=3,不死锁 N=5,每个2台,空闲11-2*5=1,不死锁 N=6,5个进程2台,1个进程1台,无空闲,死锁! 13. C //同上例。8-2K>=1,K<=3.5,向上取整为4。 14. B 15. B

16. B //本注:破坏了死锁必要条件“环循等待”,属于“死锁预防” 17. C 18. D //本注:P2和P3无法满足资源需要,都需资源R2三个。 二、综合应用题 1.所谓死锁是指多个进程因竞争系统资源或相互通信而处于永久阻塞状态,若无外力作 用,这些进程都将无法向前推进。 产生死锁的原因是:一是由多进程共享的资源不足而引起竞争资源;二是由于进程在运行过程中具有异步性,进程推进顺序非法。 2.必要条件如下: ●互斥条件。指在一段时间内某资源仅为一个进程所占有。 ●不剥夺条件。指进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走, 而只能由该进程自己释放。 ●部分已分配条件(Hold and Wait):指进程每次申请它所需要的一部分资源,在等待 分配新资源的同时,进程继续占有已分配到的资源。 ●环路等待条件。指存在一种进程资源的循环等待链,链中每一个进程已获得的资源 同时被链中下一个进程所请求。 解决死锁问题常采用的措施有: ●死锁预防。通过破坏死锁产生的四个必要条件中之一来预防死锁的发生。 ●死锁避免。在资源动态分配进程中,用某种方法防止系统进程不安全状态,从而避 免死锁。 ●死锁的检测及解除。通过系统的检测机构及时地检测出死锁的发生,然后采取某种 措施解除死锁。 3.有可能。例如在系统死锁的状态下,进程处于占有等待资源的状态,应当即不属于运行 态也不属于就绪态,即都处于阻塞状态时。 4.在资源分配系统中,死锁发生的原因是由于多个进程共享有限的独占型资源。当多个进 程占有了部分资源又需要更多的资源时,就可能形成循环等待链而导致死锁。 死锁情况分析:每个进程都占有W-1个资源,需再分配1个资源,为保证不死锁,系统必须至少有一个可分配的资源,取M满足: M>=N(W-1)+1 因此保证系统不发生死锁的最小M什可以从下面公式获得: M=N(W-1)+1 1)2*0+1=1,而M=3,不会死锁 2)2*1+1=3,而M=3,不会死锁 3)2*2+1=5,而M=3,可能死锁。出现死锁情况是:一个进程占有2个资源,另一占 1个资源 4)3*1+1=4,而M=5,不会死锁 5)3*2+1=7,而M=7,可能死锁。出现死锁情况是:3个进程各占2个资源

操作系统中死锁与死机现象的比较

2010年第12期吉林省教育学院学报 N o .12,2010 第26卷J O U R N A LO FE D U C A T I O N A LI N S T I T U T EO FJ I L I NP R O V I N C E V o l .26(总240期) T o t a l N o .240 收稿日期:2010—07—25作者简介:哈森格日乐,女,内蒙古兴安盟广播电视大学,讲师。研究方向:计算机应用。 操作系统中死锁与死机现象的教学比较 哈森格日乐 (内蒙古兴安盟广播电视大学,内蒙古兴安盟137400) 摘要:死锁是计算机操作系统中的一个突出问题。死锁与死机是两个不同又有关联的概念。本文从死锁与死机的概念、 产生的原因及排除三个方面进行了比较论述。 关键词:死锁;死机;进程中图分类号:G 642.0 文献标识码:A 文章编号:1671—1580(2010)12—0071—02 操作系统中的死锁可定义为:各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想得到资源而又都得不到资源,各并发进程不能继续向前推进的状态。它是操作系统核心在内部管理和控制的调度设计中造成系统无法继续运行的“死机”现象。 一、产生死锁与“死机”的原因(一)死锁的起因及必要条件 死锁的起因是并发进程的资源竞争。产生死锁的根本原因在于系统提供的资源个数少于并发进程所要求的该类资源数。显然,由于资源的有限性,不可能为所有要求资源的进程无限制地提供资源。但是,可以采用适当的资源分配算法,以达到消除死锁的目的。然而要达到消除死锁的目的必须了解产生死锁的必要条件。这个我们从死锁的概念就可以得到。1.互斥条件。并发进程所要求和占有的资源是不能同时被两个以上进程使用或操作的,进程对它所需要的资源进行排他性控制;2.不剥夺条件。进程所获得的资源在未使用完毕之前,不能被其他进程强行剥夺,而只能由获得该资源的进程自己释放;3.部分分配。进程每次申请它所需要的一部分资源,在等待新资源的同时,继续占用已分配到的资源;4.环路条件。存在一种进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。 (二)“死机”的原因1.W i n d o w s 的即插即用功能,简化了新硬件的安装,但随之而来的是系统启动时,总是要搜索所有的驱动程序再决定运行。因此,某些失效硬件的驱动程序会导致“死机”。 2.资源耗尽:“蓝屏”故障常常发生在进行一项比较大或比较多的工作时,或是在保存复制的时候,往往发生得比较突然。这类故障的发生原因主要是与三个堆资源(系统资源、用户资源、G D I 资源)的占用情况有关。资源耗尽会出现“系统资源严重不足”等“蓝屏”警告。平时可以观察一下系统资源的可用比例。 3.版本冲突:尤其是不同文件管理方式。W i n 98与W i n 2000等的F A T 16/32、N T F S 就是如此。 4.注册表损坏:注册表是W i n d o w s 95之后引入的一个管理新概念,采用“表格”数据结构,其中包含了系统所有的信息。在启动和运行时,机器会读取其中的内容以配置系统,同时几乎所有重要操作都会在其中留下蛛丝马迹。通过修改,轻易实现常规操作无法实现的功能,但如果其中的信息受到破坏,那么系统就不能正常工作。 5.“碎片”太多:新安装的系统,数据的存放是连续的。不断运行工作后使文件在硬盘上的存放位置凌乱异常。即便不出现错误,系统性能也要降低。需要定期对硬盘进行碎片整理。 6.驻留主存:任务栏右下侧的系统托盘内的图标控制会使操作带来很大的方便,但这样的方便不仅降低系统性能,而且会耗尽主存和其他系统资源,最后造成系统死机。 7.卸载不完整:不完全卸载,会在系统中产生大量的垃圾文件,从而导致系统的不稳定。 71 DOI :10.16083/j .cn ki .1671-1580.2010.12.059

计算机操作系统练习题及答案

单项选择 1. 两个进程合作完成一项任务。在并发执行中,一个进程要等待其合作伙伴发来消息,或建立某个条件后再运行,这种制约性合作关系被称为进程的—A—。 A.同步 B.执行 C.互斥 D.调度 2. 为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式通常称为—C—。 A. 进程互斥 B. 进程同步 C. 进程通信 D. 进程制约 3. 除了因为资源不足,进程竞争资源可能出现死锁外,不适当的—C—也可能产生死锁。 A.进程优先权 B.资源线性分配 C.进程推进顺序 D.分配队列优先权 4. 除了可以采用资源剥夺法解除死锁外,还可以采用—C—方法解除死锁。 A.修改信号量 B.拒绝分配新的资源 C.撤消进程 D.执行并行操作 5. 资源的按序分配策略可以破坏—D—条件。 A. 互斥 B. 请求与保持 C. 不剥夺 D. 环路等待 6. 在—C—的情况下,系统出现死锁。 A. 计算机系统发生了重大故障 B. 有多个阻塞的进程存在 C. 若干个进程因竞争资源而无休止地相互等待他方释放已占有的资源 D. 资源数远小于进程数或进程同时申请的资源数远超过资源总数 7.某系统中有3个进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是—B—。 A.9 B.10 C.11 D.12 8. 银行家算法是一种—B—算法。 A. 解除死锁 B.避免死锁 C. 预防死锁 D. 检测死锁 9. 在下列解决死锁的方法中,属于死锁预防策略的是—B—。 A. 银行家算法 B. 资源有序分配 C. 死锁检测法 D. 资源分配图化简法 10. 设有n个进程共用一个相同的程序段(临界区),如果每次最多允许m个进程(m≤n)同时进入临界区,则信号量的初值应为—B—。 A. n B. m C. m-n D. -m 11.死锁定理是用于处理死锁的哪一种方法—C—。 A.预防死锁 B.避免死锁 C.检测死锁 D.解除死锁 12. AND信号量集机制是为了—C—。 A. 信号量的集中使用 B. 解决结果的不可再现性问题 C. 防止系统的不安全性 D. 实现进程的相互制约 13.临界区是指—A—。

操作系统论文死锁问题

操作系统 论文 学号:2135123 姓名:张冰 专业:物联网工程 东北大学秦皇岛分校

操作系统中的死锁问题 摘要:进程死锁问题是操作系统的主要问题之一,很多学者专家一直在研究怎样解决这个问题。本文针对操作系统中经常出现的死锁问题进行了讨论,阐述了死锁出现的原因、必要条件,以及死锁的处理方法,最后谈论了一个避免死锁的经典算法——银行家算法。 关键词:死锁;死锁的原因;死锁的必要条件;银行家算法 一、死锁的概述 死锁是进程死锁的简称,是由Dijkstra于1965年研究银行家算法时首先提出的。所谓死锁,是指多个进程因为竞争资源而造成的一种僵局。死锁其实在信号量时已经提到过,当一个进程想要申请资源A,拥有资源B,而另一个进程想申请资源B,但是拥有资源A,那么就会产生死锁。信号量本身就是个资源,有一定数量。资源分为很多很多,如内存空间,CPU周期,I/O设备等,每个资源有一定数量的资源实例。资源和信号量一样,有等待队列,当一个进程想要申请资源,但需要其他进程释放此资源,则进入该资源的等待队列。 二、死锁的原因

(一)并发进程对临界资源的竞争。在进程并发环境下,进程需要独占某个系统资源,而这些资源又被进程所共享,因此,必然引起进程之间对资源的竞争。 (二)并发进程推进顺序不当。以哲学家进餐问题为例,有5个哲学家同时围坐在圆桌上进餐,每个哲学家右手边放一把叉子,完成就餐需要用两把叉子。如果5个哲学家同时去拿叉子,则每个哲学家只能拿到一把,然而所有哲学家都在等待另一把得不到的叉子,因此无法完成就餐。这就发生了死锁现象。 三、死锁的必要条件 1.互斥。即资源不能被多个进程所占有。这点其实除了只读文件,其他基本都满足。 2.占有并等待:A进程占有一些资源,还需要的一些资源被其他进程占有,所以处在等待状态。 3.非抢占:资源不能被中途抢占。 4.循环等待:{P0,P1,P2....}进程队列,P0等待P1占用的资源,类似。只要4个条件满足,则说明必定死锁。 四、死锁的处理 死锁现象会导致计算机系统无法正常运行,我们必须对死锁进行处理以排除死锁带来的不便。处理死锁归结起来有四种方法:

操作系统之调度算法和死锁中的银行家算法

操作系统之调度算法和死锁中的银行家算法习题答案

1. 有三个批处理作业,第一个作业 10:00 到达,需要执行 2 小时;第二个作业在 10:10 到达,需要执行 1 小时;第三个作业在 10:25 到达,需要执行 25 分钟。分别采用先来先服务,短作业优先和最高响应比优先三种调度算法,各自的平均周转时间是多少? 解: 先来先服务: (结束时间=上一个作业的结束时间+执行时间周转时间=结束时间-到达时间=等待时间+执行时间) 按到达先后,执行顺序:1->2->3 作业到达 时间 结束 时间 等待 时间 执行 时间 周转 时间 平均周 转时间 1 10:00 12:00 0m 120m 120m 156.7m 2 10:10 13:00 110m 60m 170m 3 10:25 13:25 155m 25m 180m 短作业优先: 1)初始只有作业1,所以先执行作业1,结束时 间是12:00,此时有作业2和3; 2)作业3需要时间短,所以先执行;

3)最后执行作业2 作业到达 时间 结束 时间 等待 时间 执行 时间 周转 时间 平均周 转时间 1 10:00 12:00 0m 120m 120m 145m 3 10:25 12:25 95m 25m 120m 2 10:10 13:25 135m 60m 195m 最高响应比优先: 高响应比优先调度算法既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。 1)10:00只有作业1到达,所以先执行作业1; 2)12:00时有作业2和3, 作业2:等待时间=12:00-10:10=110m;响应比=1+110/60=2.8; 作业3:等待时间=12:00-10:25=95m,响应比=1+95/25=4.8; 所以先执行作业3 3)执行作业2 作业到达 时间 结束 时间 等待 时间 执行 时间 周转 时间 平均周 转时间 1 10:00 12:00 0m 120m 120m

浅谈操作系统中的死锁问题

浅谈操作系统中的死锁问题 学院:数学与计算机科学学院 姓名 学号:

摘要:进程死锁问题是操作系统的主要问题之一,很多学者专家一直在研究怎样解决这个问题。本文针对操作系统中经常出现的死锁问题进行了讨论,阐述了死锁出现的原因、四个必要条件,以及死锁的处理方法。 关键词:死锁;死锁产生的原因;死锁产生的条件;死锁的解除与预防;银行家算法。 一、死锁的概述: 死锁是进程死锁的简称,是由Dijkstra于1965年研究银行家算法时首先提出的。所谓死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 二、产生死锁的原因: 因为系统资源不足;进程运行推进的顺序不合适;资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁 三、产生死锁的四个必要条件: 互斥条件:一个资源每次只能被一个进程使用。请求与保持条件(占有等待):一个进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件(不可抢占):进程已获得的资源,在未使用完之前,不能强行剥夺。循环等待条件:若干进程之间形成一种头尾相接的循环

等待资源关系。 四、死锁的解除与预防: 理解了死锁的原因,尤其是产生死锁的四个必要条件,就可以最大可能地避免、预防和解除死锁。在系统设计、进程调度等方面注意如何不让这四个必要条件成立,如何确定资源的合理分配算法,避免进程永久占据系统资源。 ⑴有序资源分配法。这种算法资源按某种规则系统中的所有资源统一编号(例如打印机为1、磁带机为2、磁盘为3、等等),申请时必须以上升的次序。 采用有序资源分配法:R1的编号为1,R2的编号为2;PA:申请次序应是:R1,R2;PB:申请次序应是:R1,R2;这样就破坏了环路条件,避免了死锁的发生。 ⑵银行算法。避免死锁算法中最有代表性的算法是DijkstraE.W于1968年提出的银行家算法。该算法需要检查申请者对资源的最大需求量,如果系统现存的各类资源可以满足申请者的请求,就满足申请者的请求。这样申请者就可很快完成其计算,然后释放它占用的资源,从而保证了系统中的所有进程都能完成,所以可避免死锁的发生。五、死锁排除的方法: 撤消陷于死锁的全部进程;逐个撤消陷于死锁的进程,直到死锁不存在;从陷于死锁的进程中逐个强迫放弃所占用的资源,直至死锁消失;从另外一些进程那里强行剥夺足够数量的资源分配给死锁进程,以解除死锁状态。死锁是网络中最容易发生的故障之一,即使在网络负荷

计算机操作系统练习题及答案 第三章

计算机操作系统练习题及答案第三章 单项选择 1. 两个进程合作完成一项任务。在并发执行中,一个进程要等待其合作伙伴发来消息,或建立某个条件后再运行,这种制约性合作关系被称为进程的—A—。 A.同步 B.执行 C.互斥 D.调度 2. 为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式通常称为—C—。 A. 进程互斥 B. 进程同步 C. 进程通信 D. 进程制约 3. 除了因为资源不足,进程竞争资源可能出现死锁外,不适当的—C —也可能产生死锁。 A.进程优先权 B.资源线性分配 C.进程推进顺序 D.分配队列优先权 4. 除了可以采用资源剥夺法解除死锁外,还可以采用—C—方法解除死锁。 A.修改信号量 B.拒绝分配新的资源 C.撤消进程 D.执行并行操作 5. 资源的按序分配策略可以破坏—D—条件。 A. 互斥 B. 请求与保持 C. 不剥夺 D. 环路等待 6. 在—C—的情况下,系统出现死锁。

A. 计算机系统发生了重大故障 B. 有多个阻塞的进程存在 C. 若干个进程因竞争资源而无休止地相互等待他方释放已占有的资源 D. 资源数远小于进程数或进程同时申请的资源数远超过资源总数 7.某系统中有3个进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是—B—。 A.9 B.10 C.11 D.12 8. 银行家算法是一种—B—算法。 A. 解除死锁 B.避免死锁 C. 预防死锁 D. 检测死锁 9. 在下列解决死锁的方法中,属于死锁预防策略的是—B—。 A. 银行家算法 B. 资源有序分配 C. 死锁检测法 D. 资源分配图化简法 10. 设有n个进程共用一个相同的程序段(临界区),如果每次最多允许m个进程(m≤n)同时进入临界区,则信号量的初值应为—B —。 A. n B. m C. m-n D. -m 11.死锁定理是用于处理死锁的哪一种方法—C—。 A.预防死锁 B.避免死锁 C.检测死锁 D.解除死锁 12. AND信号量集机制是为了—C—。

操作系统死锁练习 Exercise-5题

Deadlocks 1、判断题 (1) 死锁避免比死锁预防对系统条件限制更严格,所以使得系统资源利用率不高。…(错) (2) 若进程资源分配图中含有环,则一定有进程处于死锁状态。……………………………(错)2、填空题 (1) 产生死锁的根本原因是(资源相对不足)与(推进顺序不合理) (2) 预防死锁的基本思想要求进程申请资源时遵循某种协议,打破产生死锁的(必要条件) (3) 银行家算法的思想是分配资源前,判断(资源分配后系统仍处于安全状态),若是,才分配 3、某系统中有5个并发进程,都需要同类型资源3个,试问该系统不会发生死锁的最少资源数是多少?并说明原因。 5 * 2 + 1 = 11个,每个进程有两个资源的前提下,只要有一个额外的资源就不会发生死锁,总有一个进程可以运行,结束后其他进程再申请资源就可以。 4、假设系统配有相同类型的m个资源,系统中有n个进程,每个进程至少请求一个资源(最多不超过m)。请证明,当n个进程最多需要的资源数之和小于(m+n) 时,该系统不会发生死锁。 由题意可知: 1 <= Need <= m Max之和< m+ n 若要发生死锁则allocation之和=m Need之和= max之和- allocation之和 Need之和< n 所以必有一个进程的need=0 与 1 <= Need <= m 矛盾! 5、现有五个进程A,B,C,D,E共享R1,R2,R3,R4这四类资源,进程对资源的 需求量和目前分配情况如下表。若系统还有剩余资源数分别为R1类2个,R2类6个, R3类2个和R4类1个,请按银行家算法回答下列问题: (1) 目前系统是否处于安全状态? (2) 现在如果进程D提出申请(2,5,0,0) 个资源,系统是否能为它分配资源? 进程Allocation Max Available R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4 A 3 6 2 0 5 6 2 0 2 6 2 1

浅谈操作系统中的死锁问题

浅谈操作系统中的死锁问题 【摘要】经济飞速发展,计算机的应用越来越广,而作为计算机的入口,操作系统 的研究越来越重要。而死锁问题是我们一直不断致力于的重要课题。死锁是多个进程为竞争系统资源或彼此间通信而引起的永久性的阻塞现象.本文主要讨论死锁的基本概念,然后讨论解决死锁的3种途径:死锁预防,死锁检测,死锁避免. 【关键字】死锁;死锁条件;死锁处理 一引言 在计算机系统中,系统资源是有限的,但是在往往涉及到进程对有限资源的占有问题,在早期的系统中,由于系统结构,规模以及系统资源分配等问题都相对简单,使随着计算机急速的不断发展,软件系统变得庞大复杂,系统资源的种类日益增多,而且许多资源是独占资源,有由于进程之间的相互通信等,使得系统出现死锁现象大大增加。死锁的出现,是系统无法正常运行,给系统带来了极大的危害。为此,关于死锁问题的研究已成为操作系统理论的重要课题之一。本文就操作系统的死锁相关问题进行讨论。 二死锁的概叙 死锁是进程死锁的简称,是由Dijkstra于1965年研究银行家算法时首先提出来的。它是计算机操作系统乃至并发程序设计中最难处理的问题之一。实际上,死锁问题不仅在计算机系统中存在,在我们日常生活中它也广泛存在。 1.什么是死锁 所谓死锁,是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。 2.产生死锁的条件 计算机要能产生死锁问题必需满足如下的四个条件,缺一不可。 〈1〉互斥条件。即某个资源在一段时间内只能由一个进程占有,不能同时被两个或

最新计算机操作系统习题及答案(5)

第5章死锁 1)选择题 (1)为多道程序提供的可共享资源不足时,可能出现死锁。但是,不适当的_C__ 也可能产生死锁。 A. 进程优先权 B. 资源的线性分配 C. 进程推进顺序 D. 分配队列优先权 (2)采用资源剥夺法可以解除死锁,还可以采用_B___ 方法解除死锁。 A. 执行并行操作 B. 撤消进程 C. 拒绝分配新资源 D. 修改信号量 (3)发生死锁的必要条件有四个,要防止死锁的发生,可以通过破坏这四个必要条件之一来实现,但破坏_A__ 条件是不太实际的。 A. 互斥 B. 不可抢占 C. 部分分配 D. 循环等待 (4)为多道程序提供的资源分配不当时,可能会出现死锁。除此之外,采用不适当的_ D _ 也可能产生死锁。 A. 进程调度算法 B. 进程优先级 C. 资源分配方法 D. 进程推进次序 (5)资源的有序分配策略可以破坏__D___ 条件。 A. 互斥使用资源 B. 占有且等待资源 C. 非抢夺资源 D. 循环等待资源 (6)在__C_ 的情况下,系统出现死锁。 A. 计算机系统发生了重大故障 B. 有多个封锁的进程同时存在 C. 若干进程因竞争资源而无休止地相互等待他方释放已占有的资源 D. 资源数大大小于进程数或进程同时申请的资源数大大超过资源总数 (7)银行家算法在解决死锁问题中是用于_B__ 的。 A. 预防死锁 B. 避免死锁 C. 检测死锁 D. 解除死锁 (8)某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是_C__ 。 A. 12 B. 11 C. 10 D. 9 (9)死锁与安全状态的关系是_A__ 。 A. 死锁状态一定是不安全状态 B. 安全状态有可能成为死锁状态 C. 不安全状态就是死锁状态 D. 死锁状态有可能是安全状态

操作系统——随堂作业5——死锁

随堂练习5 一单选 1、解决死锁的途径是()。 A、立即关机排除故障 B、立即关机再重新开机 C、不要共享资源,增加独占资源 D、设计预防死锁方法,运行检测并恢复 2、系统出现死锁的原因是( )。 A、计算机系统发生了重大故障 B、有多个封锁的进程同时存在 C、若干进程因竞争资源而无休止地等待着,不释放已占有的资源 D、资源数大大少于进程数,或进程同时申请的资源数大大超过资源总数 3、两个进程争夺同一个资源( )。 A、一定死锁 B、不一定死锁 C、不会死锁 D、以上说法都不对 4、进程P1使用资源情况:申请资源S1,申请资源S2,释放资源S1;进程P2使用资源情况:申请资源S2,申请资源S1,释放资源S2,系统并发执行进程P1,P2,系统将( )。 A、必定产生死锁 B、可能产生死锁 C、会产生死锁 D、无法确定是否会产生死锁 5、产生死锁的主要原因是进程运行推进的顺序不合适( )。 A、系统资源不足和系统中的进程太多 B、资源的独占性和系统中的进程太多 C、进程调度不当和资源的独占性 D、资源分配不当和系统资源不足 6、操作系统中,“死锁”的概念是指( )。 A、程序死循环 B、硬件发生故障 C、系统停止运行 D、并发进程各自占有某种资源而又都等待别的进程释放其占有的资源 7、产生死锁的四个必要条件是: 互斥条件,( ), 环路条件和不剥夺条件。 A、请求与阻塞 B、请求与保持 C、请求与释放 D、释放与阻塞 8、通过破坏产生死锁的四个必要条件之一,可以保证不让死锁发生,其中采用资源有序分配法是破坏( )。 A、互斥条件 B、不可剥夺条件 C、部分分配条件 D、环路条件 9、任何两个并发进程之间( )。 A、一定存在互斥关系 B、一定存在同步关系 C、一定彼此独立无关 D、可能存在同步或互斥关系 10、下列死锁预防策略中,破坏了“循环等待”条件的是()。 A.银行家算法 B.一次性分配 C.剥夺资源法 D.资源有序分配 11、某系统中有3个并发进程,都需要同类资源4个,问该系统不会发生死锁的最少资源数是()。 A.11 B.9 C.10 D.12 12、某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K 的最小值是()。 A、2 B、3 C、4 D、5 13、银行家算法在解决死锁问题中是用于()的 A、预防死锁 B、避免死锁 C、检测死锁 D、解除死锁 二填空 1、死锁产生的四个必要条件是互斥条件,不剥夺条件、部分分配和________条件四种。 2、对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。典型的银行家算法是属于死锁的__________,破坏环路等待条件是属于死锁的预防,而剥夺资源是死锁的解除的基本方法。 3、解决死锁的方法分为三种:死锁预防、死锁________和死锁检测与恢复。 4、死锁是指在系统中的多个______无限期地等待永远不会发生的条件。 5、破坏死锁的“_______”条件,通常可采用资源顺序分配法。 三、简答题 1、何为死锁?产生死锁的原因和必要条件是什么? 2、在解决死锁问题的几个方法中,哪种方法最容易实现?哪种方法使资源的利用率最高? 3、请详细说明可通过哪些途径预防死锁? 4、有三个进程P1、P2和P3并发工作。进程P1需要资源S3和S1;进程P2需用资源S1和S2;进程P3需用资源S2和S3,回答:(1)若对资源分配不加限制,会发生什么情况?为什么?(2)为保证进程正确地工作,应采用怎样的

相关主题
文本预览
相关文档 最新文档