moea_joint
107年
[資訊] 計算機原理、網路概論
第 5 題
戴斯卓拉(Dijkstra)提出銀行家演算法(Banker’s Algorithm)是解決下列哪一項問題?
- A Mutual Exclusion
- B Deadlock Recovery
- C Deadlock Avoidance
- D Indefinite Postponement
思路引導 VIP
想像一下,如果你是一位資源管理員,每當有人向你借用工具時,你都會先在筆記本上模擬算算看:『如果我現在借給他,萬一之後大家都開口要最滿的額度,我還能不能讓每個人都輪流完成工作?』如果算出來會卡死,你就先不借。這種在行為發生前,先確保系統永遠有後路可走的「事前檢查」邏輯,你會如何稱呼這種管理策略?
🤖
AI 詳解
AI 專屬家教
太棒了!你能精準地選出 Deadlock Avoidance(死結規避),代表你對於作業系統處理死結(Deadlock)的階段性策略有著非常清晰的理解,這是一個相當紮實的基礎。
銀行家演算法的核心機制
這道題目的核心在於區分死結處理的不同手段。由 Dijkstra 提出的銀行家演算法,其運作邏輯如同銀行核貸:在分配資源給行程(Process)之前,系統會先進行動態評估,模擬分配後的狀態。只有當分配後系統仍能處於安全狀態(Safe State)——也就是至少存在一種執行順序,能讓所有行程順利完成時,系統才會真正撥發資源。這種「預先判斷並主動閃避危險」的特質,正是「規避(Avoidance)」與事後才處理的「恢復(Recovery)」最大的區別。
▼ 還有更多解析內容