問題詳情

20 對於多工的電腦作業系統,同時可以讓多個程序(process)在系統裡執行,但因為資源限制的關係,有可能會讓程序彼此之間造成死結(deadlock),無法順利完成工作。下列那一個不是死結發生的必 要條件:
(A)一個資源只能被一個程序所持有,不能同時共同使用
(B)作業系統不能強迫重新分配資源
(C)某個程序需要的資源,碰巧目前被另一個程序所使用中
(D)一個程序一旦搶到某個資源,一直會持有到其他所有需要的資源都占有,完成他的工作後才會釋出

參考答案

答案:C
難度:困難0.214
書單:沒有書單,新增

用户評論

【用戶】Zong

【年級】高一下

【評論內容】死結的產生需要滿足以下幾個必要條件:1.互斥條件(Mutual Exclusion):至少有一種資源必須被獨佔,即同一時間只能由一個進程或執行緒使用。當一個進程或執行緒獲得了該資源的控制權後,其他進程或執行緒就無法同時獲取該資源。2.佔有並等待條件(Hold and Wait):至少有一個進程或執行緒必須持有一個資源,同時又在等待獲得其他進程或執行緒持有的資源。換句話說,進程或執行緒在等待其他資源釋放的同時,保持對已獲得的資源的佔有。3.不可剝奪條件(No Preemption):已經被分配給一個進程或執行緒的資源無法強制性地被收回,只能由持有該資源的進程或執行緒主動釋放。4.循環等待條件(Circular Wait):存在一組進程或執行緒的等待關係,形成一個循環鏈。例如,進程A等待進程B所持有的資源,進程B等待進程C所持有的資源,而進程C又等待進程A所持有的資源。

【用戶】Zong

【年級】高一下

【評論內容】死結的產生需要滿足以下幾個必要條件:1.互斥條件(Mutual Exclusion):至少有一種資源必須被獨佔,即同一時間只能由一個進程或執行緒使用。當一個進程或執行緒獲得了該資源的控制權後,其他進程或執行緒就無法同時獲取該資源。2.佔有並等待條件(Hold and Wait):至少有一個進程或執行緒必須持有一個資源,同時又在等待獲得其他進程或執行緒持有的資源。換句話說,進程或執行緒在等待其他資源釋放的同時,保持對已獲得的資源的佔有。3.不可剝奪條件(No Preemption):已經被分配給一個進程或執行緒的資源無法強制性地被收回,只能由持有該資源的進程或執行緒主動釋放。4.循環等待條件(Circular Wait):存在一組進程或執行緒的等待關係,形成一個循環鏈。例如,進程A等待進程B所持有的資源,進程B等待進程C所持有的資源,而進程C又等待進程A所持有的資源。