看板 Grad-ProbAsk 關於我們 聯絡資訊
以下是我在補習班講義上看到死結成立的四個必要條件 互斥: 至少必須有一個資源是在非共享狀態下被處理程序占用 即每次只能有一個處理程序可以使用該資源。 持有並等待:必須存在著一個處理程序,期至少持有一個資源,而又再等待另一 個正被其他處理程序所持有的資源 非強取: 即一 個資源只能有持有它的處理程序在該處理程序完成工作之後 自願釋放才行。 循環等待: Po等待P1 P1等待 P2 P2 等待 P3 P3等待P1 形成一個迴圈 我想問的是 互斥和非強取的差別 還有循環等待和持有並等待的差別 感覺資源如果有互斥他它就不能被其他Process 搶奪,這樣不就包含了非強取的條件 還有感覺如果循環等待成立,則持有並等待也會成立。 請問這兩組之間的差別在哪裡,請高手賜教了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.57.97.245
chen1025:互斥是針對資源的特性說明,是不可以同時被兩個資源使用 07/10 23:19
chen1025:而非搶取是針對「行程」是否有優先佔用資源的特性說明。 07/10 23:21
chen1025:第一行改成 07/10 23:23
chen1025:互斥是針對資源的特性說明,是不可以同時被兩個行程使用 07/10 23:23
chen1025:例如在圖書館當中,只有一台印表機,有兩個同學想印資料 07/10 23:25
chen1025:如果印表機沒有互斥,表示兩個人可以同時印資料,那就會 07/10 23:26
chen1025:兩位同學的文件內容交雜一起印出來,這個就是沒有互斥。 07/10 23:27
chen1025:這時老師走過來跟你說,不好意思,我想要先印, 07/10 23:27
chen1025:這時你讓老師先印,這時候老師搶先佔用該印表機,這是有 07/10 23:28
chen1025:老師有強取的特性,老師的優先權較高,可以先印。 07/10 23:28
chen1025:可是圖書館規定,不管是校長還是老師,大家都要排隊印, 07/10 23:29
chen1025:這就是沒有強取 07/10 23:30
chen1025:有些資源是可以沒有互斥的,如讀檔案 07/10 23:33
t3825288:感謝高手指教! 07/11 00:22