美文网首页
第三章 调度算法和死锁

第三章 调度算法和死锁

作者: 傻傻傻瓜_d432 | 来源:发表于2018-12-06 08:36 被阅读0次

银行家算法

当一个进程申请使用资源的时候,银行家算法通过先试探分配给该进程资源,然后通过安全性算法判断分配后的系统是否处于安全状态,若不安全则试探分配作废,让该进程继续等待。

首先是银行家算法中的进程:

包含进程Pi的需求资源数量(也是最大需求资源数量,MAX)

已分配给该进程的资源A(Allocation)

还需要的资源数量N(Need=M-A)

Available为空闲资源数量,即资源池(注意:资源池的剩余资源数量+已分配给所有进程的资源数量=系统中的资源总量)

假设资源P1申请资源,银行家算法先试探的分配给它(当然先要看看当前资源池中的资源数量够不够),若申请的资源数量小于等于Available,然后接着判断分配给P1后剩余的资源,能不能使进程队列的某个进程执行完毕,若没有进程可执行完毕,则系统处于不安全状态(即此时没有一个进程能够完成并释放资源,随时间推移,系统终将处于死锁状态)。

若有进程可执行完毕,则假设回收已分配给它的资源(剩余资源数量增加),把这个进程标记为可完成,并继续判断队列中的其它进程,若所有进程都可执行完毕,则系统处于安全状态,并根据可完成进程的分配顺序生成安全序列(如{P0,P3,P2,P1}表示将申请后的剩余资源Work先分配给P0–>回收(Work+已分配给P0的A0=Work)–>分配给P3–>回收(Work+A3=Work)–>分配给P2–>······满足所有进程)。

如此就可避免系统存在潜在死锁的风险。

在银行家算法中,若出现下述资源分配情况:

1)该状态是否安全? (2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?

(1)利用安全性算法对上面的状态进行分析(见下表),找到了一个安全序列{P0,P3,P4,P1,P2},故系统是安全的。

(2)P2发出请求向量Request(1,2,2,2),系统按银行家算法进行检查:

①Request2(1,2,2,2)<=Need2(2,3,5,6)

②Request2(1,2,2,2)<=Available(1,6,2,2)

③系统先假定可为P2分配资源,并修改Available,Allocation2和Need2向量:

Available=(0,4,0,0)

Allocation2=(2,5,7,6)

Need2=(1,1,3,4)

此时再进行安全性检查,发现 Available=(0,4,0,0) 不能满足任何一个进程,所以判定系统进入不安全状态,即不能分配给P2相应的Request(1,2,2,2)。

相关文章

  • 第三章 处理机的调度与死锁

    第三章 处理机的调度与死锁 处理机调度的层次和调度算法的目标 调度的基本概念 在多道程序系统中,调度的实质是一种资...

  • 计算机操作系统——处理机调度与死锁

    处理机调度与死锁 3.1处理机调度的层次和调度算法的目标 3.11 处理机调度的层次 1.高级调度 高级调度又称长...

  • 第三章 调度算法和死锁

    银行家算法 当一个进程申请使用资源的时候,银行家算法通过先试探分配给该进程资源,然后通过安全性算法判断分配后的系统...

  • 操作系统笔记:第三章—处理机调度与死锁

    分为六大部分: 一.处理机调度相关基本概念 二.常用调度算法 三.实时调度 四.产生死锁的原因和必要条件 五.预防...

  • 银行家算法

    Dijkstra(1965)提出了一种能够避免死锁的调度算法,称为银行家算法(banker's algorithm...

  • 简述LVS调度方案及应用场景

    Lvs的调度算法可分为静态调度和动态调度。静态调度即根据算法本身的结果来进行调度,包括: 1、轮询调度算法(RR)...

  • 第三章处理机调度与死锁

    处理机调度与死锁

  • LVS调度方案及NGINX模块

    简述LVS调度方案及应用场景 调度算法可以分为静态调度和动态调度 1、静态调度即根据算法本身的结果来进行调度** ...

  • LVS调度方案及NGINX模块

    一、简述LVS调度方案及应用场景 调度算法可分为静态调度和动态调度 1、静态调度即根据算法本身的结果来进行调度. ...

  • 常见调度算法

    先来先服务(FCFS)调度算法短作业优先(SJF)调度算法优先级调度算法高响应比优先调度算法时间片轮转调度算法多级...

网友评论

      本文标题:第三章 调度算法和死锁

      本文链接:https://www.haomeiwen.com/subject/fyywcqtx.html