码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 王道考研——操作系统(第二章 进程管理)(死锁)


    一、死锁的概念

    什么是死锁

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

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

    在这里插入图片描述

    死锁产生的必要条件

    在这里插入图片描述

    什么时候会发生死锁

    在这里插入图片描述

    死锁的处理策略

    在这里插入图片描述

    知识回顾与重要考点

    在这里插入图片描述

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

    知识总览

    在这里插入图片描述

    破坏互斥条件

    在这里插入图片描述

    破坏不剥夺条件

    在这里插入图片描述

    破坏请求和保持条件

    在这里插入图片描述

    破坏循环等待条件

    在这里插入图片描述

    知识回顾与重要考点

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

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

    知识总览

    在这里插入图片描述

    什么是安全序列

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

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

    在这里插入图片描述

    在这里插入图片描述

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

    银行家算法

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

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

    知识回顾与重要考点

    在这里插入图片描述

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

    知识总览

    在这里插入图片描述

    死锁的检测

    在这里插入图片描述
    在这里插入图片描述
    再来看一个不能消除所有边(死锁)的:
    在这里插入图片描述
    最终还连着边的那些进程就是处于死锁状态的进程:此图中,P3进程可以把所有与它相连的边都干掉,所以P3进程不是死锁状态,只有P1和P2是死锁状态的进程

    在这里插入图片描述

    不阻塞:这个进程申请的资源数量足够满足其需求,比如P1进程,P2进程则相反,所以P2进程是一个阻塞的进程

    不是孤点:与这个进程至少有一个边相连,所以P1和P2都不是孤点

    死锁的解除

    在这里插入图片描述

    知识回顾与重要考点

    在这里插入图片描述

  • 相关阅读:
    112. 路径总和
    软件工程与计算总结(九)软件体系结构基础
    沈阳农业大学计算机考研资料汇总
    嵌入式分享合集91
    Centos安装openjdk11并配置JAVA_HOME
    Java中替换List中值的方法
    Python 基于docker部署的Mysql备份查询脚本
    redis笔记01-5种数据类型
    【论文阅读】 Cola-Dif; An explainable task-specific synthesis network
    【# 软件stm32cubeIDE下使用STM32F103的ADC+DMA测量-基础样例+进阶+实例应用>>热敏电阻温度测量】
  • 原文地址:https://blog.csdn.net/m0_51448653/article/details/128067232
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号