Q110.
對無限期延遲 (Indefinite Postponement)與死結 (Deadlock)的敘述,那一項有誤?
電腦軟體設計共同科目 · 乙級 · Q110
難易度分析
3 / 5
本題要求辨析兩種不同的系統阻塞狀態。考生必須精確掌握兩者在資源等待性質上的關鍵差異,並能從相似的描述中辨識出邏輯矛盾的選項,屬於需要基礎理論理解的觀念對比題。
正確答案:④無限期延遲所等待的事件不會發生
④ 無限期延遲所等待的事件不會發生:此敘述錯誤。無限期延遲所等待的事件(如資源可用、CPU 時間片)是會發生的,只是機率低或等待時間極長;若事件真的永遠不發生,則已屬於死結而非無限期延遲。兩者的核心差異在於事件是否具備發生的可能性。
錯誤選項解析
- ① 處於無限期延遲的處理單元仍然有機會被執行,只是需要等候較長時間:無限期延遲(Starvation)的處理單元仍保有被排程器選中的可能性,僅因資源分配策略(如優先權排程)導致等待時間過長,但最終仍有機會獲得 CPU 時間片並執行。
- ② 處於死結的處理單元,是永遠無法再繼續執行:死結(Deadlock)發生時,多個處理單元因循環等待(Circular Wait)而互相卡住,在沒有外部介入(如程序終止或資源搶占)的情況下,確實永遠無法繼續執行。
- ③ 兩者相似之處為皆在等待某個事件的發生:無限期延遲與死結的共同點在於涉及的處理單元都處於等待狀態——前者等待資源釋放或排程機會,後者等待其他程序釋放被持有的資源,兩者皆在等待某個事件的發生。
Learning Tip
"死結必須同時滿足互斥、持有並等待、不可搶占、循環等待四個必要條件,破壞任一條件即可預防死結。無限期延遲則常因優先權排程中低優先權程序長期被高優先權程序插隊所致,解法包括老化(Aging)機制逐步提升等待過久程序的優先權。實務上需注意:死結是永久性阻塞,無限期延遲是暫時性延遲,兩者嚴重程度不同。"
學員答題分佈
①處於無限期延遲的處理單元仍然有機會被執行,只是需要等候較長時間0%
②處於死結的處理單元,是永遠無法再繼續執行0%
③兩者相似之處為皆在等待某個事件的發生0%
④無限期延遲所等待的事件不會發生0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!