词条 | 进程死锁 |
释义 | 如果多个进程同时占有对方需要的资源而同时请求对方的资源,而它们在得到请求之前不会释放所占有的资源,那么就会导致死锁的发生,也就是进程不能实现同步。 产生死锁的四个必要条件1.互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。 2.请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。 3.非剥夺条件(No pre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。 4.循环等待条件(Circular wait):系统中若干进程组成环路,该环路中每个进程都在等待相邻进程正占用的资源。 预防死锁的产生1、采用资源静态分配策略,破坏"部分分配"条件; 2、允许进程剥夺使用其他进程占有的资源,从而破坏"不可剥夺"条件; 3、采用资源有序分配法,破坏"环路"条件。 死锁的避免不严格地限制死锁的必要条件的存在,而是系统在系统运行过程中小心地避免死锁的最终发生。最著名的死锁避免算法是银行家算法。死锁避免算法需要很大的系统开销。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。