死鎖問題
進(jìn)程管理是操作系統(tǒng)的核心,進(jìn)程管理中的死鎖是操作系統(tǒng)中一個(gè)比較特殊的問題。
所謂死鎖(Deadlock),是指多個(gè)進(jìn)程因競(jìng)爭(zhēng)資源而造成的一種僵局(Deadly-Embrace),若無外力作用,這些進(jìn)程都將永遠(yuǎn)不能再向前推進(jìn)。
◆死鎖的原因主要有兩點(diǎn):
● 競(jìng)爭(zhēng)資源
● 進(jìn)程推進(jìn)順序非法
◆產(chǎn)生死鎖的4個(gè)必要條件是:
● 互斥條件
● 保持和等待條件
● 不剝奪條件
● 環(huán)路等待條件
◆而針對(duì)產(chǎn)生死鎖的必要條件,有下列處理死鎖的方法:
● 預(yù)防死鎖:其思想是不讓任一產(chǎn)生死鎖的必要條件發(fā)生。
● 避免死鎖:其策略是不對(duì)用戶進(jìn)程的推進(jìn)順序加以限制,而在進(jìn)程申請(qǐng)資源時(shí)先判斷;
◆斷資源分配是否安全。
● 檢測(cè)死鎖:采用資源請(qǐng)求分配圖的化簡(jiǎn)方法來判斷是否發(fā)生了不安全狀態(tài)。
● 解除死鎖:其主要是使用剝奪的方法來釋放資源、解除死鎖狀態(tài)。
比較上面4種處理方法,死鎖的檢測(cè)和解除措施,有可能使系統(tǒng)獲得較好的資源利用率和系統(tǒng)吞吐量,但在實(shí)現(xiàn)上難度也最大。
相關(guān)推薦:
2012年軟考系統(tǒng)分析師考試60天完美復(fù)習(xí)計(jì)劃
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |