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

正文內(nèi)容

銀行家算法實(shí)驗(yàn)報(bào)告-在線瀏覽

2024-09-24 23:53本頁面
  

【正文】 cation=Allocation+Request。(4)系統(tǒng)執(zhí)行安全性算法,檢查此次資源分配后,系統(tǒng)是否處于安全狀態(tài)。它表示系統(tǒng)可提供進(jìn)程繼續(xù)運(yùn)行所需要的各類資源數(shù)目,執(zhí)行安全算法開始時(shí),Work=Allocation。它表示系統(tǒng)是否有足夠的資源分配給進(jìn)程,使之運(yùn)行完成,開始時(shí)先做Finish[i]=false,當(dāng)有足夠資源分配給進(jìn)程時(shí),令Finish[i]=true。(3)當(dāng)進(jìn)程P獲得資源后,可順利執(zhí)行,直至完成,并釋放出分配給它的資源,故應(yīng)執(zhí)行:Work=Work+Allocation。轉(zhuǎn)向步驟(2)。四、詳細(xì)設(shè)計(jì)(1)進(jìn)程名向量 char processnema[N]。 //資源清單——系統(tǒng)中現(xiàn)有各資源空閑個(gè)數(shù)。 //最大需求矩陣——每個(gè)進(jìn)程對(duì)各資源的最大需求數(shù)分配矩陣 (4)已分配矩陣 int Allocation[N][M]。 //需求矩陣——每個(gè)進(jìn)程還需要每種資源的個(gè)數(shù)申請(qǐng)各類資源數(shù)量 (6)申請(qǐng)向量 int Request [M] //進(jìn)程申請(qǐng)資源的向量(7)工作向量 int Work[N][M]。//存放安全序列號(hào)(9)標(biāo)志向量 int Finish[N] //求安全序列時(shí)記錄每個(gè)進(jìn)程是否可以順利執(zhí)行 void main() //系統(tǒng)主函數(shù)int check_distribution() //安全性檢查函數(shù)int check_safe() //銀行家算法函數(shù)void print() //輸出函數(shù)141. int check_distribution(int* p,int k):檢查是否可以試分配函數(shù)用for(i=0。 i++)判斷是否滿足約束條件p[i] = Need[k][i],時(shí)間復(fù)雜度為O(M)。 iM。//Request[i]}初始化Work矩陣(2) 用for(m=0。 m++)循環(huán)找出滿足(0 == Finish[i] amp。 Need[i][0] = Work[k][0] amp。 Need[i][1] = Work[k][1] amp。 Need[i][2] = Work[k][2])條件的進(jìn)程,修改各資源信息。(3) 用for(i=0。 i++)/檢查是否所有進(jìn)程都執(zhí)行完了,如果所有進(jìn)程都可執(zhí)行則finish值等于1。3. void print()輸出函數(shù) for(i=0。 i++){for(j=0。 j++){}循環(huán)輸出每個(gè)進(jìn)程的每一類資源信息,時(shí)間復(fù)雜度為O(N)或O(M)。進(jìn)程信息的輸入與輸出調(diào)試(1) 能正確無誤的輸入進(jìn)程名向量processnema[N],輸入系統(tǒng)現(xiàn)有各類資源數(shù)量Available[M]向量,輸入每個(gè)進(jìn)程對(duì)各類資源的最大需求數(shù)Max[N][M]矩陣,輸入系統(tǒng)給每個(gè)進(jìn)程已分配的各類資源數(shù)Allocation[N][M]矩陣。如果求不出安全序列,說明這次分配后系統(tǒng)會(huì)進(jìn)入不安全狀態(tài),不能給該進(jìn)程分配資源,系統(tǒng)恢復(fù)初始狀態(tài),打印出提示信息,執(zhí)行結(jié)果如下:六、總結(jié)經(jīng)過幾天的操作系統(tǒng)課程設(shè)計(jì),我學(xué)習(xí)到了很多東西。當(dāng)然最重要的是我更深地理解了對(duì)于死鎖的避免,死鎖是會(huì)影響并發(fā)執(zhí)行的,是操作系統(tǒng)最需要解決得問題。銀行家算法中,要對(duì)當(dāng)前申請(qǐng)資源的進(jìn)程申請(qǐng)資源的數(shù)目進(jìn)行判斷,如果可以試分配,則試求出一個(gè)安全序列,如果可以求出,則說明給這個(gè)進(jìn)程分配資源后系統(tǒng)不會(huì)進(jìn)入不安全狀態(tài),將該進(jìn)程申請(qǐng)的資源分配給他,若求不出安全序列,則說明將資源分配給該進(jìn)程后系統(tǒng)會(huì)進(jìn)入不安全狀態(tài),所以就使該進(jìn)程進(jìn)入阻塞狀態(tài),等待以后可以分配資源時(shí)再執(zhí)行該進(jìn)程,然后系統(tǒng)繼續(xù)服務(wù)其它進(jìn)程。反之,只要系統(tǒng)處于安全狀態(tài),系統(tǒng)便可避免進(jìn)入死鎖狀態(tài)。很明顯這些概念在操作系統(tǒng)上是非常重要的東西,我相信這對(duì)我以后的學(xué)習(xí)也有很大的幫助;最后,這次在課程設(shè)計(jì)的過程中遇到很多困難,但是這些困難我在同學(xué)們以及老師的幫助下解決了,在此我要感謝郭偉同學(xué)和指導(dǎo)老師惠老師,謝謝他們幫助我,指導(dǎo)我。int check_safe()。char processnema[N]。 //請(qǐng)求向量int Finish[N]。 //初始為Available[][],隨尋找安全序列而變化,防止安全序列未找到而丟了初始狀態(tài)的值int Available[M]。int Max[N][M]。//分配矩陣——系統(tǒng)給每個(gè)進(jìn)程已分配的各類資源數(shù)int Need[N][M]。//存放安全序列號(hào)void main(){ int i=0,j=0,k=0。 //標(biāo)記輸入的進(jìn)程名是否存在 int safe=0。 //標(biāo)志是否可以進(jìn)行試分配0表示可以,1表示不可以 char flag1。 char name。 printf( 請(qǐng)分別初始化各矩陣信息 \n)。 //進(jìn)程名連續(xù)輸入for(i=0。 i++) { scanf(%c,amp。 } printf(請(qǐng)輸入現(xiàn)有各資源空閑個(gè)數(shù)\n)。 iM。Available[i])。 for(i=0。 i++) { for(j=0。 j++) { scanf(%d,amp。 } } printf(請(qǐng)分別輸入系統(tǒng)給每個(gè)進(jìn)程已分配的各類資源數(shù)\n)。 iN。 jM。Allocation[i][j])。 for(i=0。 i++) { for(j=0。 j++) { Need[i][j]=Max[i][j]Allocation[i][j]。 for(i=0。 i++) { sequence[i]
點(diǎn)擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1