37. 下列何者並非作業系統發生死結(Deadlock)之必要條件?
(A)互斥(Mutual Exclusion)條件
(B)持有並等待(Hold and Wait)條件
(C)循環等待(Circular Wait)條件
(D)強取(Preemption)條件
答案:登入後查看
統計: A(27), B(36), C(39), D(213), E(0) #1814888
統計: A(27), B(36), C(39), D(213), E(0) #1814888
詳解 (共 3 筆)
#3702288
死結的必要條件
下列四種條件在系統中同時發生時就會產生死結的情況:
(1) 互斥(Mutual Exclusion)條件: 每次只能有一個 process 可以使用資源,如果另
一 process 對該資源提出申請,則此提出申請的 process 必須等待,直到該資源被釋放為止。
(2) 持有並等待(Hold and Wait)條件: 必須存在一個 process,它正持有著至少一個資源,而又在等待獲取另一個正被其它 process 持有的資源。
(3) 非強取(No Preemption)條件: 一個資源只能由持有它的 process 在該 process完成其工作之後自願釋放才行。
(4) 循環等待(Circular Wait)條件: 必須存在一組正在等待的 process{ P0,P1,…,Pn},其中 P0 正在必須等待 P1 持有的某個資源,P1 又等待被 P2持有的某個資源,最後 Pn 也正等待被 P0 持有的某個資源。
這四個條件全都成立時死結才會發生(充份且必要條件!!!)
3
0
#3409806
死結的四個條件是:
禁止搶占 no preemption - 系統資源不能被強制從一個行程中退出
持有和等待 hold and wait - 一個行程可以在等待時持有系統資源
互斥 mutual exclusion - 只有一個行程能持有一個資源
迴圈等待 circular waiting - 一系列行程互相持有其他行程所需要的資源
死結只有在這四個條件同時滿足時出現。預防死結就是至少破壞這四個條件其中一項,即破壞「禁止搶占」、破壞「持有等待」、破壞「資源互斥」和破壞「迴圈等待」。
0
0