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

正文內容

操作系統(tǒng)課程設計進程_銀行家_頁面調度(文件)

2025-07-01 06:21 上一頁面

下一頁面
 

【正文】 量 分配矩陣 int Allocation[i][j] 需求矩陣 int need[i][j]= Max[i][j] Allocation[i][j] 申請各類資源數(shù)量 int Request i[j] i 進程申請 j 資源的數(shù)量 工作向量 int Work[x] int Finish[y] ( 3)銀行家算法 進程 i 發(fā)出請求申請 k 個 j 資源, Request i[j]=k a、檢查申請量是否不大于需求量: Request i[j]=need[i,j],若條件不符重新輸入,不允許申請大于需求量。 e、用 do{? }while 循環(huán)語句實現(xiàn)輸入字符 y/n 判斷是否繼續(xù)進行資源申請。 b、在進程中查找符合以下條件的進程: 條件 1: Finish[i]=0; 條件 2: need[i][j]=Work[j] 若找到,則執(zhí)行步驟 (3)否則,執(zhí)行步驟 (4) c、當進程獲得資源后,可順利執(zhí)行,直至完成,并釋放出分配給它的資源,故應執(zhí)行: Work[j]= Work[j]+ Allocation[i][j]; Finish[i]=1; goto step 2; d、如果所有的 Finish[i]=1 都滿足,則表示系統(tǒng)處于安全狀態(tài),否則,處于不安全狀態(tài)。 輸出提示:你的請求被拒! AVAILABLE[i]=REQUEST[i] ;ALLOCATION[i]=REQUEST[i]。//聲明 safe()安全性算法 void init()。 安全性算法 Safe()開始 Work=AVAILABLE。 Work+=ALLOCATION[i]。 //進程數(shù) system(color 0B)。 cout ▓▓ ▓▓ endl。 cout ▓▓ ★ 歡迎進入銀行家算法調度系統(tǒng) ☆ ▓▓ endl。 cout ▓▓ ▓▓ endl。 cout ▓▓ ┃ ┃ ▓▓ endl。 cout ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ endl。 cinm。im。 fp=fopen(,r+)。i++) { fscanf(fp,%d,amp。 } fclose(fp)。 /************************************************************************/ /* 下面的被剛掉的為在 DOS 下輸入資源向量 */ /*未被剛掉的是從 文件中讀入數(shù)據(jù) */ /************************************************************************/ /* for ( i=0。jm。 cinMax[i][j]。in。Max[i][j])。 cout輸入已分配的 Allocationendl。in。j++) { cout 輸入分配 Rj類資源的數(shù)目 。 } Need[i][j]=Max[i][j]Allocation[i][j]。 for(i=0。j++) { fscanf(fp,%d,amp。 //在初始化 Max時,同時修改 Available 數(shù)組 coutAllocation[i][j]39。 int safe(vectorint Available,vectorvectorint Need,vectorvectorint Allocation,int n,int m)。 int all=0。jm。 } int jc。 //如果 all==0,表示進程已經(jīng)運行完,如果 all=1,表示還有進程沒有運行完 //循環(huán)直至 all0,即找到一個未運行完的進程 cout任選一個進程作為當前進程 0n1endl。j++) { all += Need[jc][j]。im。 } } ////////////////////////////////////////////////////////////////////////// //系統(tǒng)試探著把資源分配給該 進程 /////////////////////////////////////////// for (i=0。 Need[jc][i]=Need[jc][i]Request[i]。 } else { cout系統(tǒng)未能成分配資源 ,收回預分配資源 endl。 Allocation[jc][i]=Allocation[jc][i]Request[i]。 if(again==39。) { all=0。//申請工作向量 work, finish Work=Available。im。i++) { int needed=1。 } else needed=needed*FALSE。jm。 count[len]=i。 for (i=0。 } } coutendl。 }} c、運行截圖 檢測系統(tǒng)資源分配是否安全結果: 四、頁面調度算法 虛擬存儲器概念 : 局部性原理:程序在執(zhí)行時在一較短時間內僅限于某個部分;相應的,它所訪問的存儲空間也局限于某個區(qū)域,它主要表現(xiàn)在以下兩個方面:時間局限性和空間局限性。 算法原理 分頁存儲管理將一個進程的邏輯地址空間分成若干大小相等的片,稱為頁面或頁。 一個好的頁面置換算法,應具有較低的頁面更換頻率。采用最佳置換算法,通??杀WC獲得最低的缺頁率。該算法實現(xiàn)簡單只需把一個進程已調入內存的頁面,按先后次序鏈接成一個隊列,并設置一個指針,稱為替換指針,使它總是指向最老的頁面。該算法賦予每個頁面一個訪問字段,用來記錄一個頁面自上次被訪問以來所經(jīng)歷的時間 t,,當須淘汰一個頁面時,選擇現(xiàn)有頁面中其 t 值最 大的,即最近最久未使用的頁面予以淘汰。 /*物理塊中的頁號 */ static int page[100]={0}。 void OPT()。 void mDelay(unsigned int Delay)。 printf( ━━━━━━━━━━━━━━━━━━━━━━━━━ \n)。 system(cls)。mSIZE)。 puts(請依次輸入頁面號引用串 (連續(xù)輸入,無需隔開 ): )。page[i])。 do{ puts(輸入的頁面號引用串為: )。(ipSIZE)amp。amp。 printf(* 請選擇頁面置換算法: \t\t\t *\n)。 printf(* * * * * * * * * * * * * * * * * * * * * * *\n)。 switch(code) { case 1: FIFO()。 case 3: OPT()。 designBy()。 default: printf(輸入錯誤,請重新輸入: )。 }while (code!=4)。 printf(╔════════════╗ \n)。 printf( O)。 for(i=0。 } printf(\nFinish.\n載入成功,按任意鍵進入置換算法選擇界面: )。Delay0。 } } } /*顯示設計者信息 */ void designBy() { printf( ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ \n)。 printf( ▓▓ ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆ ▓▓ \n)。 printf( ▓▓ ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆ ▓▓ \n)。 printf( ▓▓ ★ 歡迎進入頁面置換算法調度系統(tǒng) ☆ ▓▓ \n)。 printf( ▓▓ ▓▓ \n)。i124。 } /*設置延遲 */ void mDelay(unsigned int Delay) { unsigned int i。i++) { mDelay((pSIZE+mSIZE)/2)。i51。 printf(╚════════════╝ \n)。 } /*載入數(shù)據(jù) */ void download() { int i。 getch()。 printf( 謝謝使用頁面置換算法演示器 !\n)。 case 4: system(cls)。 case 2: LRU()。 scanf(%d,amp。 printf(* (FIFO) (LRU) *\n)。 else printf(%d ,page[i])。(i20*(k+1))。k=(pSIZE1)/20。 system(cls)。ipSIZE。 scanf(%d,amp。 printf(請輸入物理塊的個數(shù) (M=10): )。 printf( )。 system(color 0B)。 void designBy()。 /*輔助數(shù)組 */ /*置換算法函數(shù) */ void FIFO()。 /*物理塊數(shù) */ int pSIZE。最近最久未使用( LRU)置換算法,是根據(jù)頁面調入內存后的使用情況進行決策的。 b、先進先出 (FIFO)頁面置換算法 這是最早出現(xiàn)的置換算法。 a、最佳置換算法 OPT(Optimal) 它是由 Belady 于 1966 年提出的一種理論上的算法。但應將哪 個頁面調出,須根據(jù)一定的算法來確定。 所謂 虛擬存儲器是只具有請求調入功能和置換功能,能從邏輯上對內存容量進行擴充的一種存儲器系統(tǒng)。 } else { cout系統(tǒng)是不安全的 endl。i++) { coutcount[i]。 } } if (len==n1) { cout系統(tǒng)是安全的 endl。 } Finish[i]=TRUE。amp。jm。 for (i=0。 //記錄安全序列 int len=1。 } break。||again==39。 } } cout您還想再次請求分配嗎 ?是請按 y/Y,否請按其它鍵 endl。im。 bb=safe(Available,Need,Allocation,n,m)。i++) { Available[i]=Available[i]Request[i]。 while(Request[i]Need[jc][i]||Request[i]Available[i]) { cout請求向量無法滿足 endl。 } } cout輸入該進程的請求向量 endl。 for (int j=0。 all=0。 if (0==all) { cout所有進程已經(jīng)運行完,結束 endl。in。 bank(Available,Need,Allocation,n,m)。 } coutendl。 Need[i][j]=Max[i][j]Allocation[i][j]。i++) {
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1