2.4.1 操作系统之死锁详解(预防、避免、检测、解除)+思维导图


0.思维导图

20200410230641280

1.什么是死锁?

image-20220622175743032

2.死锁、饥饿、死循环的区别

image-20220622210122559

image-20220622210131402

3.死锁产生的四个必要条件

image-20220622210144562

4.什么时候会发生死锁?

image-20220622210159856

5.死锁的处理策略

image-20220622210215195

(1)预防死锁
① 破坏互斥条件

image-20220622210236387

② 破坏不可剥夺条件

image-20220622210251845

③ 破坏请求和保持条件

image-20220622210305754

④ 破坏循环等待条件

image-20220622210320059

(2)避免死锁
① 什么是安全序列?

image-20220622210335666

image-20220622210343784

image-20220622210352624

image-20220622210402774

image-20220622210411080

② 安全序列、安全状态、不安全状态、死锁之间的联系

image-20220622210419490

image-20220622210428315

③ 避免系统进入不安全状态——银行家算法

image-20220622210454211

image-20220622210505108

image-20220622210515371

image-20220622210525599

image-20220622210533738

image-20220622210542193

image-20220622210557781

image-20220622210606499

  • 使用代码实现

image-20220622210621030

image-20220622210628110

image-20220622210635323

(3)死锁的检测和解除

image-20220622210649155

① 死锁的检测

image-20220622210702474

  • 举个例子,可以消除所有边,即无死锁发生

image-20220622210716894

image-20220622210725038

image-20220622210732689

  • 举个例子,不可消除所有边,即产生死锁

image-20220622210748014

image-20220622210755766

image-20220622210804324

image-20220622210813602

② 死锁的解除

image-20220622210828098


Author: Liang Junyi
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Liang Junyi !
  TOC