[理工] [OS] Deadlock 問題

看板Grad-ProbAsk作者 (猩爺)時間15年前 (2010/07/10 18:22), 編輯推噓1(1013)
留言14則, 2人參與, 最新討論串1/1
以下是我在補習班講義上看到死結成立的四個必要條件 互斥: 至少必須有一個資源是在非共享狀態下被處理程序占用 即每次只能有一個處理程序可以使用該資源。 持有並等待:必須存在著一個處理程序,期至少持有一個資源,而又再等待另一 個正被其他處理程序所持有的資源 非強取: 即一 個資源只能有持有它的處理程序在該處理程序完成工作之後 自願釋放才行。 循環等待: 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
文章代碼(AID): #1CE4dEmY (Grad-ProbAsk)