第5章死锁 ■并发进程竞争使用资源,如果同步措施不怡当,容 易导致死锁现象。 操作系统除了需要预防死锁、避免死锁外,还需要 能够检测死锁,并从死锁中进行恢复
第5章 死 锁 ◼ 并发进程竞争使用资源,如果同步措施不恰当,容 易导致死锁现象。 ◼ 操作系统除了需要预防死锁、避免死锁外,还需要 能够检测死锁,并从死锁中进行恢复
本章目录 →51死锁的产生 52死锁预防 53死锁避免 54死锁的检测和解除 5.5线程死锁 202l//27 《计算机操作系统》-第5章 3/66
2021/1/27 《计算机操作系统》-第5章 3/66 本章目录 ◼ 5.1 死锁的产生 ◼ 5.2 死锁预防 ◼ 5.3 死锁避免 ◼ 5.4 死锁的检测和解除 ◼ 5.5 线程死锁
死锁知识铺垫-基本概念 死锁是多个进程因竞争共享资源而造成的 种僵局,若无外力作用,这些进程都将永远 不能再向前推进。 即:一组进程中,每个进程都无限等待被该 组进程中另一进程所占有的资源,因而永远 无法得到的资源,这种现象称为进程死锁 这一组进程就称为死锁进程。 202l//27 《计算机操作系统》-第5章 4/66
2021/1/27 《计算机操作系统》-第5章 4/66 死锁知识铺垫-基本概念 ◼死锁是多个进程因竞争共享资源而造成的一 种僵局,若无外力作用,这些进程都将永远 不能再向前推进。 ◼即:一组进程中,每个进程都无限等待被该 组进程中另一进程所占有的资源,因而永远 无法得到的资源,这种现象称为进程死锁, 这一组进程就称为死锁进程
死锁知识铺垫-举例1 可能会发生死锁 已经发生死锁 202l//27 《计算机操作系统》-第5章 5/66
2021/1/27 《计算机操作系统》-第5章 5/66 死锁知识铺垫-举例1 1 3 2 4 可能会发生死锁 1 3 2 4 已经发生死锁
死锁知识铺垫-举例2 ■可分配空间为200K。 P1: P2 Request 80K bytes; Request 70K bytes Request 60K bytes; Request 80K bytes 当两个进程都执行第二次空间请求时,发生 死锁。 202l//27 《计算机操作系统》-第5章 6/66
2021/1/27 《计算机操作系统》-第5章 6/66 死锁知识铺垫-举例2 ◼ 可分配空间为200K。 ◼ 当两个进程都执行第二次空间请求时,发生 死锁。 P1: …… Request 80K bytes; …… Request 60K bytes; P2: …… Request 70K bytes; …… Request 80K bytes;
死锁知识铺垫-有关结论 参与死锁的进程最少是两个 ■参与死锁的进程至少有两个已经占有资源 参与死锁的所有进程都在等待资源 参与死锁的进程是当前系统中所有进程的子 集 注:如果死锁发生,会浪费大量系统资源, 甚至导致系统崩溃。 202l//27 《计算机操作系统》-第5章 7/66
2021/1/27 《计算机操作系统》-第5章 7/66 死锁知识铺垫-有关结论 ◼参与死锁的进程最少是两个 ◼参与死锁的进程至少有两个已经占有资源 ◼参与死锁的所有进程都在等待资源 ◼参与死锁的进程是当前系统中所有进程的子 集 注:如果死锁发生,会浪费大量系统资源, 甚至导致系统崩溃
5.1.1死锁产生的原因 竞争系统资源 进程的推进顺序不当 202l//27 《计算机操作系统》-第5章
2021/1/27 《计算机操作系统》-第5章 8/66 5.1.1 死锁产生的原因 ◼ 竞争系统资源 ◼ 进程的推进顺序不当
死锁产生原因:①竞争系统资源 若系统中只有一台打 P1 印机R1和一台读卡 机R2,可供进程P1 R1 R2 和P2共享。若形成环 路,这样会产生死锁。 P2 202l//27 《计算机操作系统》-第5章 9/66
2021/1/27 《计算机操作系统》-第5章 9/66 死锁产生原因:①竞争系统资源 ◼若系统中只有一台打 印机R1和一台读卡 机R2,可供进程P1 和P2共享。若形成环 路,这样会产生死锁。 P1 R1 R2 P2 请求 分配 请求 分配
死锁产生原因:①竞争系统资源 TI T2 申请扫描仪 申请打印机 扫描仪 申请打印杌 申请扫描仪 (阻塞) 打印机 (阻塞) 202l//27 《计算机操作系统》-第5章 10/66
2021/1/27 《计算机操作系统》-第5章 10/66 死锁产生原因:①竞争系统资源 申请扫描仪 申请打印机 (阻 塞) T 1 扫描仪 打印机 T 2 申请打印机 申请扫描仪 (阻 塞)
死锁产生原因:②推进顺序不当 2 PrEl(r1) P2Rel(R2) P2Req r1 …号 D P2Req(R2)… 3 P1Req(r1) pireq( r2) pirel(ri) pirel( r2) 202l//27 《计算机操作系统》-第5章 11/66
2021/1/27 《计算机操作系统》-第5章 11/66 死锁产生原因:②推进顺序不当 2 1 3 D P2Req(R2) P2Req(R1) P1Req(R1) P1Req(R2) P2Rel(R2) P2Rel(R1) P1Rel(R1) P1Rel(R2) 4