freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

銀行家算法操作系統(tǒng)-在線瀏覽

2024-08-17 16:16本頁面
  

【正文】 ,任何一個進程來申請資源時,必須先登記該進程對資源的申請要求,然后由系統(tǒng)檢查當前資源的狀況,并用銀行家算法和安全性算法來檢查是否允許分配資源給進程。在設(shè)計中主要的難點是用語言編寫銀行家算法和安全性算法,使系統(tǒng)資源分配能安全進行,避免系統(tǒng)死鎖。如果預(yù)分配后,系統(tǒng)處于安全狀態(tài),則修改系統(tǒng)的資源分況;(4)同時要求編寫和調(diào)試一個系統(tǒng)動態(tài)資源的簡單模擬程序,觀察死鎖產(chǎn)生的條件,并使用適當?shù)乃惴?,有效的防止和避免死鎖的發(fā)生。所謂死鎖,是指多個進程運行中因爭奪資源而造成的一種僵局,當進程處于這種僵持狀態(tài)時,若無外力作用,他們都無法再向前推進。系統(tǒng)的狀態(tài)分為安全狀態(tài)和不安全狀態(tài),只要能使系統(tǒng)都處于安全狀態(tài),便可避免死鎖。如果系統(tǒng)無法找到一個這樣地安全系列,則稱系統(tǒng)處于不安全狀態(tài)。如果資源分配不得當就會發(fā)生進程循環(huán)等待資源,各進程都無法繼續(xù)執(zhí)行下去的死鎖現(xiàn)象。 銀行家算法是避免死鎖的一種重要方法,在課程設(shè)計中用C語言編寫一個資源管理系統(tǒng),并要用銀行家算法和安全性算法檢查是否允許分配資源給進程,避免死鎖。提高了我們分析、解決問題的能力。銀行家算法是避免死鎖的一種重要方法,為實現(xiàn)銀行家算法,系統(tǒng)必須設(shè)置若干數(shù)據(jù)結(jié)構(gòu)。如果Available[j]=K,則表示系統(tǒng)中現(xiàn)有Rj類資源K個。如果Max[i,j]=K,則表示進程i需要Rj類資源的最大數(shù)目為K。如果Allocation[i,j]=K,則表示進程i當前已分得Rj類資源的數(shù)目為K。這也是一個nm的矩陣,用以表示每一個進程尚需的各類資源數(shù)。 Need[i,j]=Max[i,j]Allocation[i,j] 、銀行家算法設(shè)Requesti是進程Pi的請求向量,如果Requesti[j]=K,表示進程Pi需要K個Rj類型的資源。1)如果Requesti[j]≤Available[j],便轉(zhuǎn)向步驟(3);否則, 表示尚無足夠資源,Pi須等待。Allocation[i,j]∶=Allocation[i,j]+Requesti[j]。3)系統(tǒng)執(zhí)行安全性算法,檢查此次資源分配后,系統(tǒng)是否處于安全狀態(tài)。、安全性算法1)設(shè)置兩個向量:工作向量Work: 它表示系統(tǒng)可提供給進程繼續(xù)運行所需的各類資源數(shù)目,它含有m個元素,在執(zhí)行安全算法開始時,Work∶=Available。開始時先做Finish[i]∶=false。 2)從進程集合中找到一個能滿足下述條件的進程:  Finish[i]=false。Finish[i]∶=true。 4)如果所有進程的Finish[i]=true都滿足, 則表示系統(tǒng)處于安全狀態(tài);否則,系統(tǒng)處于不安全狀態(tài) 三、 具體實現(xiàn)、實現(xiàn)過程在程序中設(shè)計五個進程,分別為pr0,pr1,pr2,pr3,pr4。在這個資源管理系統(tǒng)中對進程的所需最大資源(Max)、已分配給當前進程資源(Allocation)和系統(tǒng)可用資源(Available)分別進行了初始化了值。要求程序具有顯示和打印各進程的某一時刻的資源分配表和安全序列,若分配不安全,則釋放分配的資源,防止使系統(tǒng)進入不安全狀態(tài)。程序還可以實現(xiàn)對系統(tǒng)的修改。 程序具體的設(shè)計是:函數(shù)void showdata()用來顯示資源矩陣,包括系統(tǒng)可用資源數(shù)目,進程對資源最大需求數(shù),系統(tǒng)已分配給進程的資源數(shù),進程還需求資源。函數(shù)share()用來利用銀行家算法對某個進程申請資源對進行判定。主要執(zhí)行的步驟是 : Avaliable[j]=Avaliable[j]Request[j];Allocation[i][j]=Allocation[i][j]+Request[j];Need[i][j]=Need[i][j]Request[j]。若不安全將本次的試探分配作廢,調(diào)用shifang()函數(shù)恢復(fù)原來的資源分配狀態(tài)。 四、 運行調(diào)試及結(jié)果分析為了便于檢驗程序的正確性,這里用了書上的數(shù)據(jù)進行了初始化。資源具體分配過程如下圖所示。這與書上的有點不同,但經(jīng)過計算,這也是一個正確的安全序列。主要是在安全路徑的找算法上。系統(tǒng)試探著為它分配資源。則系統(tǒng)不分配資源,并回收系統(tǒng)預(yù)分配給pr0的資源。這里選擇修改系統(tǒng)可用資源。資源修改成功。我?guī)缀趺刻斓膶W⒑托羷?,喚回了我對操作系統(tǒng)的重新的認識,在編寫程序不斷出現(xiàn)錯誤和改正的過程序中加深了我對銀行家算法的理解。在課程設(shè)計的過程中,通過與同組人的相互討論,很多問題迎刃而解。設(shè)計主要由兩部分組成:第一部分:銀行家算法(掃描)=Need,則轉(zhuǎn)向2。False:沒有).初始化為False [i]=Falseamp。Need=Work,則執(zhí)行3。 Finish[i]=tru
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1