• 操作系统之死锁


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

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

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

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

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

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

  • 相关阅读:
    Ios8代码关闭输入预测问题
    iOS10 拍照崩溃问题
    iOS 圆的放大动画效果
    12-指针
    11-数组、字符串
    09-函数
    iOS 动画
    iOS 传值 委托(delegate)和block 对比
    IOS Table中Cell的重用reuse机制分析
    IOS 网络请求
  • 原文地址:https://www.cnblogs.com/mrzhu/p/13334944.html
Copyright © 2020-2023  润新知