6.1 死锁原理
1. 是啥
- 一组相互竞争的系统资源或进行通信的进程间永久的阻塞
- 互相竞争
- 死锁是永久的
- 若无外力作用,都无法再向前推进
2. 可重用资源 Reusable Resources
特点:指一次仅提供一个进程安全使用且不因使用而耗尽not depleted 的资源
使用:进程得到资源单元并使用后,会释放这些单元供其他进程再次使用
举例:
处理器
IO通道
内存和存
设备
文件
数据库信号量等之类的数据结构
死锁发生在,如果每个进程占用着一个资源并且要求另一个
3. 可消耗资源Consumable Resources
特点:可被创建 ,可被销毁 的资源
举例:
中断interrupts
信号 signals
消息messages
I/O缓冲区的消息 inforamation
很少的时间组合也可能导致死锁
4. 资源分配图 resource allocation graph
有向图 :说明了系统资源和进程状态
5. 死锁的条件🎃
- 互斥 mutual exclusion
一次只有一个进程占有一个资源,其他进程不能访问已分配给其他进程的资源
- 占有且等待 hold and wait
当一个进程等待其他进程时,继续占有已分配的资源