zoukankan      html  css  js  c++  java
  • 死锁避免:银行家算法

    面试常考的死锁避免的知识点:银行家算法。

    首先总结一下死锁四大条件:

      1.互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。

      2.请求与保持:当进程因请求资源而阻塞时,对已获得的资源保持不放。

      3.不可剥夺:进程已获得的资源在未使用完之前,不能剥夺,只能在使用完时由自己释放。

      4.环路等待:在发生死锁时,必然存在一个进程--资源的环形链。

    预防死锁的基本方法就是破坏四个条件:

      1.破坏请求与保持:

        1): 一次性分配所以资源.这样就不会再有请求了。

        2): 预先分配“所需”资源,运行过程中逐步释放掉使用完毕的资源,再去请求。

      2.破坏不可剥夺:

        1):  即当某进行获得部分资源,但请求其他资源失败,则释放已持有资源。

      3.资源有序的分配:

        1): 系统给每类资源赋予一个编号,每一个进程按编号递增的顺序请求资源,释放则相反(破坏环路等待条件)。

    (死锁避免)银行家算法:

      个人理解: 一种有效的资源分配策略。 要明确三点,1.进程所需的资源(need)2.系统分配给进程的资源(allocation)3.系统保留的可分资源(available)要使得分配安全,则每次分配,要使得need <= allocation + available.则进行分配,等进程执行完任务,立马归还资源(available = need + allocation),然后进行下一轮的分配,如此往复。

    视频讲解:https://www.bilibili.com/video/BV1Nx411X7hT?from=search&seid=8739665572939657919

  • 相关阅读:
    状态码
    vue+element下拉选项添加点击事件可跳转或触发事件
    position定位
    vue+element下拉菜单添加事件
    vue封装接口
    vue+element实现导入excel并拿到返回值
    10. EIGRP的stud
    9. EIGRP认证和默认路由
    8. EIGRP负载均衡
    7. EIGRP中应用偏移列表
  • 原文地址:https://www.cnblogs.com/BillowJ/p/13125466.html
Copyright © 2011-2022 走看看