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

正文內(nèi)容

操作系統(tǒng)課程設(shè)計(jì)進(jìn)程_銀行家_頁面調(diào)度(存儲(chǔ)版)

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

下一頁面
  

【正文】 t您還想再次請(qǐng)求分配嗎 ?是請(qǐng)按 y/Y,否請(qǐng)按其它鍵 endl。 } break。 for (i=0。amp。 } } if (len==n1) { cout系統(tǒng)是安全的 endl。 } else { cout系統(tǒng)是不安全的 endl。但應(yīng)將哪 個(gè)頁面調(diào)出,須根據(jù)一定的算法來確定。 b、先進(jìn)先出 (FIFO)頁面置換算法 這是最早出現(xiàn)的置換算法。 /*物理塊數(shù) */ int pSIZE。 void designBy()。 printf( )。 scanf(%d,amp。 system(cls)。(i20*(k+1))。 printf(* (FIFO) (LRU) *\n)。 case 2: LRU()。 printf( 謝謝使用頁面置換算法演示器 !\n)。 } /*載入數(shù)據(jù) */ void download() { int i。i51。 } /*設(shè)置延遲 */ void mDelay(unsigned int Delay) { unsigned int i。 printf( ▓▓ ▓▓ \n)。 printf( ▓▓ ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆ ▓▓ \n)。 } } } /*顯示設(shè)計(jì)者信息 */ void designBy() { printf( ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ \n)。 } printf(\nFinish.\n載入成功,按任意鍵進(jìn)入置換算法選擇界面: )。 printf( O)。 }while (code!=4)。 designBy()。 switch(code) { case 1: FIFO()。 printf(* 請(qǐng)選擇頁面置換算法: \t\t\t *\n)。(ipSIZE)amp。page[i])。mSIZE)。 printf( ━━━━━━━━━━━━━━━━━━━━━━━━━ \n)。 void OPT()。該算法賦予每個(gè)頁面一個(gè)訪問字段,用來記錄一個(gè)頁面自上次被訪問以來所經(jīng)歷的時(shí)間 t,,當(dāng)須淘汰一個(gè)頁面時(shí),選擇現(xiàn)有頁面中其 t 值最 大的,即最近最久未使用的頁面予以淘汰。采用最佳置換算法,通??杀WC獲得最低的缺頁率。 算法原理 分頁存儲(chǔ)管理將一個(gè)進(jìn)程的邏輯地址空間分成若干大小相等的片,稱為頁面或頁。 } } coutendl。 count[len]=i。 } else needed=needed*FALSE。im。) { all=0。 Allocation[jc][i]=Allocation[jc][i]Request[i]。 Need[jc][i]=Need[jc][i]Request[i]。im。 //如果 all==0,表示進(jìn)程已經(jīng)運(yùn)行完,如果 all=1,表示還有進(jìn)程沒有運(yùn)行完 //循環(huán)直至 all0,即找到一個(gè)未運(yùn)行完的進(jìn)程 cout任選一個(gè)進(jìn)程作為當(dāng)前進(jìn)程 0n1endl。jm。 int safe(vectorint Available,vectorvectorint Need,vectorvectorint Allocation,int n,int m)。j++) { fscanf(fp,%d,amp。 } Need[i][j]=Max[i][j]Allocation[i][j]。in。Max[i][j])。 cinMax[i][j]。 /************************************************************************/ /* 下面的被剛掉的為在 DOS 下輸入資源向量 */ /*未被剛掉的是從 文件中讀入數(shù)據(jù) */ /************************************************************************/ /* for ( i=0。i++) { fscanf(fp,%d,amp。im。 cout ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ endl。 cout ▓▓ ▓▓ endl。 cout ▓▓ ▓▓ endl。 Work+=ALLOCATION[i]。//聲明 safe()安全性算法 void init()。 b、在進(jìn)程中查找符合以下條件的進(jìn)程: 條件 1: Finish[i]=0; 條件 2: need[i][j]=Work[j] 若找到,則執(zhí)行步驟 (3)否則,執(zhí)行步驟 (4) c、當(dāng)進(jìn)程獲得資源后,可順利執(zhí)行,直至完成,并釋放出分配給它的資源,故應(yīng)執(zhí)行: Work[j]= Work[j]+ Allocation[i][j]; Finish[i]=1; goto step 2; d、如果所有的 Finish[i]=1 都滿足,則表示系統(tǒng)處于安全狀態(tài),否則,處于不安全狀態(tài)。 ( 2)銀行家算法數(shù)據(jù)結(jié)構(gòu): 可利用資源向量 int Available[j] j 為資源的種類 最大需求矩陣 int Max[i][j] i 為進(jìn)程的數(shù)量 分配矩陣 int Allocation[i][j] 需求矩陣 int need[i][j]= Max[i][j] Allocation[i][j] 申請(qǐng)各類資源數(shù)量 int Request i[j] i 進(jìn)程申請(qǐng) j 資源的數(shù)量 工作向量 int Work[x] int Finish[y] ( 3)銀行家算法 進(jìn)程 i 發(fā)出請(qǐng)求申請(qǐng) k 個(gè) j 資源, Request i[j]=k a、檢查申請(qǐng)量是否不大于需求量: Request i[j]=need[i,j],若條件不符重新輸入,不允許申請(qǐng)大于需求量。)。 strcpy(sGoOn, )。 //優(yōu)先數(shù)調(diào)度算法 break。 //PCB 初始化函數(shù) bGoOn= true。 cout ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ endl。 cout ▓▓ ☆ ★ ▓▓ endl。 } //void SPF() void interface() //顯示界面信息 { coutendlendl。 pcbs[i].WaitTime=pcbs[i].Timepcbs[i].ArriveTime。 pcbs[0].TurnoverTime=pcbs[0].RunTime+pcbs[0].ArriveTime。 pcbs[j+1].RunTime=pcbs[j].RunTime。jPCBNumi1。 }//void timer() void SPF() //短進(jìn)程優(yōu)先調(diào)度算法 { reInitPCB()。i++) { if(pcbs[i].Finished==0) { Flag=1。iPCBNum1。 int Round=0。 Total2=。iPCBNum。 } } //for(j=0。iPCBNum1。 } //void FCFS() //優(yōu)先數(shù)調(diào)度算法 void privilege() { int i,j,CurMin。 } Total1 = 0。 pcbs[0].WeighTurnTime=(float)pcbs[0].TurnoverTime/pcbs[0].RunTime。 } } //void reInitPCB() //先來先服務(wù)調(diào)度算法 void FCFS() { int i。 }// int readData() //重置 PCB 數(shù)據(jù) ,以供另一個(gè)算法使用 void reInitPCB() { int i。 PCBNum++。 int i。 pcbs[i].WaitTime=0。 for(i=0。 int Time。 //進(jìn)程到達(dá)時(shí)間 int RunTime。 //定義時(shí)間片的長度 const int MAXPCB=100。本實(shí)驗(yàn)的基本要求是實(shí)現(xiàn)固定優(yōu)先數(shù)的調(diào)度算法,讀者可以在這個(gè)基礎(chǔ)上添加動(dòng)態(tài)優(yōu)先數(shù)功能。 1 先來先服務(wù)( FCFS)調(diào)度算法 本算法在進(jìn)行調(diào)度時(shí),總是選擇一個(gè)最先進(jìn)入進(jìn)程就緒隊(duì)列的進(jìn)程,把處理器分配給它,使之開始運(yùn)行。 程序是靜態(tài)實(shí)體,進(jìn)程是動(dòng)態(tài)的,通過對(duì)進(jìn)程調(diào)度實(shí)現(xiàn),實(shí)現(xiàn)程序運(yùn)行。 簽名: 20 年 月 日 目錄 一、 算法 設(shè)計(jì)概述 設(shè)計(jì)背景 1 運(yùn)行環(huán)境 1 二 、 進(jìn)程調(diào)度算法 進(jìn)程 并發(fā)執(zhí)行 1 算法原理 及設(shè)計(jì) 2 代碼設(shè)計(jì) 3 三、 銀行家算法 進(jìn)程死鎖狀態(tài) 13 算法原理 及設(shè)計(jì) 13 代碼設(shè)計(jì) 16 四、 頁面調(diào)度算法 頁式 虛擬存儲(chǔ) 20 算法原理 及設(shè)計(jì) 20 代碼設(shè)計(jì) 21 五、課程設(shè)計(jì)總結(jié) 知識(shí)總結(jié) 26 實(shí)踐感悟 26 一、 算法設(shè)計(jì)概述 設(shè)計(jì)背景 操作系統(tǒng)是管理計(jì)算機(jī)硬件資源,控制其他程序運(yùn)行并為用戶提供交互操作界面的系統(tǒng)軟件的集合。操作系統(tǒng)的有效性包含以下兩個(gè)方面: 提高資源利用率; 提高系統(tǒng)吞吐率。 設(shè)計(jì)題目: 進(jìn)程調(diào)度算法 銀行家算法 頁面調(diào)度算法 設(shè)計(jì)總結(jié): a、知識(shí)總結(jié) 有效性一直是操作系統(tǒng)所追求的目標(biāo)之一。 指 導(dǎo) 老 師 評(píng) 語 建議:從學(xué)生的工作態(tài)度、工作量、設(shè)計(jì) (論文的 )創(chuàng)造性、學(xué)術(shù)性、使用性及書面表達(dá)能力等方面給出評(píng)價(jià)。倘若在計(jì)算機(jī)系統(tǒng)有多個(gè)處理機(jī),則這些可以并發(fā)執(zhí)行的程序便可以被分配到多個(gè)處理機(jī)上,實(shí)現(xiàn)執(zhí)行,即利用每個(gè)處理機(jī)來處理一個(gè)可以并發(fā)執(zhí)行的程序,這樣,多個(gè)程序便可同時(shí)執(zhí)行。 下面對(duì)前 3 種算法作一 一 簡(jiǎn)單介紹。 進(jìn)程的優(yōu)先數(shù)可以發(fā)生變化。 代碼設(shè)計(jì) ( 1)建立進(jìn)程控制塊 進(jìn)程控制塊至少應(yīng)該包括: 進(jìn)程名稱 進(jìn)程需要執(zhí)行時(shí)間 進(jìn)入就緒隊(duì)列時(shí)間 進(jìn)程執(zhí)行結(jié)束時(shí)間 進(jìn)程號(hào) 到達(dá)時(shí)間 要求執(zhí)行時(shí)間 0 0 4 1 1 35 2 2 10 3 3 5 4 6 9 5 7 21 6 9 35 7 11 23 8 12 42 9 13 1 10 14 7 11 20 5 12 23 3 13 24 22 14 25 31 15 26 1 ( 2)就緒進(jìn)程序列 如上右表 所示 代碼設(shè)計(jì) include include include const int timeslice=5。 //進(jìn)程編號(hào) int ArriveTime。 //進(jìn)程 帶權(quán)周轉(zhuǎn)時(shí)間 }pcb。 //進(jìn)程數(shù) //PCB 初始化函數(shù) void initPCB()
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1