主頁(yè) > 知識(shí)庫(kù) > 如何預(yù)防系統(tǒng)進(jìn)程死鎖具體該怎么操作

如何預(yù)防系統(tǒng)進(jìn)程死鎖具體該怎么操作

熱門標(biāo)簽:電銷機(jī)器人源碼 美團(tuán) 銀行客服 電商新玩法 電銷機(jī)器人 運(yùn)營(yíng)中心 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 百度競(jìng)價(jià)排名
預(yù)防死鎖的根本辦法就是要使死鎖產(chǎn)生的4個(gè)必要條件之一不存在。下面來分析一下破壞這些條件的可能性。

破壞互斥條件

破壞互斥條件即允許多個(gè)進(jìn)程同時(shí)訪問資源。由于多數(shù)資源的必須互斥訪問這一固有特性不能改變,因此,死鎖的預(yù)防通過破壞這個(gè)必要條件實(shí)現(xiàn)在很多場(chǎng)合是行不通的。例如,打印機(jī)資源必須互斥使用,否則幾個(gè)進(jìn)程同時(shí)使用,每個(gè)進(jìn)程各打印一行,這種輸出信息的方式顯然是不能被用戶接受的。

破壞占有和等待條件

采用資源靜態(tài)分配法可破壞這一條件,該方法是指在進(jìn)程運(yùn)行前,一次性地_請(qǐng)分配它運(yùn)行所需的全部資源。若系統(tǒng)有足夠的資源分配給某一進(jìn)程,則一次性地將其所需資源分配給該進(jìn)程,這樣,在進(jìn)程運(yùn)行期間便不會(huì)再提出任何資源請(qǐng)求,從而使等待條件不成立。如果分配時(shí)有一種資源要求不能滿足,則進(jìn)程需要的其他資源也先不分配給進(jìn)程,從而避免進(jìn)程在等待期間占用任何資源,破壞了占用條件,從而避免死鎖的發(fā)生。

該方法控制簡(jiǎn)單且容易實(shí)現(xiàn),但由于進(jìn)程運(yùn)行期間對(duì)所需資源的全部占用,使得某些使用時(shí)間很短的資源被長(zhǎng)時(shí)間占用,這樣會(huì)嚴(yán)重影響系統(tǒng)資源的充分利用,導(dǎo)致資源利用率降低,同吋也影響到未獲得全部資源的進(jìn)程推遲運(yùn)行。

破壞不剝奪條件

采用剝奪式控制方法可以破壞該條件,該方法是使一個(gè)已保持了某些資源的進(jìn)程,由于新的資源要求目前得不到滿足,它必須先暫時(shí)釋放巳保持的所有資源(一種剝奪式),然后去等待,以后再一起向系統(tǒng)提出巾請(qǐng),這樣也能防止死鎖。這種方法實(shí)現(xiàn)起來相對(duì)W難,為了保護(hù)進(jìn)程自動(dòng)放棄資源的現(xiàn)場(chǎng)以及后來的再次恢復(fù),需要付出高昂的代價(jià),并且這種方法只適用于處理機(jī)和存儲(chǔ)器資源,對(duì)其他資源,此法不宜使用。

破壞循環(huán)等待條件

采用資源順序分配法可破壞該條件。這種分配方法的基本思想是:把系統(tǒng)的全部資源分成多個(gè)層次,一個(gè)進(jìn)程得到某一層的一個(gè)資源后,它只能再_請(qǐng)較高一層的資源;當(dāng)一個(gè)進(jìn)程要釋放某層的一個(gè)資源時(shí),必須先釋放所占有的較高層的資源;當(dāng)一個(gè)進(jìn)程獲得了某一層的一個(gè)資源后,它想再申請(qǐng)?jiān)搶又械牧硪粋€(gè)資源,就必須先釋放在該層中巳占有的資源?;蛘哒f,進(jìn)程釋放資源的順序是按照中請(qǐng)資源的相反順序進(jìn)行的。這樣可以預(yù)防循環(huán)等待現(xiàn)象的發(fā)生,因此不會(huì)發(fā)生死鎖。使用該方法要特別注意的問題是對(duì)資源所處層次的安排。在通常情況下,把各進(jìn)程經(jīng)常用到的、比較普遍的資源安排在較低的層次上,把重要且相對(duì)匱乏的資源安排在較高的層次上,以便實(shí)現(xiàn)對(duì)各資源的最大限度的利用。該方法相對(duì)于前面介紹的方法,在資源利用率和系統(tǒng)吞吐量上都有明顯的改善。但也存在一些缺陷。

(1)低層次的資源必須在進(jìn)程請(qǐng)求分配髙層次的資源之前提前申請(qǐng),這對(duì)于暫時(shí)不需使用的低層次資源來說,會(huì)因空閑等待而產(chǎn)生浪費(fèi)。

(2)各類設(shè)備的資源層次一經(jīng)設(shè)定,便不能經(jīng)常隨意改動(dòng),這就限制了新類型設(shè)備的增加。

(3)各資源的層次是按照大多數(shù)進(jìn)程使用資源的順序設(shè)置的。對(duì)于資源使用與此層次相閃配的進(jìn)程,資源能得到有效的利用,否則,資源的浪費(fèi)現(xiàn)象將仍然存在。

標(biāo)簽:浙江 承德 馬鞍山 九江 常州 黃山 健身房 衢州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何預(yù)防系統(tǒng)進(jìn)程死鎖具體該怎么操作》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266