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

歡迎訪問 生活随笔!

生活随笔

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

windows

操作系统死锁详解

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

一、死鎖的定義

死鎖是兩個或兩個以上的進程中的每一個都在等待其中另一個進程釋放資源而被封鎖,它們都無法向前推進,這種現象稱為死鎖。


二、產生死鎖的主要原因

(1) 因為系統資源不足。?

(2) 進程運行推進的順序不合適。?

(3) 資源分配不當等。

如果系統資源充足,進程的資源請求都能夠得到滿足,死鎖出現的可能性就很低,否則就會因爭奪有限的資源而陷入死鎖。其次,進程運行推進順序與速度不同,也可能產生死鎖。


三、產生死鎖的必要條件

(1) 互斥條件:一個資源每次只能被一個進程使用。?

(2) 占有等待條件:一個進程因請求資源而阻塞時,對已獲得的資源保持不放。?

(3) 不剝奪條件:進程已獲得的資源,在末使用完之前,不能強行剝奪。?

(4) 循環等待條件:若干進程之間形成一種頭尾相接的循環等待資源關系。?

這四個條件是死鎖的必要條件,只要系統發生死鎖,這些條件必然成立,而只要上述條件之一不滿足,就不會發生死鎖。


四、解決死鎖的對策

(1)預防死鎖

①破壞互斥條件

允許一個資源可以由多個進程“同時”使用。

②破壞占有等待條件

常用的方法是預先靜態分配法,即在作業調度選擇作業時,僅當作業所需要的全部資源都能滿足時,才調度它進入內存運行。

③破壞非剝奪條件

常采用剝奪調度法,根據申請資源的優先級別高低來剝奪占用的資源。

④破壞循環等待條件

系統給每類資源賦予一個編號,每一個進程按編號遞增的順序請求資源,釋放則相反

(2)避免死鎖

預防死鎖的幾種策略,會嚴重地損害系統性能。因此在避免死鎖時,要施加較弱的限制,從而獲得較滿意的系統性能。

由于在避免死鎖的策略中,允許進程動態地申請資源。因而,系統在進行資源分配之前預先計算資源分配的安全性。若此次分配不會導致系統進入不安全狀態,則將資源分配給進程;否則,進程等待。

其中最具有代表性的避免死鎖算法是銀行家算法。?

(3)解決死鎖

常用的方法有兩種:撤銷法和剝奪法。

撤銷法是按照一定的次序逐漸地撤銷已死鎖的進程,直到獲得為消除死鎖需要的足夠資源為止。

剝奪法是從一些進程那里剝奪足夠數量的資源,并分給死鎖的進程,以便足以解開死鎖。



總結

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

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