操做系統中的死鎖怎麼判斷?

**設n個進程,每一個進程對R類資源最大需求量爲w,絕對不會發生死鎖的m的值的判斷是
M=n(w-1)+1,凡是題目中m<M的可能會發生死鎖,凡是m>=M絕對不會死鎖*spa

參考:操作系統

【網工09上半年8,9小題】設系統中有R類資源m個,現有n個進程互斥使用。若每一個進程對R資源的最大需求爲w,那麼當m、n、w取下表的值時,對於下表中的a~e五種狀況,(8)兩種狀況可能會發生死鎖。對於這兩種狀況,若將(9),則不會發生死鎖。進程

圖片描述

(8)A.a和b B.b和c C.c和d D.c和e圖片

(9)A.n加1或w加1 B.m加1或w減1 資源

C.m減1或w加1 D.m減1或w減1it

【答案】D Bclass

【解析】im

(8)本題考查對操做系統死鎖方面基本知識掌握的程度。系統中同類資源分配不當會引發死鎖。通常狀況下,若系統中有m個單位的存儲器資源,它被n個進程使用,當每一個進程都要求w個單位的存儲器資源,當m<nw時,可能會引發死鎖。nw

試題(8)分析以下:img

狀況a: m=2, n=l, w=2,系統中有2個資源,1個進程使用,該進程最多要求2個資源,因此不會發生死鎖。

狀況b: m=2, n=2, w=l,系統中有2個資源,2個進程使用,每一個進程最多要求1個資源,因此不會發生死鎖。

狀況c: m=2, n=2, w=2,系統中有2個資源,2個進程使用,每一個進程最多要求2個資源,此時,採用的分配策略是輪流地爲每一個進程分配,則第一輪系統先爲每一個進程分配1個,此時,系統中已無可供分配的資源,使得各個進程都處於等待狀態致使系統發生死鎖,這時進程資源圖以下圖所示。
圖片描述
狀況d: m=4, n=3, w=2,系統中有4個資源,3個進程使用,每一個進程最多要求2個資源,此時,採用的分配策略是輪流地爲每一個進程分配,則第一輪系統先爲每一個進程分配1個資源,此時,系統中還剩1個資源,能夠使其中的一個進程獲得所需資源並運行完畢,因此不會發生死鎖。 .

狀況e: m=4, n=3, w=3,系統中有4個資源,3個進程使用,每一個進程最多要求3個資源,此時,採用的分配策略是輪流地爲每一個進程分配,則第一輪系統先爲每一個進程分配1個,第二輪系統先爲一個進程分配1個,此時,系統中已無可供分配的資源,使得各個進程都處於等待狀態致使系統發生死鎖,這時進程資源圖以下圖所示。
圖片描述

(9) 對於c和e兩種狀況,若將m加1,則狀況c: m=3,+ n=2, w=2,系統中有3個資源,2個進程使用,每一個進程最多要求2個資源,系統先爲每一個進程分配1個,此時,系統中還剩1個可供分配的資源,使得其中的一個進程能獲得所需資源執行完,並釋放全部資源使另外一個進程運行完畢;若將w減1,則狀況c: m=2, n=2, w=l,系統中有2個資源,兩個進程各需一個,系統爲每一個進程分配1個,此時,進程都能運行完,顯然不會發生死鎖。狀況e分析同理。

相關文章
相關標籤/搜索