[理工] [OS] Deadlock 問題
以下是我在補習班講義上看到死結成立的四個必要條件
互斥: 至少必須有一個資源是在非共享狀態下被處理程序占用
即每次只能有一個處理程序可以使用該資源。
持有並等待:必須存在著一個處理程序,期至少持有一個資源,而又再等待另一
個正被其他處理程序所持有的資源
非強取: 即一 個資源只能有持有它的處理程序在該處理程序完成工作之後
自願釋放才行。
循環等待: Po等待P1 P1等待 P2 P2 等待 P3 P3等待P1 形成一個迴圈
我想問的是
互斥和非強取的差別
還有循環等待和持有並等待的差別
感覺資源如果有互斥他它就不能被其他Process 搶奪,這樣不就包含了非強取的條件
還有感覺如果循環等待成立,則持有並等待也會成立。
請問這兩組之間的差別在哪裡,請高手賜教了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.57.97.245
推
07/10 23:19, , 1F
07/10 23:19, 1F
→
07/10 23:21, , 2F
07/10 23:21, 2F
→
07/10 23:23, , 3F
07/10 23:23, 3F
→
07/10 23:23, , 4F
07/10 23:23, 4F
→
07/10 23:25, , 5F
07/10 23:25, 5F
→
07/10 23:26, , 6F
07/10 23:26, 6F
→
07/10 23:27, , 7F
07/10 23:27, 7F
→
07/10 23:27, , 8F
07/10 23:27, 8F
→
07/10 23:28, , 9F
07/10 23:28, 9F
→
07/10 23:28, , 10F
07/10 23:28, 10F
→
07/10 23:29, , 11F
07/10 23:29, 11F
→
07/10 23:30, , 12F
07/10 23:30, 12F
→
07/10 23:33, , 13F
07/10 23:33, 13F
→
07/11 00:22, , 14F
07/11 00:22, 14F