令竞争临时性资源 >临时性资源vs永久性资源 S1、S2、S3是临时资源 PI: Release(s1) request(S3) P2: Release(s2); request(s1) P1 1958 P3: Release(s3) request(S2) 不可能发生死锁 S3 SI PI: Request(S3) Release(s1) P2: Request(S1); Release(S2) P3 P2)P3: Request(S2); Release(S3) 可能发生死锁 嵌入式系统实验室 S2 EMBEDDED SYSTEM LAB口RAT口RY SU:MDU INTHUTE OR AOVANCLD STUOY D USTt
❖竞争临时性资源 ➢临时性资源 vs. 永久性资源 P1 S3 S1 P3 P2 S2 P1:Release(S1);Request(S3) P2:Release(S2);Request(S1) P3:Release(S3);Request(S2) 不可能发生死锁 P1:Request(S3);Release(S1) P2:Request(S1);Release(S2) P3:Request(S2);Release(S3) 可能发生死锁 S1、S2、S3是临时资源
进程推进顺序不当引起死锁 基于进程的异步特性。 令进程推进顺序合法ⅴ.非法 令举例:P1和P2竞争R1和R2 PrEl(ri) PRelr, P2Req(rl PrEg(r P,Req(R) P,Req(ry)P Rel(r) P,Rel(r,) 入式系统实验室 BEDDED SYSTEM LABORATORY SU:MDU INTHUTE OR AOVANCLD STUOY D USTt
二、进程推进顺序不当引起死锁 基于进程的异步特性。 ❖ 进程推进顺序合法 vs. 非法 ❖ 举例:P1和P2竞争R1和R2
内容提要 ◆死锁的定义和产生死锁的原因 ◆产生死锁的必要条件 令处理死锁的基本方法 死锁的预防 死锁的避免958 死锁的检测与解除 嵌入式系统实验室 EMBEDDED SYSTEM LAB口RAT口RY SU:MDU INTHUTE OR AOVANCLD STUOY D USTt
内容提要 ❖死锁的定义和产生死锁的原因 ❖产生死锁的必要条件 ❖处理死锁的基本方法 ➢死锁的预防 ➢死锁的避免 ➢死锁的检测与解除
产生死锁的必要条件 Necessary Conditions 当下列4个必要条件同时具备时,就会产生死锁 1.互斥条件( Mutual exclusion) 2.请求和保持条件( Hold and wait) 3.不剥夺条件( No Preemptive) 4.环路等待( Circular wait) 嵌入式系统实验室 EMBEDDED SYSTEM LAB口RAT口RY SU:MDU INTHUTE OR AOVANCLD STUOY D USTt
产生死锁的必要条件Necessary Conditions 当下列4个必要条件同时具备时,就会产生死锁 1. 互斥条件(Mutual exclusion) 2. 请求和保持条件(Hold and wait) 3. 不剥夺条件(No Preemptive) 4. 环路等待(Circular wait)
1、互斥条件 ◆指进程对所分配到的资源进行排它性使用。 令对于这样的资源,不妨标记为R: >在一段时间内R只能有一个进程占有,例如P1 若此时还有其他进程(例如P2)要请求资源R,则P2 只能被阻塞,直到P1用完后释放资源R R P1 P2 嵌入式系统实验室 EMBEDDED SYSTEM LAB口RAT口RY SU:MDU INTHUTE OR AOVANCLD STUOY D USTt
1、互斥条件 ❖指进程对所分配到的资源进行排它性使用。 ❖对于这样的资源,不妨标记为R: ➢在一段时间内R只能有一个进程占有,例如P1 ➢若此时还有其他进程(例如P2)要请求资源R,则P2 只能被阻塞,直到P1用完后释放资源R R P1 P2