试题详情
简答题死锁产生的必要条件是什么?死锁的预防、避免和检测各有什么不同?各举一种相应的方法。
  • 死锁产生的必要条件有:
    1.所涉及的资源是非共享的;
    2.进程在等待新资源时,继续占用已分配到的资源;
    3.一个进程占有的资源不能被别的进程强行抢占;
    4.一个进程获得的资源同时被另一个进程所请求,从而形成一个进程的循环链。
    死锁的预防是研究如何破坏产生死锁的必要条件之一,从而达到不使死锁发生地目的。死锁的避免与死锁的预防区别在于,死锁的预防是严格破坏形成死锁的必要条件之一,使得死锁不在系统中出现。预防方法之一,采用假脱机技术将非共享设备变成共享设备来实现。
    而死锁的避免并不严格限制必要条件的存在,因为必要条件存在并不一定产生死锁。而进程推进顺序不当,也可以导致系统发生死锁,因此死锁的避免是考虑万一当死锁有可能出现时,就小心地避免这种情况的最终发生。避免方法有采用相应的银行算法和方法。死锁的检测和恢复,这是一种变通的方法,它允许死锁的发生,但能在适当时间检测出来,并设法进行恢复。利用化简进程-资源有向图的方法来检测系统在某一特定状态时是否处于死锁状态。
  • 关注下方微信公众号,在线模考后查看

热门试题