产生进程死锁的原因是什么?如何接触死锁?
2012-06-01 11:00
288 查看
产生死锁的原因:一是系统提供的资源数量有限,不能满足每个进程的使用;二是多道程序运行时,进程推进顺序不合理。
产生死锁的必要条件是:1、互斥条件;2、不可剥夺条件(不可抢占);3、部分分配;4、循环等待。
根据产生死锁的四个必要条件,只要使其中之一不能成立,死锁就不会出现。为此,可以采取下列三种预防措施:
1、采用资源静态分配策略,破坏"部分分配"条件;
2、允许进程剥夺使用其他进程占有的资源,从而破坏"不可剥夺"条件;
3、采用资源有序分配法,破坏"环路"条件。
死锁的避免不严格地限制死锁的必要条件的存在,而是系统在系统运行过程中小心地避免死锁的最终发生。最著名的死锁避免算法是银行家算法。死锁避免算法需要很大的系统开销。
解决死锁的另一条途径是死锁检测方法,这种方法对资源的分配不加限制,即允许死锁的发生。但系统定时地运行一个"死锁检测"程序,判断系统是否已发生死锁,若检测到死锁发生则设法加以解除。
解除死锁常常采用下面两种方法:1、资源剥夺法;2、撤消进程法
产生死锁的必要条件是:1、互斥条件;2、不可剥夺条件(不可抢占);3、部分分配;4、循环等待。
根据产生死锁的四个必要条件,只要使其中之一不能成立,死锁就不会出现。为此,可以采取下列三种预防措施:
1、采用资源静态分配策略,破坏"部分分配"条件;
2、允许进程剥夺使用其他进程占有的资源,从而破坏"不可剥夺"条件;
3、采用资源有序分配法,破坏"环路"条件。
死锁的避免不严格地限制死锁的必要条件的存在,而是系统在系统运行过程中小心地避免死锁的最终发生。最著名的死锁避免算法是银行家算法。死锁避免算法需要很大的系统开销。
解决死锁的另一条途径是死锁检测方法,这种方法对资源的分配不加限制,即允许死锁的发生。但系统定时地运行一个"死锁检测"程序,判断系统是否已发生死锁,若检测到死锁发生则设法加以解除。
解除死锁常常采用下面两种方法:1、资源剥夺法;2、撤消进程法
相关文章推荐
- 产生进程死锁的原因是什么?如何接触死锁?
- 什么是死锁,产生的原因,如何避免死锁
- 系统进程死锁是什么原因如何让进程不死锁
- 【操作系统面试专题】:何谓死锁?产生死锁的原因和必要条件是什么?
- 进程死锁的原因以及如何解除死锁
- 僵尸进程产生的原因及如何避免
- linux僵尸进程产生的原因以及如何避免产生僵尸进程
- Linux_进程死锁?产生条件?产生原因?怎样预防?怎样检测死锁和解除死锁?
- linux僵尸进程产生的原因以及如何避免产生僵尸进程
- linux僵尸进程产生的原因以及如何避免产生僵尸进程
- 如何给有死锁的进程发送信号,让他产生core文件
- java中产生死锁的原因及如何避免
- 产生死锁的原因是什么?产生死锁的必要条件是什么?
- 什么是死锁?产生的条件?如何避免?
- linux僵尸进程产生的原因以及如何避免产生僵尸进程
- 死锁产生的原因&&必要条件&&如何避免死锁
- linux僵尸进程产生的原因以及如何避免产生僵尸进程
- 谈谈对进程的理解?谈谈你对线程的理解?2.进程死锁的原因?如何解决进程死锁?
- Unix/Linux系统中僵尸进程是如何产生的?有什么危害?如何避免?
- linux僵尸进程产生的原因以及如何避免产生僵尸进程