当前位置:首页>健康大全 >小常识 > 生活小常识>正文

系统死锁的四个必要条件与相应的解决方法

2012-12-01 责任编辑:未填 浏览数:74 得宝网

核心提示:简单来说就是2个进程(也可简单的看做是一个有独立功能的程序)同时抢夺一个无法分配的资源 一组进程中每个进程均等待此组进程中某一其他进程所占用的 因而永远无法得到的资源 这中现象叫死锁

系统产生死锁的四个必要条件:
  (1) 互斥条件:一个资源每次只能被一个进程使用。
  (2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
  (3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
  (4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

处理死锁的策略

1.忽略该问题。例如鸵鸟算法,该算法可以应用在极少发生死锁的的情况下。为什么叫鸵鸟算法呢,因为传说中鸵鸟看到危险就把头埋在地底下,可能鸵鸟觉得看不到危险也就没危险了吧。跟掩耳盗铃有点像。
2.检测死锁并且恢复。
3.仔细地对资源进行动态分配,以避免死锁。
4.通过破除死锁四个必要条件之一,来防止死锁产生。
  这四个条件是死锁的必要条件, 只要系统发生死锁, 这些条件必然成立, 而只要上述条件之
  一不满足,就不会发生死锁。
  
  死锁的解除与预防:
  理解了死锁的原因, 尤其是产生死锁的四个必要条件,就可以最大可能地避免、预防和
  解除死锁。所以, 在系统设计、进程调度等方面注意如何不让这四个必要条件成立, 如何确
  定资源的合理分配算法, 避免进程永久占据系统资源。此外, 也要防止进程在处于等待状态
  的情况下占用资源。因此,对资源的分配要给予合理的规划。 好象是叫CPU超频锁? 一组进程中每个进程均等待此组进程中某一其他进程所占用的 因而永远无法得到的资源 这中现象叫死锁
简单来说就是2个进程(也可简单的看做是一个有独立功能的程序)同时抢夺一个无法分配的资源 一组进程中每个进程均等待此组进程中某一其他进程所占用的 因而永远无法得到的资源 这中现象叫死锁

版权与免责声明:

凡注明稿件来源的内容均为转载稿或由企业用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;

转载本站原创文章请注明来源:得宝网

友情链接: