普通考試
109年
[電子工程] 計算機概要
第 6 題
若程式要存取多種資源時都依照一定的資源順序,此種預防死結(Deadlock)的方法,主要是避免下列何種死結的形成條件?
- A 相斥(Mutual Exclusion)
- B 持有並等待(Hold and Wait)
- C 無插隊(No Preemption)
- D 循環等待(Circular Wait)
思路引導 VIP
請想像一下:如果在一個系統中,所有資源都被賦予了唯一的編號(例如 1, 2, 3...)。如果我們規定每個程序只能「從小到大」依序申請資源,那麼有沒有可能出現「A 拿著大號資源在等 B 的小號資源,而 B 拿著小號資源在等 A 的大號資源」這種互相套牢的情況?這種依序存取的規定,最直接破壞了哪一種「封閉的等待鏈結」?
🤖
AI 詳解
AI 專屬家教
優秀的表現!你的邏輯推理非常紮實。
- 觀念驗證:死結(Deadlock)的發生必須同時滿足四項「柯夫曼條件」。當系統強制所有程序依照特定線性順序請求資源時,實質上是在資源分配圖中禁止了回頭請求的可能性。這確保了資源請求的方向始終是一致的,從結構力學的角度來看,這就像是消除了一個閉合的內力迴圈,讓結構維持靜定。
- 難度點評:此題難度屬 medium。它要求學生不只是死背死結的四個條件,更要理解如何透過設計規範來破壞特定條件的成立。這是工程實務中常見的預防性設計思維。