《计算机操作系统》第六章 死锁和饿死

Cha6死锁和饿死
Cha6 死锁和饿死

要求掌握 发生死锁的条件 死锁预防的方法 死锁避免的方法 °死锁检测的方法
要求掌握 • 发生死锁的条件 • 死锁预防的方法 • 死锁避免的方法 • 死锁检测的方法

死锁的例子 2PQ都要A 释放A 释放B 测PQ都要B 获得A 3 4 获得B 56 获得A获得B释放A释放B
死锁的例子 获得A 获得B 释放A 释放B 获得B 获得A 释放B 释放A 1 2 3 4 5 6 PQ都要A PQ都要B

进程的一般形式 可能死锁 不会死锁 Process P Process Q Process p Get A Get B Get A Get B Get A release a release A release B Get B release B release release B
进程的一般形式 Process P … Get A … Get B … release A … release B Process Q … Get B … Get A … release B … release A Process P … Get A … release A … Get B … release B 可能死锁 不会死锁

无死锁的例子 2PQ都要A 释放A ■ 3 释放B PQ都要B 获得A 获得B 5 6 获得A释放A获得B释放B
无死锁的例子 获得A 释放A 获得B 释放B 获得B 获得A 释放B 释放A 1 2 3 4 5 6 PQ都要A PQ都要B

可重用资源的分配 进程P 进程Q pp 0 request dq0 request T 1 lock D q1 lock T p2 request T q2 request D p3 lock T q3 lock D p4执行 q4执行 p5 unlock D g5 unlock p6 unlock T g6 unlock D p0p1q0q1p2q2→死锁
可重用资源的分配 p0 p1 q0 q1 p2 q2→死锁 p0 request D p1 lock D p2 request T p3 lock T p4 执行 p5 unlock D p6 unlock T q0 request T q1 lock T q2 request D q3 lock D q4 执行 q5 unlock T q6 unlock D 进程P 进程Q

可重用资源的分配-200k内存 进程P1 进程P2 request 80 kb request 70 kb request 60 bequest 80 kb
可重用资源的分配-200k内存 … request 80 kb … request 60 kb 进程P1 进程P2 … request 70 kb … request 80 kb

可消费资源的分配 进程P1 进程P2 receive(p2 receive(p1); send(p2, m1);send(p1, m2)
可消费资源的分配 … receive (p2); … send (p2,m1); 进程P1 进程P2 … receive (p1); … send (p1,m2);

检测、预防、避免方法小结 原则不同方案优点 缺点 预防 次请求无需剥夺 低效 所有资源适合连续使用要知道将来资源请求 延迟进程初始化 (保守)剥夺 状态容易保存和经常剥夺 恢复 循环重启 资源排序系统设计时解决剥夺无效 编译时检测 禁止增加资源请求
检测、预防、避免方法小结 原则 不同方案 优点 缺点 预防 (保守) 一次请求 所有资源 无需剥夺 适合连续使用 低效 要知道将来资源请求 延迟进程初始化 剥夺 状态容易保存和 恢复 经常剥夺 循环重启 资源排序 系统设计时解决 编译时检测 剥夺无效 禁止增加资源请求

检测、预防、避免方法小结 原则不同方案优点 缺点 避免发现安全无需剥夺 要知道将来资源请求 路径 不能长时间阻塞 检测周期性测不会延迟初始化丟失剥夺 易于在线处理
检测、预防、避免方法小结 原则 不同方案 优点 缺点 避免 发现安全 路径 无需剥夺 要知道将来资源请求 不能长时间阻塞 检测 周期性测 试 不会延迟初始化 易于在线处理 丢失剥夺
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《计算机操作系统》第五章 并发性:互斥和同步.ppt
- 《计算机操作系统》第三章 进程描述和控制.ppt
- 《计算机操作系统》第二章 操作系统概述.ppt
- 《计算机操作系统》第十一章 文件管理.ppt
- 《计算机操作系统》第十章 设备管理.ppt
- 《计算机操作系统》第一章 计算机系统概述.ppt
- 《计算机操作系统》管程monitor的特点.ppt
- 《C++程序设计开发》第7章 Visual C++程序设计.ppt
- 《C++程序设计开发》第6章 IO流类库.ppt
- 《C++程序设计开发》第5章 程序的类层次结构.ppt
- 《C++程序设计开发》第4章 重载与模板.ppt
- 《C++程序设计开发》第3章 数据结构设计.ppt
- 《C++程序设计开发》第2章 算法设计与程序结构.ppt
- 《C++程序设计开发》第1章 C++程序设计入门.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Reflection Mechanism Java 反射机制.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)CollectionFramework.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Cloning Objects.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 13 I/O Package.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 12 Threads.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 11 Nested Classes and Interfaces.ppt
- 《计算机操作系统》第七章 存储器管理.ppt
- 《计算机操作系统》第八章 虚拟存储器.ppt
- 《计算机操作系统》第九章 单处理器调度(9-1)调度的类型.ppt
- 《计算机操作系统》第九章 单处理器调度(9-2)调度的类型.ppt
- 《微机原理与接口技术》课程教学资源(PPT电子教案)第1章 微型计算机概述(李芷).pps
- 《微机原理与接口技术》课程教学资源(PPT电子教案)第10章 微机接口开发技术(李芷).pps
- 《微机原理与接口技术》课程教学资源(PPT电子教案)第2章 80x86微处理器及其体系结构(李芷).pps
- 《微机原理与接口技术》课程教学资源(PPT电子教案)第3章 微机存储器(李芷).pps
- 《微机原理与接口技术》课程教学资源(PPT电子教案)第4章 微机接口概述(李芷).pps
- 《微机原理与接口技术》课程教学资源(PPT电子教案)第5章 控制器接口(李芷).pps
- 《微机原理与接口技术》课程教学资源(PPT电子教案)第6章 并行/串行通信接口(李芷).pps
- 《微机原理与接口技术》课程教学资源(PPT电子教案)第7章 数/模、模/数转换接口(李芷).pps
- 《微机原理与接口技术》课程教学资源(PPT电子教案)第8章 总线接口(李芷).pps
- 《微机原理与接口技术》课程教学资源(PPT电子教案)第9章 人-机交互接口(李芷).pps
- 《商务网站设计实用教程》教学大纲.doc
- 《商务网站设计实用教程》课程教学资源(PPT课件)第一章 商务网站概述.ppt
- 《商务网站设计实用教程》课程教学资源(PPT课件)第二章 商务网站建设规划.ppt
- 《商务网站设计实用教程》课程教学资源(PPT课件)第三章 商务网站运行环境与设计平台.ppt
- 《商务网站设计实用教程》课程教学资源(PPT课件)第四章 网站的建立和设计.ppt
- 《商务网站设计实用教程》课程教学资源(PPT课件)第五章 网页设计基础.ppt