zoukankan      html  css  js  c++  java
  • 死锁

    定义:是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象

    产生条件

    1)互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。
    2)请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求。
    3)不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。
    4)环路等待条件:指在发生死锁时,必然存在P1等P2,P2等P3....Pn等P1.
    死锁预防
    打破四个必要条件之一就能有效预防死锁的发生:
    打破互斥条件:改造独占性资源为虚拟资源,大部分资源已无法改造。
    打破不可抢占条件:当一进程占有一独占性资源后又申请一独占性资源而无法满足,则退出原占有的资源。
    打破占有且申请条件:采用资源预先分配策略,即进程运行前申请全部资源,满足则运行,不然就等待,这样就不会占有且申请。
    打破循环等待条件:实现资源有序分配策略,对所有设备实现分类编号,所有进程只能采用按序号递增的形式申请资源。 

    有序资源分配法

    这种算法资源按某种规则系统中的所有资源统一编号。系统要求申请进程:
    1、对它所必须使用的而且属于同一类的所有资源,必须一次申请完;
    2、在申请不同类资源时,必须按各类设备的编号依次申请。

    银行家算法

    系统中有限的资源要供多个进程使用,必须保证得到的资源的进程能在有限的时间内归还资源,以供其他进程使用资源。

    死锁检测和解除

    常用的实施方法是撤销或挂起一些进程,以便回收一些资源,再将这些资源分配给已处于阻塞状态的进程,使之转为就绪状态,以继续运行。

  • 相关阅读:
    “校园知网”5月11日冲刺计划书
    “校园知网”5月10日冲刺计划书
    “校园知网”5月9日冲刺计划书
    学习进度
    “校园知网”5月8日冲刺计划书
    “校园知网”5月7日冲刺计划书
    “校园知网”5月6日冲刺计划书
    “校园知网”5月5日冲刺计划书
    “校园知网”5月4日冲刺计划书
    04-课后作业2-动手动脑及String类整理
  • 原文地址:https://www.cnblogs.com/feichangnice/p/10651464.html
Copyright © 2011-2022 走看看