王道考研——操作系统(第二章 进程管理)(死锁)
创始人
2024-03-04 23:23:13
0

一、死锁的概念

什么是死锁

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

死锁产生的必要条件

在这里插入图片描述

什么时候会发生死锁

在这里插入图片描述

死锁的处理策略

在这里插入图片描述

知识回顾与重要考点

在这里插入图片描述

二、死锁的处理策略——预防死锁

知识总览

在这里插入图片描述

破坏互斥条件

在这里插入图片描述

破坏不剥夺条件

在这里插入图片描述

破坏请求和保持条件

在这里插入图片描述

破坏循环等待条件

在这里插入图片描述

知识回顾与重要考点

在这里插入图片描述
与前面哲学家进餐问题中三种解决死锁的方法对应起来

三、死锁的处理策略——避免死锁

知识总览

在这里插入图片描述

什么是安全序列

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

如果系统处于安全状态,就一定不会发生死锁。如果系统进入不安全状态,就可能发生死锁(处于不安全状态未必就是发生了死锁,但发生死锁时一定是在不安全状态)
因此可以在资源分配之前预先判断这次分配是否会导致系统进入不安全状态,以此决定是否答应资源分配请求。这也是“银行家算法”的核心思想。

银行家算法

在这里插入图片描述
在这里插入图片描述
实际做题(手算)时可用更快速的方法找到一个安全序列:
在这里插入图片描述

再看一个找不到安全序列的例子:
在这里插入图片描述
接下来看用代码如何实现银行家算法:
在这里插入图片描述

知识回顾与重要考点

在这里插入图片描述

四、死锁的处理策略——检测和解除

知识总览

在这里插入图片描述

死锁的检测

在这里插入图片描述
在这里插入图片描述
再来看一个不能消除所有边(死锁)的:
在这里插入图片描述

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...