系統是否死鎖證明

2022-02-25 08:31:32 字數 1714 閱讀 3459

題目: 假定系統中有m個同類資源,並被p個程序所共享,程序每次只申請或釋放乙個資源。如果:

a) 每個程序至少需要乙個資源,且最多不超過m個資源;

b) 所有程序的需求總和少於m+p。

該系統會不會發生死鎖。

證明1(反證法):

設每個程序的最大資源需求數為ri(i=1,2, ...p)。

由題意:p個程序共享m個資源;每個程序的最大資源需求數小於m;所有程序的最大資源需求數之和小於m+p,則有:

1 ≤ ri < m ①

< p+m ②

設系統在k(2≤k≤p)個程序(不妨設為p1,p2, ...pk)之間發生死鎖。

由死鎖的定義,所有死鎖程序的最大資源需求數為:

≥ m+k  ③

又由①式,所有非死鎖程序的最大資源需求數為:

≥ p-k    ④

由③和④式,有:

=+≥(m+k)+(p-k)=p+m

即:≥ p+m,與②式矛盾。證畢。

求證:若某個程序的最大資源需求數ri=0,則系統會死鎖。

證明:設p=4;m=4;

r1=r2=2;r3=3;r4=0。則有:

ri < m = 4 ;

=7 < p+m=8

滿足題意要求。假定資源的分配以下列次序進行:

時刻t1:r1、r2各占有1個資源;r3占有2個資源;

時刻t2:r1、r2、r3依此各申請1個資源,因無法滿足而等待。

即有3個程序發生了死鎖,其資源分配圖如下所示。

證明2(反證法):

設每個程序每次可申請多個資源,且最大資源需求數為

ri(i=1,2, ...p)。

由題意:p個程序共享m個資源;每個程序的最大資源需求數小於m;所有程序的最大資源需求數隻和小於m+p,有:

1 ≤ ri < m ①

< p+m  ②

設系統在k(2≤k≤p)個程序(不妨設為p1,p2, ...pk)之間發生死鎖,且系統仍有q(q≥ 0)個資源,但不能滿足死鎖程序的的申請要求。

由死鎖的定義,所有死鎖程序的最大資源需求數為:

≥ m-q+k(q+1)  ③

又由①式,所有非死鎖程序的最大資源需求數為:

≥ p-k       ④

由③和④式,有:

=+≥(m-q+k(q+1))+(p-k)

=(m-q+kq+k) +(p-k)

=p+m+q(k-1)

由假設:q≥ 0且k≥2,所以:

≥ p+m,與②式矛盾。 證畢。

證明3(順證法):

設每個程序的最大資源需求數為ri(i=1,2, ...p)。

由題意:p個程序共享m個資源;每個程序的最大資源需求數小於m;所有程序的最大資源需求數之和小於m+p,有:

1 ≤ ri < m ①

< p+m

由②式有:

=()-p < (p+m)-p=m

即: < m    ③

③式表明:系統至少有乙個資源,使得某個程序(不妨設為p1)能完成,然後釋放其占用的資源。此後:

由①式有r1-1≥0;又由③式,有:

=-(r1-1) ≤ < m

即: < m    ④

④式表明:系統至少有乙個資源,使得某個程序(不妨設為p2)能完成(然後釋放其占用的資源)。

依此推理,則可證明系統中的所有程序均能完成,故不會發生死鎖。

稅務律師視角 發票是否能夠證明已經付款

七年前,我剛剛做律師,承接了一樁索要貨款的訴訟案件。法律關係很簡單,我的當事人規規矩矩按合同約定供貨,偏偏命苦遇到老賴,幾次三番索款不成,不得不法庭刀刃相見。接受委託後,我整理當事人提供的證據資料,猛然間發現一張開給對方的發票。7年前的我剛剛從校園走向社會,性格稜角尚未打磨,於是很火爆地把當事人的經...

armstrong公理系統證明

a1自反律 若y x u,則x y為f所蘊含 證明1設y x u。對r的任一關係r中的任意兩個元組t,s 若t x s x 由於y x,則有t y s y 所以x y成立,自反律得證。a2增廣律 若x y為f所蘊含,且z u,則xz yz為f所蘊含 證明2設x y為f所蘊含,且z u。對r的任一關係...

證明某未知藥物對呼吸系統的影響

實驗組1 適量注射低濃度的某未知藥物,記錄其波形 實驗組2 適量注射中濃度的某未知藥物,記錄其波形 實驗組3 適量注射高濃度的某未知藥物,記錄其波形 實驗組4 注射適量生理鹽水,記錄其波形 對照組 注 對每組8只兔子的呼吸運動曲線圖的結果取平均值,再各之間進行比較 4 預期結果 1.該未知藥物可能會...