死锁
死锁问题
一列系列阻塞的进程持有一种资源等待获取另一个阻塞的进程所占有的资源, 两个进程都因为没有获取到自己所需要的资源而不释放锁, 所以就会出现死锁问题。..., 死锁就有可能发生
资源分配图
一组顶点V和边E的集合
V有两种类型 :
P={P1,P2,…,Pn},集合包括系统中的所有进程。...R={R1,R2,…,Rm},集合包括系统中的所有资源类型。...忽略这个问题,假装系统中从来没有发生死锁,用于大多数操作系统,包括UNIX
Deadlock Prevention 预防
限制申请方式
互斥 — 共享资源不是必须的,必须占用非共享资源
**占用并等待...one for each disjoint cycle
如果检测算法多次被调用,有可能是资源图有多个循环,所以我们无法分辨出多个可能死锁进程中的哪些”造成”死锁
Recovery from Deadlock