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

正文內(nèi)容

進程調(diào)度算法磁盤調(diào)度算法銀行家算法操作系統(tǒng)課程設(shè)(編輯修改稿)

2025-08-03 15:57 本頁面
 

【文章內(nèi)容簡介】 n\n,time1)。 } if(m==4) { printf(ID 運行總時間 進程狀態(tài)\n)。 for(int k=0。 knumber。 k++) { printf(%d %d 就緒\n,k+1, pcb[k].Alltime)。 } printf(\n***********************程序調(diào)度演示開始***********************\n)。 for(int f=1。f1000。f++) { int count=0。 for(i=0。inumber。i++) { if(pcb[i].Alltime==0) { continue。 } if(pcb[i].Alltime0) { pcb[i].Alltime=4。 pcb[i].CPUtime+=4。 } if(pcb[i].Alltime0) { pcb[i].Alltime=0。 } ///////////////////////////////////////////////////// printf(\n第%d個進程正在執(zhí)行!\n,i+1)。 printf(\n第%d次調(diào)度結(jié)束,運行結(jié)果為:\n\n,f)。 printf(ID 需要時間 執(zhí)行時間\n)。 for(int k=0。 knumber。 k++) { printf(%d %d %d \n,k+1, pcb[k].Alltime,pcb[k].CPUtime)。 } //////////////////////////////////////////////////// } for(int l=0。lnumber。l++) { if(pcb[l].Alltime==0) count++。 } if(count==number) { break。 } } printf(\n*****************************用戶進程全部執(zhí)行完畢!******************************)。 } }}4. 實驗結(jié)果及分析 實驗結(jié)果 先到先服務(wù)算法的實驗結(jié)果如下:最短作業(yè)優(yōu)先調(diào)度的實驗結(jié)果如下:優(yōu)先權(quán)調(diào)度算法的實驗結(jié)果如下:輪轉(zhuǎn)法調(diào)度的實驗結(jié)果如下: 結(jié)果分析 本次試驗基本實現(xiàn)了進程調(diào)度的四種算法,每一種算法都能模擬出算法的具體過程。相應(yīng)的結(jié)果也完全符合預(yù)想的結(jié)果。同時,對于算法的實踐編寫進一步增加了編程的技巧,以及編程的熟練程度。銀行家算法1.設(shè)計目的 銀行家算法是避免死鎖的一種十分重要的方法,通過編寫一個模擬的動態(tài)的銀行家算法的程序,能夠進一步加深對死鎖的理解,以及產(chǎn)生死鎖的必要條件。并掌握通過銀行家算法來避免死鎖。2. 任務(wù)及要求 設(shè)計任務(wù) 根據(jù)銀行家算法的基本思想來設(shè)計程序,模擬銀行家算法的過程。用程序來實現(xiàn)銀行家算法的具體動態(tài)過程。 設(shè)計要求 根據(jù)銀行家算法的基本思想,編寫和調(diào)試一個能實現(xiàn)動態(tài)的分配資源的模擬程序。并能夠有效的防止死鎖的發(fā)生。3. 算法及數(shù)據(jù)結(jié)構(gòu)(流程) 銀行家算法的基本思想是,系統(tǒng)中的所有進程放入進程集合,在安全狀態(tài)下系統(tǒng)受到進程的請求后會試探性的把資源分配給他,現(xiàn)在系統(tǒng)將剩下的資源和進程集合中其他進程還需要的資源作對比,找出剩余資源能滿足的進程,從而保證進程運行完并釋放資源繼續(xù)滿足剩下進程對資源的需要。最后檢查集合為空集時表明本次申請可行,系統(tǒng)繼續(xù)處于安全狀態(tài),可以實施本次分配。否則不能實施本次分配。 顯示資源矩陣 showdata() 模塊 功能 主要是顯示資源的矩陣,包括輸入的已分配的的資源矩陣,以及輸出的資源矩陣。 數(shù)據(jù)結(jié)構(gòu) 最大需求矩陣max以及已分配矩陣allocation,分別定義為m*n階的矩陣,利用二維數(shù)組來存儲。 算法void showdata() //顯示資源矩陣{ int i,j。 cout系統(tǒng)目前可用的資源[Avaliable]:endl。 for(i=0。iN。i++) { coutname[i] 。 } coutendl。 for (j=0。jN。j++) { coutAvaliable[j] 。 //輸出分配資源 } coutendl。 cout Max Allocation Needendl。 coutendl。 cout進程名 。 for(j=0。j3。j++) { for(i=0。iN。i++) coutname[i] 。 cout 。 } coutendl。 for(i=0。iM。i++) { cout i 。 for(j=0。jN。j++) { coutMax[i][j] 。 } cout 。 for(j=0。jN。j++) { coutAllocation[i][j] 。 } cout 。 for(j=0。jN。j++) { coutNeed[i][j] 。 } coutendl。 }} 申請資源判定模塊 利用銀行家實現(xiàn)對申請的資源進行判定。 數(shù)據(jù)結(jié)構(gòu) 對已經(jīng)存儲的矩陣進行比較。void share() //利用銀行家算法對申請資源對進行判定{ char ch。 int i=0,j=0。 ch=39。y39。 cout請輸入要求分配的資源進程號(0M1):。 cini。 //輸入須申請的資源號 cout請輸入進程 i 申請的資源:endl。 for(j=0。jN。j++) { coutname[j]:。 cinRequest[j]。 //輸入需要申請的資源 } for (j=0。jN。j++) { if(Request[j]Need[i][j]) //判斷申請是否大于需求,若大于則出錯 { cout進程 i申請的資源大于它需要的資源。 cout 分配不合理,不予分配!endl。 ch=39。n
點擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1