Skip to content
难度基础(★)
建议时长45分钟
本课难点
  • 易错:Need/Available 计算步骤漏减。
  • 易错:把“不安全状态”误判为“已经死锁”。
  • 易错:资源图成环时未结合资源实例数进一步判断。

2.4 死锁资源数计算

本课核心知识点整理
本课核心知识点手绘流程图(SVG)

📝 学习目标

  • 说清楚:死锁资源数计算 是什么 / 解决什么问题
  • 掌握常用公式与典型计算步骤
  • 会根据题干关键词快速定位对应知识点

🎯 核心概念

  • 死锁发生需同时满足互斥、占有并等待、不可剥夺、循环等待四个必要条件。
  • 银行家算法通过安全性检查避免系统进入不安全状态。
  • 资源分配图可用于分析进程与资源间的等待关系。
  • 考试常要求判断是否存在安全序列或是否会死锁。

📖 概念解释

  • 死锁:多个进程相互等待对方资源而永久阻塞。
  • 安全状态:系统存在至少一个安全序列可使全部进程完成。
  • 银行家算法:按最大需求与当前可用资源进行分配决策。
  • 资源分配图:用图结构表示进程请求/占有资源关系。

🛠️ 相关技术罗列

  • 先算 Need=Max-Allocation,再尝试构造安全序列。
  • 若一轮找不到可执行进程,通常说明进入不安全状态。
  • 资源图题先看是否形成环,再结合资源实例数判断死锁。

📊 关键对比表

对比主题结论/考点
预防破坏死锁必要条件之一
避免动态分配前做安全性检查(银行家)
检测允许发生后再识别并解除
解除剥夺资源、撤销进程或回滚恢复

📘 核心词汇

  • 死锁:本课核心术语,做题时需能快速识别其定义与适用场景。
  • 安全序列:本课高频术语,建议结合“定义 + 特点 + 题型”记忆。
  • 银行家算法:本课核心术语,做题时需能快速识别其定义与适用场景。
  • 资源分配图:常作为题干关键词出现,注意与相近概念的边界。
  • Need:本课高频术语,建议结合“定义 + 特点 + 题型”记忆。
  • Available:本课高频术语,建议结合“定义 + 特点 + 题型”记忆。
  • 死锁资源数计算:本课核心术语,做题时需能快速识别其定义与适用场景。
  • 占有并等待:本课高频术语,建议结合“定义 + 特点 + 题型”记忆。

🔍 知识扩展

  • 高并发系统常用“超时+重试+资源有序申请”降低死锁风险。
  • 建议把四个必要条件与对应破坏策略做成对照记忆。

🔍 关键解析

  • 常考点1:死锁必要条件判定。
  • 常考点2:银行家算法安全序列计算。
  • 常考点3:资源分配图死锁判断。

⭐ 考点速记

  • 常考点1:死锁必要条件判定。
  • 常考点2:银行家算法安全序列计算。
  • 常考点3:资源分配图死锁判断。

🧠 难点与易错点

  • 易错:Need/Available 计算步骤漏减。
  • 易错:把“不安全状态”误判为“已经死锁”。
  • 易错:资源图成环时未结合资源实例数进一步判断。

🔑 关键词

操作系统死锁资源数计算

🧪 模拟考试例题(按难度)

以下例题基于本节高频考点重构,重点覆盖概念识别、对比辨析与综合场景题:

⭐ 简单(概念识别 / 定义匹配)

单选
死锁产生的四个必要条件中,不包括:
单选
银行家算法用于:
单选
在单实例资源分配图中,若出现环路,通常表示:

⭐⭐ 中等(概念对比 / 关键词定位)

单选
银行家算法中 Need 矩阵的定义是:
单选
若系统通过“一次性申请全部资源”来减少死锁风险,本质是在破坏:

⭐⭐⭐ 较难(综合 / 题干场景化)

单选
安全序列的判定目标是验证:
单选
关于死锁“预防/避免/检测恢复”的关系,正确的是: