zoukankan      html  css  js  c++  java
  • 操作系统之死锁

    前面所介绍的进程管理 内存管理 文件管理 IO管理都是操作系统的必要组成条件,而死锁确实操作系统的病症。死锁出现后 会导致程序无法运行,可以比喻为系统的病症导致程序的罢工。

    死锁病症出现的条件:
      互斥,即每个资源只能供一个线程使用
      占有且等待,即已占有资源的线程不会释放资源
      不可抢占,即不可抢占已被其他线程占有资源

      循环等待,即存在一个封闭的资源环路,互不释放、互相追求

    死锁的解决:
      引入第三方来整体上管控资源的分配
      给资源分级

    原理:
      死锁的三种解决方式:预防、避免、检测并修复
        预防:
          即打破死锁形成的四个调价,只要四个条件不满足,就无法形成死锁。
        避免:
          操作系统知道整个资源的占有情况,当有新的资源请求发生的时候,操作系统会判断该请求是否会产生死锁,从而规避。
        检测:
          允许进程任意请求资源,操作系统会周期性检测 是否存在死锁病症,一旦存在 就强力消除死锁。必要时 会杀死进程。

    https://www.jianshu.com/p/aca41133ba15

  • 相关阅读:
    第2阶段冲刺2
    第2阶段冲刺1
    在Ubuntu下安装VWMare tools
    mysql命令行修改密码
    Ubuntu设置环境变量
    java输出程序运行时间
    Hadoop之环境搭建
    MapReduce实现WordCount
    大数据技术之kettle(2)——练习三个基本操作
    大数据技术之kettle(1)——安装
  • 原文地址:https://www.cnblogs.com/mrzhu/p/13334944.html
Copyright © 2011-2022 走看看