死鎖問題
進(jìn)程管理是操作系統(tǒng)的核心,進(jìn)程管理中的死鎖是操作系統(tǒng)中一個比較特殊的問題。
所謂死鎖(Deadlock),是指多個進(jìn)程因競爭資源而造成的一種僵局(Deadly-Embrace),若無外力作用,這些進(jìn)程都將永遠(yuǎn)不能再向前推進(jìn)。
◆死鎖的原因主要有兩點(diǎn):
● 競爭資源
● 進(jìn)程推進(jìn)順序非法
◆產(chǎn)生死鎖的4個必要條件是:
● 互斥條件
● 保持和等待條件
● 不剝奪條件
● 環(huán)路等待條件
◆而針對產(chǎn)生死鎖的必要條件,有下列處理死鎖的方法:
● 預(yù)防死鎖:其思想是不讓任一產(chǎn)生死鎖的必要條件發(fā)生。
● 避免死鎖:其策略是不對用戶進(jìn)程的推進(jìn)順序加以限制,而在進(jìn)程申請資源時先判斷;
◆斷資源分配是否安全。
● 檢測死鎖:采用資源請求分配圖的化簡方法來判斷是否發(fā)生了不安全狀態(tài)。
● 解除死鎖:其主要是使用剝奪的方法來釋放資源、解除死鎖狀態(tài)。
比較上面4種處理方法,死鎖的檢測和解除措施,有可能使系統(tǒng)獲得較好的資源利用率和系統(tǒng)吞吐量,但在實(shí)現(xiàn)上難度也最大。
相關(guān)推薦:
2012年軟考系統(tǒng)分析師考試60天完美復(fù)習(xí)計劃
2012年軟件水平考試網(wǎng)絡(luò)工程師章節(jié)筆記講義匯總
2012年上半年軟件水平考試成績查詢匯總