zoukankan      html  css  js  c++  java
  • 操作系统——进程死锁

    进程管理师操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一个不可能发生的事情,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁。
    死锁发生的必要条件:
    互斥条件:即一个资源每次只能被一个进程使用,在操作系统中这是真实存在的情况。
    保持和等待条件:有一个进程已获得了一些资源,但因请求其他资源被阻塞时,对已获得的资源保持不放。
    不剥夺条件:有些系统资源是不可剥夺的,当某个进程已获得这种资源后,系统不能强行收回,只能由进程使用完时自己释放。
    环路等待条件:若干个进程形成环形链,每个都占用对方要申请的下一个资源。
    解决死锁的策略:
    死锁预防:
    例如:要求用户申请资源时一起申请所需的全部资源,这就破坏了保持和等待条件;将资源分层,得到上一层资源后,才能申请下一层资源,它破坏了环路等待条件。预防通常会降低系统的效率。
    死锁避免:避免是指进程在每次申请资源时判断这些操作是否安全,典型算法是“银行家算法”。但这种算法会增加系统的开销。
    死锁检测:前两者是事前措施,而死锁的检测则是判断系统是否处于死锁状态,如果是,则执行死锁解除策略。
    死锁解除:这是与死锁检测结合使用的,它使用的方式就是剥夺。即将资源强行分配给别的进程。
     
     
     
     
  • 相关阅读:
    IO
    mouseover,mouseout和mouseenter,mouseleave
    【译】addEventListener 第二个参数
    Git 常用命令
    我对Backbone中url属性的理解
    小失误引起大失败
    收集各大网站的登录页面
    随笔2
    随笔1
    创建数据库
  • 原文地址:https://www.cnblogs.com/CharmingDang/p/9663939.html
Copyright © 2011-2022 走看看