單進程死鎖示例

當無 IO Buffer 時有可能出現單進程死鎖

  1. 進程1 向 IO 請求數據,並告訴IO設備 返回的數據 應該送到 進程1 的哪個地址

在這裏插入圖片描述

  1. IO設備去IO數據了,進程1就會阻塞等待,這時如果 進程1 被掛起,IO設備並不知道 進程1 被掛起了,IO設備還是會返回數據到 剛纔進程1規定的地址

在這裏插入圖片描述

因爲數據沒有被 進程1 接收到,所以數據就丟失了

  1. 之後 進程1 被換回,這種情況下 IO設備認爲自己返回了數據,就不會再返回數據;進程1 沒有接受到數據,他就會一直阻塞,這就造成了 單進程死鎖

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章