死鎖問題
進(jìn)程管理是操作系統(tǒng)的核心,進(jìn)程管理中的死鎖是操作系統(tǒng)中一個比較特殊的問題。
所謂死鎖(Deadlock),是指多個進(jìn)程因競爭資源而造成的一種僵局(Deadly-Embrace),若無外力作用,這些進(jìn)程都將永遠(yuǎn)不能再向前推進(jì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)吞吐量,但在實現(xiàn)上難度也最大。
相關(guān)推薦:
推薦:2010年計算機軟件水平考試必備完美攻略 2010年11月計算機軟件水平考試備考寶典 2010年軟件水平考試軟件設(shè)計師專題講義匯總
計算機軟考:軟件設(shè)計師練習(xí)試題及答案解析匯總