國家安全情報人員考試五等考試-資訊組資料處理大意110 年第 8 題單選題
下列何者不是會使得程序(Process)產生死結(Deadlock)的必要條件(Necessary Condition)?
A資源互斥(Mutual Exclusion)
B有先占權(Preemption)正確答案
C循環等待(Circular Waiting)
D握有資源才可執行(Resource Holding)
B正確答案
死結四大必要條件:互斥、持有並等待、不可搶占、循環等待。有『搶占權』反而能打破死結。
為什麼答案是 B
死結的必要條件是『不可搶占(No Preemption)』,即資源不能被強制收回。題目寫『有先占權』正好與必要條件相反,故選 B。
載入中…
完整詳解
Pro · 無限重點 死結四大必要條件:互斥、持有並等待、不可搶占、循環等待。有『搶占權』反而能打破死結。
記口訣「互持不循」:互斥、持有等待、不可搶占(No Preemption)、循環等待。選項 B 說『有先占權』正好相反。
逐選項分析
A✕
資源互斥(Mutual Exclusion)是死結必要條件之一,指資源一次只能被一個程序使用,無法共享。
B✓ 正確
死結的必要條件是『不可搶占(No Preemption)』,即資源不能被強制收回。題目寫『有先占權』正好與必要條件相反,故選 B。
C✕
循環等待(Circular Waiting)是死結必要條件:存在一組程序 P1→P2→...→Pn→P1 互相等待對方持有的資源。
D✕
持有並等待(Hold and Wait / Resource Holding)是死結必要條件:程序握有部分資源,同時等待其他資源。
死結四大必要條件 (Coffman Conditions)
| 條件 | 英文 | 意義 | 破解方法 |
|---|
| 互斥 | Mutual Exclusion | 資源一次僅一程序使用 | 資源設計成可共享 |
| 持有並等待 | Hold and Wait | 持有資源同時等待其他 | 一次申請全部資源 |
| 不可搶占 | No Preemption | 資源不能被強制收回 | 允許搶占 (本題關鍵) |
| 循環等待 | Circular Wait | 形成環狀等待鏈 | 資源依序編號申請 |
考選部最愛這樣考!死結真正的必要條件是『No Preemption(不可搶占)』,題目把『No』拿掉變成『Preemption(有先占權)』,考生若沒看清楚就會誤選。先占權存在時反而是破解死結的方法,不是造成死結的原因。