进程死锁的条件
死锁的定义
死锁是一个进程集合中的多个进程因为竞争资源,而造成的相互等待现象。
死锁的原因
系统资源不足,多个进程的推进顺序不合理。
死锁的必要条件
- 互斥条件:资源不能被共享,只能由一个进程使用。
- 请求与保持条件:已经得到资源的进程可以再次申请新的资源。
- 非剥夺条件:已经分配的资源不能从相应的进程中被强制地剥夺。
- 循环等待条件:系统中若干进程组成环路,改环路中每个进程都在等待相邻进程正占用的资源。
- 忽略该问题。是一个消极的策略,当应用极少发生死锁的时候使用。
- 检测死锁并且恢复。
- 通过对资源的有序分配,以避免循环等待环路发生。
- 通过破坏死锁的必要条件,来防止死锁的产生。