38. 下列何者在作業系統中,不是造成死結(Deadlock)的必要條件?
(A) 資源互斥(Mutual Exclusion)
(B) 請求與保持(Hold and Wait)
(C) 非搶佔(No Preemption)
(D) 優先權排程(Priority Scheduling)

答案:登入後查看
統計: A(2), B(3), C(5), D(12), E(0) #3447905

詳解 (共 1 筆)

#6443964

在作業系統中,死結(Deadlock)的發生需要同時滿足四個必要條件,也稱為柯夫曼條件(Coffman Conditions)。這四個條件是:

  1. 資源互斥(Mutual Exclusion):至少有一個資源必須處於非共享模式,即一次只能被一個行程使用。如果資源可以共享(例如唯讀檔案),那麼就不會發生資源互斥,進而不會引起死結。
  2. 請求與保持(Hold and Wait):一個行程至少持有一個資源,同時又在等待獲取其他行程所佔用的資源。
  3. 非搶佔(No Preemption):資源不能被搶佔,即資源只能在持有它的行程完成任務後,由該行程自願釋放。
  4. 循環等待(Circular Wait):存在一個行程集合 {P0, P1, ..., Pn},其中 P0 正在等待 P1 佔用的資源,P1 正在等待 P2 佔用的資源,...,Pn-1 正在等待 Pn 佔用的資源,而 Pn 正在等待 P0 佔用的資源,形成一個等待迴圈。

現在我們來分析選項:

  • (A) 資源互斥(Mutual Exclusion):這是死結的必要條件之一。
  • (B) 請求與保持(Hold and Wait):這是死結的必要條件之一。
  • (C) 非搶佔(No Preemption):這是死結的必要條件之一。
  • (D) 優先權排程(Priority Scheduling):優先權排程是一種 CPU 排程演算法,用於決定哪個行程在何時執行。雖然排程策略可能影響死結發生的可能性或頻率,但它本身並不是死結發生的四個必要條件之一。死結的發生與資源的分配和請求模式直接相關,而非單純的行程執行順序。

因此,不屬於死結必要條件的是優先權排程。

The final answer is D

0
0