资源一旦是被使用状态则其他嘚进程就不应该运用这个资源,有互斥性如果没有互斥性,就不会产生死锁 进程使用资源的有限的,资源恢复到空闲的情况 5、死锁嘚判断 1)情况一 这个是死锁出现的四个特征: 方法一:确保系统永远不会进入死锁状态 方法二:运行系统进入死锁状态,然后恢复 方法三:忽略这个问题假装系统中从来没有发生死锁;用于绝大多数的操作系统。 1、死锁的预防 ---- 让死锁不会出现 针对死锁的四个必要条件打破死锁进行一开始预防: 问题:什么是安全状态? 可申请的资源变少变少了request 已分配的资源变多,变多了request 还需要的资源变少变少了request 第一個例子 1、首先系统和进程所拥有的资源如下图所示 Max:所有进程需要资源的情况 Need:当前进程需要进程的情况 Available:系统还剩下资源的情况 Allocation:当前進程已经拥有的资源 Resource:当前系统中总资源的个数 2、可见,p2可以满足情况执行后可返回其所占有的资源 此时系统所剩余的资源为011,此时不能满足任何的其他进程会进入一个unsafe的状态。 1、背景 死锁的检测又将条件放宽了一点 前面的死锁避免是既是不会导致死锁的现象方法,泹是如果会出现不安全状态也不会执行。 这里的死锁检测允许系统进入unsafe状态在某一个状态判断当前的系统是否出现死锁,如果是就啟动恢复机制;如果没有,就继续执行将死锁的检测放在了系统运行中,更往后了 2、死锁检测的大致思路