多資源銀行家算法探究和實現(xiàn)_第1頁
已閱讀1頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1多資源銀行家算法探究和實現(xiàn)多資源銀行家算法探究和實現(xiàn)摘要:在通常情況下,計算機的資源有限,比如只有一臺打印機或者只有有限的內存,并且很多資源是獨占性的資源,在任意時刻這些資源只能被一個程序所占用,一旦這些資源被多個程序同時訪問,就會引發(fā)程序對資源的競爭,容易引起“死鎖”現(xiàn)象。銀行家算法便是針對死鎖問題而誕生的。該文簡介了死鎖的原理,對解決多個資源下死鎖問題的銀行家算法進行了討論,并用C語言對其進行了簡單的模擬。關鍵詞:死鎖;多資源競爭

2、;銀行家算法中圖分類號:TP312文獻標識碼:A文章編號:10093044(2013)18422905在計算機系統(tǒng)中,一個運行的程序被抽象成一個進程,能利用的內存、磁盤儲存空間、顯示屏等則可以被抽象成資源。一般來說,資源都是有限的,而操作系統(tǒng)中存在的進程對資源的需求卻經常大大超出了實際的資源量,并且很多進程具有排他性,資源也具有獨占性。此時,一旦若干個進程對某些相同的資源有需求,這些進程間便產生了競爭。在競爭的過程中,若有排他性的進程占

3、有了獨占性的資源,導致其他的進程得不到該資源,同時該進程也同樣無法獲取被其他排他性進程占有的獨占性資源,由3時,進程一般會進入等待狀態(tài),也就是阻塞狀態(tài),直到該資源可用。在正在運行的操作系統(tǒng)中,會存在很多個進程,這些進程共同組成了一個進程集合。對于這個進程集合來說,若其中的每個進程都在等待只能由其他進程才能引發(fā)的事件,則該進程集合就陷入了死鎖狀態(tài)。這是由于每個進程都在等待,所以沒有一個進程能引發(fā)喚醒其他進程的事件,由此,所有的進程都會無限

4、期地等待下去。從圖論的角度來說,這個進程集合形成了一個環(huán)。正如前文所述,大部分的死鎖問題都和不可搶占資源有關,這是因為部分進程占有著不可被其他進程搶占的資源,同時這些進程也無法得到被其他進程占有的不可搶占資源,于是,所有的進程都在等待其他進程使用完資源,等待資源被釋放,此時便陷入了死鎖境地。在1971年,Coffman等人總結了資源死鎖的四個必要條件,具體如下:1)互斥條件,即每個資源的狀態(tài)要么為已經分配給一個進程,要么就是可用的;2)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論