死锁产生的必要条件是什么?死锁的预防、避免和检测各有什么不同?各举一种相应的方法。

题目

死锁产生的必要条件是什么?死锁的预防、避免和检测各有什么不同?各举一种相应的方法。

参考答案和解析
正确答案: 死锁产生的必要条件有:
1.所涉及的资源是非共享的;
2.进程在等待新资源时,继续占用已分配到的资源;
3.一个进程占有的资源不能被别的进程强行抢占;
4.一个进程获得的资源同时被另一个进程所请求,从而形成一个进程的循环链。
死锁的预防是研究如何破坏产生死锁的必要条件之一,从而达到不使死锁发生地目的。死锁的避免与死锁的预防区别在于,死锁的预防是严格破坏形成死锁的必要条件之一,使得死锁不在系统中出现。预防方法之一,采用假脱机技术将非共享设备变成共享设备来实现。
而死锁的避免并不严格限制必要条件的存在,因为必要条件存在并不一定产生死锁。而进程推进顺序不当,也可以导致系统发生死锁,因此死锁的避免是考虑万一当死锁有可能出现时,就小心地避免这种情况的最终发生。避免方法有采用相应的银行算法和方法。死锁的检测和恢复,这是一种变通的方法,它允许死锁的发生,但能在适当时间检测出来,并设法进行恢复。利用化简进程-资源有向图的方法来检测系统在某一特定状态时是否处于死锁状态。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下述____不是死锁处理策略。

A、时间溢出

B、死锁避免

C、死锁预防

D、死锁检测


正确答案:B

第2题:

请给出预防死锁和检测死锁的方法。


正确答案:预防死锁通常有以下两种方法: ①一次封锁法就是要求每个事务必须一次将所有要使用的数据全部加锁否则该事务不能继续执行; ②顺序封锁法是预先对数据对象规定一个封锁顺序所有事务都按这个顺序实行封锁。 检索死锁发生的一种方法是选择一个处理死锁代价最小的事务将其撤销释放此事务持有的所有锁使其他事务得以继续运行下去。
预防死锁通常有以下两种方法: ①一次封锁法,就是要求每个事务必须一次将所有要使用的数据全部加锁,否则该事务不能继续执行; ②顺序封锁法,是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。 检索死锁发生的一种方法是选择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有锁,使其他事务得以继续运行下去。

第3题:

银行家算法是一种()算法。

A、死锁预防

B、死锁避免

C、死锁解除

D、死锁检测


参考答案:B

第4题:

产生死锁的四个必要条件是什么?


正确答案: 1)互斥(Mutual exclusion):在一段时间内某资源只能由一个进程占有。
2)占有且等待(Hold and wait):已占有了一些资源的进程可能还要等待申请其他的资源才能继续工作。
3)非剥夺(No preemption):已分配给某进程的资源不可被其他进程剥夺,除非该进程自己释放该资源。
4)循环等待(Circular wait)存在一个封闭的进程-资源循环链。

第5题:

解决死锁有多种方法,一次分配所有资源来解决死锁的方法称为()。

A.死锁预防

B.死锁避免

C.死锁检测

D.死锁解除


参考答案:A

第6题:

解决死锁的方法有死锁的预防、死锁的避免、死锁的检测与恢复。()

此题为判断题(对,错)。


参考答案:对

第7题:

请给出预防死锁和检测死锁的方法。若检测发生死锁,应如何解除死锁?


正确答案:预防死锁通常有以下两种方法: ①一次封锁法。就是要求每个事务必须一次将所有要使用的数据全部加锁。否则该事务不能继续执行; ②顺序封锁法是预先对数据对象规定一个封锁顺序。所有事务都按这个顺序实行封锁。检测死锁发生的一种方法是选择一个处理死锁代价最小的事务将其撤销释放此事务持有的所有锁使其他事务得以继续运行下去。
预防死锁通常有以下两种方法: ①一次封锁法。就是要求每个事务必须一次将所有要使用的数据全部加锁。否则该事务不能继续执行; ②顺序封锁法,是预先对数据对象规定一个封锁顺序。所有事务都按这个顺序实行封锁。检测死锁发生的一种方法是选择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有锁,使其他事务得以继续运行下去。 解析:在IN子查询中,内层查询只处理一次,得到一个结果集,再依次处理外层查询。 解除死锁问题有两类方法:一类方法是采用一定措施来预防死锁的发生;另一类方法是允许发生死锁。然后采用一定手段定期诊断系统中有无死锁,若有则解除之。

第8题:

.解决死锁的方法有多种,通过"资源有序分配法"来解决死锁问题的方法称为

A.死锁预防

B.死锁避免

C.死锁检测

D.死锁解除


正确答案:A

第9题:

银行家算法是一种()算法。

A.死锁检测
B.死锁解除
C.死锁预防
D.死锁避免

答案:D
解析:
银行家算法是一个避免死锁的著名算法。

第10题:

什么是死锁,产生死锁的原因和必要条件是什么?


正确答案: (1)当某一进程提出资源的使用要求后,使得系统中一些进程处于无休止的阻塞状态,在无外力的作用下,这些进程永远也不能继续前进。我们称这种现象为死锁。
(2)原因:资源竞争和进程推进速度。一个进程在其运行过程中可以提出使用多个资源的要求,仅当指定的全部资源都满足时,进程才能继续运行而到达终点,否则该进程因得不到所要求的资源而处于阻塞状态,当两个或两个以上的进程同时对多个互斥资源提出使用要求时,有可能导致死锁。当进程争夺资源时,有可能产生死锁,但不一定就会死锁。这取决于各进程推进的速度和对资源请求的顺序,从而说明死锁是一种与时间有关的错误。
(3)必要条件:
互斥控制:进程对其所要求的资源进行排它控制,一个资源仅能被一个进程独占。
非剥夺控制:进程所获得的资源在未被释放之前,不能被其它进程剥夺,即使该进程处于阻塞状态,它所占用的资源也不能被其它进程使用,而其他进程只能等待该资源的释放。
逐次请求:进程以随意的零星方式逐次取得资源,而不是集中性的一次请求,这样有利于提高资源的利用率。
环路条件:在发生死锁时,其有向图必构成环路,即前一进程保持着后一进程所要求的资源。

更多相关问题