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

正文內(nèi)容

銀行家算法os課程設(shè)計(jì)-在線瀏覽

2025-08-10 11:28本頁(yè)面
  

【正文】 先計(jì)算資源分配的安全性。 安全狀態(tài)是指,系統(tǒng)能按某種進(jìn)程順序(P1, P2, P3,…,Pn),來(lái)為每個(gè)進(jìn)程分配所需資源,直至滿足每個(gè)進(jìn)程對(duì)資源的最大需求,是每個(gè)進(jìn)曾都可以順利完成。雖然并非所有的不安全狀態(tài)都是死鎖狀態(tài),但當(dāng)系統(tǒng)進(jìn)入不安全狀態(tài)后,便可能進(jìn)入死鎖狀態(tài)。 安全序列:一個(gè)進(jìn)程序列{P1,…,Pn}是安全的,如果對(duì)于每一個(gè)進(jìn)程Pi(1≤i≤n),它以后尚需要的資源量不超過(guò)系統(tǒng)當(dāng)前剩余資源量與所有進(jìn)程Pj (j i )當(dāng)前占有資源量之和。因此,避免死鎖的實(shí)質(zhì)在于,如何使系統(tǒng)不進(jìn)入不安全狀態(tài),銀行家算法就是用來(lái)判斷某種情況會(huì)不會(huì)進(jìn)入不安全狀態(tài)。若請(qǐng)求合法,則進(jìn)行試分配。若安全,則分配,否則,不分配,恢復(fù)原來(lái)狀態(tài),拒絕申請(qǐng)。如果Max[i,j]=K,則表示進(jìn)程i需要Rj類資源的最大數(shù)目為K。如果Allocation[i,j]=K,則表示 進(jìn)程i當(dāng)前已分得Rj類資源的數(shù)目為K。如果Need[i,j]=K,則表示進(jìn)程i還需要Rj類資源K個(gè),方能完成其任務(wù)。Available[j]=K,則表示系統(tǒng)中現(xiàn)有Rj 類資源K個(gè)。初始化finish[i]:=false。2)銀行家算法步驟(1)如果Requesti<o(jì)r =Need,則轉(zhuǎn)向步驟(2);否則,認(rèn)為出錯(cuò),因?yàn)樗枰馁Y源數(shù)已超過(guò)它所宣布的最大值。(3)系統(tǒng)試探把要求的資源分配給進(jìn)程Pi,并修改下面數(shù)據(jù)結(jié)構(gòu)中的數(shù)值: Available=AvailableRequest[i]。 Need=NeedRequest。3)安全性算法步驟(1)設(shè)置兩個(gè)向量①工作向量Work。②布爾向量Finish。(2)從進(jìn)程集合中找到一個(gè)能滿足下述條件的進(jìn)程:①Finish[i]=false②Needor=Work如找到,執(zhí)行步驟(3);否則,執(zhí)行步驟(4)。Finish[i]=true。(4) 如果所有進(jìn)程的Finish[i]=true,則表示系統(tǒng)處于安全狀態(tài);否則,系統(tǒng)處于不安全狀態(tài)。rstordata(n)函數(shù)輸出分配資源后每個(gè)進(jìn)程的信息。如果申請(qǐng)資源的數(shù)量不滿足條件,則讓該進(jìn)程等待。 (1) if(Request[j]NEED[n][j]) 、if(Request[j]AVAILABLE[j]) 用來(lái)判斷是否可以進(jìn)行試分配,如果判斷結(jié)果為真,說(shuō)明申請(qǐng)資源的進(jìn)程申請(qǐng)的資源數(shù)目不滿足Request []=need[]或Request []=available[]條件,不能為該進(jìn)程進(jìn)行試分配,如果判斷結(jié)果為0,說(shuō)明可以進(jìn)行試分配。 ,然后當(dāng)iM時(shí)循環(huán)找滿足條件 FINISH[i]==FALSEamp。NEED[i][j]=WORK的進(jìn)程,表示進(jìn)程可以順利執(zhí)行則WORK=WORK+ALLOCATION[i][j]。如果單循環(huán)結(jié)束時(shí)每個(gè)進(jìn)程的Finish[i]都等于1,則說(shuō)明可以找到安全序列,返回1,如果不是每個(gè)Finish[i]都等于TRUE,則說(shuō)明找不到一個(gè)安全序列,返回i=0;2)程序流程圖:開(kāi)始初始化 讀入初始化狀態(tài)時(shí)的資源分配表 讀入請(qǐng)求向量申請(qǐng)不合理,出錯(cuò)!請(qǐng)重新選擇Requesti[j]=Need[j] NO 申請(qǐng)不合理,出錯(cuò)!請(qǐng)重新選擇Requesti[j]=Available[j] NO Available[j]:=Available[j]Requesti[j]。Need[i,j]:=Need[i,j]Requesti[j]。Finish:=F依次查找Need[i]=Work[j]。Finish[i]:=true。3)進(jìn)程號(hào)定義為整型,但是卻錯(cuò)輸成字母等情況,我們需要對(duì)這些情況進(jìn)行判斷,讓程序報(bào)錯(cuò)返回而并非因錯(cuò)誤而中斷。我也沒(méi)有涵蓋全部的輸入,僅僅只是對(duì)輸入的進(jìn)程號(hào)不在已存在進(jìn)程當(dāng)中作了判斷。 通過(guò)一個(gè)周的課程設(shè)計(jì),我加深了對(duì)銀行家算法的理解,掌握了銀行家算法避免死鎖的過(guò)程和方法,理解了死鎖產(chǎn)生的原因和條件以及避免死鎖的方法。 在銀行家算法這個(gè)系統(tǒng)之中,所采用的數(shù)據(jù)結(jié)構(gòu)應(yīng)是最基本的部分。數(shù)據(jù)結(jié)構(gòu)雖然重要但卻只是基礎(chǔ),而最主要的用以實(shí)現(xiàn)系統(tǒng)功能的應(yīng)該有兩個(gè)部分,一是用銀行家算法來(lái)判斷,二是用安全性算法來(lái)檢測(cè)系統(tǒng)的安全性。首先,輸入欲申請(qǐng)資源的進(jìn)程以及其所申請(qǐng)的資源數(shù),存放在Request數(shù)組中。最后,無(wú)論此次分配是否成功,我們都可以選擇繼續(xù)分配。首先,F(xiàn)inish[]為布爾型,默認(rèn)是False,即該進(jìn)程未完成。然后,我們從第一個(gè)進(jìn)程開(kāi)始判斷該進(jìn)程未完成且其所需求的資源量不大于該系統(tǒng)中可以用來(lái)工作的資源量這個(gè)條件是否成立,即Finish[]=False且Need[][]=Work[]是否成立。否則便將此進(jìn)程的優(yōu)先級(jí)減一,排在隊(duì)位,然后開(kāi)始往后循環(huán)??傊?,銀行家算法是避免死鎖的主要方法,其思路在很多方面都非常值得我們來(lái)學(xué)習(xí)借鑒。銀行家算法中,要對(duì)當(dāng)前申請(qǐng)資源的進(jìn)程申請(qǐng)資源的數(shù)目進(jìn)行判斷,如果可以試分配,則試求出一個(gè)安全序列,如果可以求出,則說(shuō)明給這個(gè)進(jìn)程分配資源后系統(tǒng)不會(huì)進(jìn)入不安全狀態(tài),將該進(jìn)程申請(qǐng)的資源分配給他,若求不出安全序列,則說(shuō)明將資源分配給該進(jìn)程后系統(tǒng)會(huì)進(jìn)入不安全狀態(tài),所以就使該進(jìn)程進(jìn)入阻塞狀態(tài),等待以后可以分配資源時(shí)再執(zhí)
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1