死锁避免

前提:采用动态资源分配策略
措施:加设“银行家算法"以决定是否满足加设“银行家算法"以决定是否满足该请求。

银行家的思路

  1. 基本思路:

    • 银行家拥有一笔周转资金,客户申请贷款
    • 检查客户信用,了解客户投资前景,判断有无出现呆账坏账的危险
    • 确无危险,才贷出
  2. 银行家与操作系统l类比

    • 操作系统 ——————————银行家
    • 操作系统管理资源——————周转资金
    • 进程————————————要求贷款的客户

    银行家算法的主要目的:避免死锁的发生

  3. 操作系统的思路:

    • 前提:采用动态资源分配
    • 银行家算法:假设分配,检查系统是否安全;安全,则实施分配;不安全,则不分配进程阻塞等待
    • 主要思想:动态检测资源分配,以确保系统一-直处于安全状态

安全,不安全和死锁状态空间

操作系统---(26)死锁避免

  1. 安全状态

    • 安全状态:当前状态下至少能找到一个安全序列
    • 不安全状态:当前状态下没有安全序列

    安全序列——各进程能依次满足资源需求并运行完成的一个序列

操作系统---(26)死锁避免
操作系统---(26)死锁避免

银行家算法

银行家算法中描述系统当前状态的数据结构
操作系统---(26)死锁避免
操作系统---(26)死锁避免
操作系统---(26)死锁避免
安全算法Safe()描述为如下函数:
操作系统---(26)死锁避免

举例

操作系统---(26)死锁避免
操作系统---(26)死锁避免
操作系统---(26)死锁避免
操作系统---(26)死锁避免
操作系统---(26)死锁避免
操作系统---(26)死锁避免
操作系统---(26)死锁避免
操作系统---(26)死锁避免
操作系统---(26)死锁避免
操作系统---(26)死锁避免
操作系统---(26)死锁避免

相关文章:

  • 2021-10-05
  • 2021-10-08
  • 2021-05-02
  • 2021-09-11
  • 2021-08-26
  • 2021-07-19
  • 2021-10-24
猜你喜欢
  • 2022-12-23
  • 2021-12-01
  • 2021-07-18
  • 2021-11-03
  • 2021-08-29
  • 2021-04-28
  • 2021-08-27
相关资源
相似解决方案