1、死锁定义
如果一个进程集合中的每一个进程都在等待只能由该进程集合中的其他进程才能引发的事件,那么,该进程集合就是死锁的。
2、发生条件
- 互斥条件。每个资源要么已经分配给了一个进程,要么就是可用的。
- 占有和等待条件。已经得到了某个资源的进程可以再请求新的资源。
- 不可抢占条件。已经分配给一个进程的资源不能强制性地被抢占,它只能被占有它的进程显式地释放。
- 环路等待条件。死锁发生时,系统中一定有由两个或两个以上的进程组成的一条环路,该环路中的每一个进程都在等待着下一个进程所占有的资源。
3、死锁预防
- 破坏互斥条件。一切都使用假脱机技术。
- 破坏占有并等待条件。在开始就请求全部资源。
- 破坏不可抢占条件。抢占资源。
- 破坏环路等待条件。对资源按序编号。