銀行算法是怎樣避免死鎖的:
計算機(jī)銀行家算法是通過動態(tài)地檢測系統(tǒng)中資源分配情況和進(jìn)程對資源的需求情況,在保證到少有一個進(jìn)程能得到所需要的全部資源,從而能確保系統(tǒng)處于安全狀態(tài)進(jìn),才把資源分配給申請者,從而避免了進(jìn)程共享資源時系統(tǒng)發(fā)生死鎖。
采用銀行家算法時為進(jìn)程分配資源的方式:
1)對每一個首次申請資源的進(jìn)程都要測試該進(jìn)程對資源的最大的需求量。如果系統(tǒng)現(xiàn)存資源可以滿足他的最大需求量,就按當(dāng)前申請量為分配資源。否則推遲分配。
2)進(jìn)程執(zhí)行中繼續(xù)申請資源時,先測試該進(jìn)程已占用資源數(shù)和本次申請資源總數(shù)有沒有超過最大需求量。超過就不分配。
若沒有超過,再測試系統(tǒng)現(xiàn)存資源是否滿足進(jìn)程尚需的最大資源量,滿足則按當(dāng)前申請量分配,否則也推遲分配。
總之,銀行家算法要保證分配資源時系統(tǒng)現(xiàn)存資源一定能滿足至少一個進(jìn)程所需的全部資源。
凡本站注明“稿件來源:新科教育”的所有圖文音視頻,版權(quán)均屬新科所有,任何媒體、網(wǎng)站或個人未經(jīng)本網(wǎng)協(xié)議授權(quán)不得轉(zhuǎn)或以其他方式復(fù)制發(fā)表。已獲得本站協(xié)議
授權(quán)的媒體、網(wǎng)站,在下載使用時必須注明“稿件來源:新科教育”,違者本站將依法追究責(zé)任。