日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

计算机操作系统 死锁问题

發布時間:2023/12/13 windows 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机操作系统 死锁问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概念

  • 條件是基礎,在一定的原因下,產生結果

死鎖三胞胎

  • 死鎖 僵持,消耗時間,雙方都占用了部分資源,不釋放
  • 活鎖 雙方互相謙讓,都不占用資源
  • 饑餓 謙讓的一方一直等待,無法占有資源,導致饑餓問題

死鎖的原因以及必要的條件

應用程序 信號量使用不當?

  • 信號量的初始值設置錯誤,設為0,兩個進程都卡死;
  • 解決辦法 :代碼開發人員 和 代碼測試人員
semaphore s1 = 0; semaphore s2 = 0; A(){while(1){p(s1);吃飯;v(s2);} }B(){while (1){p(s2);喝茶;v(s2);}}

OS內核程序? 不可剝奪的軟硬件資源

  • 多進程對不可剝奪資源的競爭
  • 進程申請資源的順序不合理

死鎖的必要條件

死鎖產生了,一定會產生如下四個條件;但是具有這四個條件不一定會造成死鎖

  • 互斥條件? ? ? ? ? 臨界資源
  • 不可剝奪條件? 進程之間不可以互相剝奪彼此的資源
  • 請求保持條件? 占有資源不主動釋放
  • 循環等待條件??

預防死鎖

破壞死鎖的必要條件

  • 互斥條件? ? ? ? ? 臨界資源? ?幾乎行不通,比如更改臨界資源
  • 不可剝奪條件? 進程之間不可以互相剝奪彼此的資源? 需要付出代價,也有,比如cpu的切換;但是如果是打印機,會造成彼此文件交叉融合
  • 請求保持條件? 占有資源不主動釋放? ?一次性申請完臨界資源?
  • 循環等待條件??遞增編號,按照順序申請資源。比如一個資源切成兩份,第一份資源叫1,第二份資源叫2,A申請資源1,B在申請的時候看到1號資源已經被占用,就需要等待,A繼續申請2號資源,當A使用完資源,釋放之后。B開始申請,按照資源的序號進行資源的申請

避免死鎖

  • 銀行家算法? 計算安全序列
  • 規劃合理的資源申請順序,提高資金的流轉速度
  • 安全序列 找到 無死鎖 可以避免;找不到 必死鎖 無法避免
  • 因此將1000萬借給萬達,收回3000萬借給萬科或者恒大都可以?
  • 訪問順序 萬達 萬科 恒大;萬達 恒大 萬科

例1

例2?

死鎖的檢測與解除

死鎖定理和資源分配圖

  • 化簡 如果可以化簡到最簡則無死鎖
  • 不能化簡到最簡模式則檢測到死鎖,進行下一步解除死鎖,1,資源剝奪法;2,報銷進程法;3,進程回退法

資源分配圖

  • 圓圈代表進程
  • 長方形代表一類資源的容器
  • 長方形中的圓圈,代表該類資源,數量代表資源的數目
  • 邊 :從長方形指向圓圈,代表已分配邊;圓圈指向長方形,代表申請邊,請求邊

  • 尋找圓圈進程,依次嘗試,判斷p1的申請邊(從圓圈指出的邊)是否都可以得到滿足,滿足則刪除,不滿足則尋找下一個圓圈進程

死鎖的解除

  • 資源剝奪法?
  • 撤銷進程法 進程停止運行
  • 進程回退法 進行由運行80%出現死鎖,進程回退到70%等待,繼續執行

總結

以上是生活随笔為你收集整理的计算机操作系统 死锁问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。