鴕鳥算法

鴕鳥算法

“鴕鳥算法“,其實不算是一個算法,或者說是一種消極的策略,但卻是目前實際系統採用最多的一種策略。例如在計算機作業系統中,當死鎖真正發生且影響系統正常運行時,手動干預—重新啟動。

基本信息

概念 

傳說中鴕鳥看到危險就把頭埋在地底下。當你對某一件事情沒有一個很好的解決方法時,那就忽略它,就像鴕鳥面對危險時會把它深埋在沙礫中,裝作看不到。這樣的算法稱為“鴕鳥算法“。這實在不算是一個算法,但卻是目前實際系統採用最多的一種策略。例如在計算機作業系統中,當死鎖真正發生且影響系統正常運行時,手動干預—重新啟動。

套用

鴕鳥算法鴕鳥算法

鴕鳥算法可以稱之為不是辦法的辦法。在計算機科學中,鴕鳥算法是解決潛在問題的一種方法。假設的前提是,這樣的問題出現的機率很低。比如,在作業系統中,為應對死鎖問題,可以採用這樣的一種辦法。當系統發生死鎖時不會對用戶造成多大影響,或系統很少發生死鎖的場合採用允許死鎖發生的鴕鳥算法,這樣一來可能開銷比不允許發生死鎖及檢測和解除死鎖的小。如果死鎖很長時間才發生一次,而系統每周都會因硬體故障、編譯器錯誤或作業系統錯誤而崩潰一次,那么大多數工程師不會以性能損失或者易用性損失的代價來設計較為複雜的死鎖解決策略,來消除死鎖。大多數作業系統,包括UNIXLINUXwindows,處理死鎖問題的辦法僅僅是忽略它。其假設前提是大多數用戶寧可在極偶然的情況下發生死鎖也不願接受因為死鎖解決算法帶來的性能上的損失。因為解決死鎖的問題,通常代價很大。鴕鳥算法的實質:出現死鎖的機率很小,並且出現之後處理死鎖會花費很大的代價,還不如不做處理,OS中這種置之不理的策略稱之為鴕鳥算法。所以鴕鳥算法,是平衡性能和複雜性而選擇的一種方法。

相關詞條

相關搜尋

熱門詞條

聯絡我們