一、系统模型
1、资源概念
- 资源一旦是被使用状态,则其他的进程就不应该运用这个资源,有互斥性,如果没有互斥性,就不会产生死锁。
- 进程使用资源的有限的,资源恢复到空闲的情况。
2. 可重复使用的资源
- 在一个时间只能一个进程使用且不能删除
- 进程获得资源,后来释放有其他进程重用
- 处理器,io通道,主和副存储器,设备和数据结构,如文件,数据库和信号量都可以看作是资源的一种形式
- 如果每个进程拥有一个资源并且请求其他资源,死锁可能发生
3. 如何使用资源
- 创建和销毁,进行资源管理,内存管理
- 在I/O缓冲区中的中断,信号,消息,信息
- 如果接收消息阻塞可能会发生死锁
- 可能少见的组合事件会引起死锁
- 存在进程管理和调度的过程
二、死锁的特征及处理办法
1. 死锁的特征
死锁可能出现如果四个条件同时成立:
- 互斥:在一个时间只能有一个进程使用资源
- 持有并等待:进程保持至少一个资源正在等待获取其他进程持有的额外资源
- 无抢占:一个资源只能被进程自愿释放
- 循环等待:存在等待进程集合,一