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

正文內(nèi)容

操作系統(tǒng)課程設計進程_銀行家_頁面調(diào)度(完整版)

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

下一頁面
  

【正文】 [i].Finished=1。iPCBNum。 //重置 PCB 數(shù)據(jù) ,以供另一個算法使用 coutendlendl。i++) { Total1+=pcbs[i].TurnoverTime。 cout 進程編號 優(yōu)先數(shù) 運行時間 周轉時間 帶權周轉時間 endl。 pcbs[CurMin].Finished=1。jPCBNum1。 float Total2。iPCBNum1。i++) { cout pcbs[i].sNum pcbs[i].ArriveTime pcbs[i].WaitTime pcbs[i].RunTime pcbs[i].TurnoverTime pcbs[i].WeighTurnTimeendl。 reInitPCB()。i++) { pcbs[i].Finished=0。 for(i=0。 if((fp=fopen(sFile,r))==NULL) { cout 錯誤 ,文件打不開 ,請檢查文件名 endl。 } //for(i=0。 pcbs[i].ArriveTime=0。 //進程的周轉時間 float WeighTurnTime。 //標志進程是否執(zhí)行完成 int Time。 //進程到達時間 int RunTime。時間片用完,調(diào)度程序自動停止該進程的執(zhí)行,將它放到進程就緒隊列的末尾,等待下一次執(zhí)行,然后將 CPU 分配給就緒隊列中新的隊首進程,也讓它執(zhí)行一個時間片。如果就緒隊列中出現(xiàn)優(yōu)先數(shù)相同的進程,則對這些有相同優(yōu)先數(shù)的進程采用先來先服務算法進行調(diào)度。由于進程調(diào)度程序執(zhí)行的頻率很高,因此調(diào)度算法的好壞將直接影響到操作系統(tǒng)的性能。 《操 作系統(tǒng)原理》課程設計是 信息計算科學 專業(yè)實踐性環(huán)節(jié)之一,是 對 學習完《操 作系統(tǒng)原理》 課程后進行的一次較全面的綜合 訓練 。 b、實踐感悟 由于時間倉促,此次課程設計并未投入大量時間,依然存在許多不足。 設計題目 操作系統(tǒng)課程設計 學生姓名 李飛吾 學 號 20216637 專業(yè)班級 信息計 10 2 班 指導教師 2021 年 12 月 22 日 設 計 共 3 題如下描述 成績 題 目 課 程 設 計 主 要 內(nèi) 容 首先感謝老師 和 同學 的 指導 設計目的: 《操作系統(tǒng)原理》課程設計是 信息計算科學 專業(yè)實踐性環(huán)節(jié)之一,是 對 學習完《操 作系統(tǒng)原理》 課程后進行的一次較全面的綜合 訓練 。但是通過對算法的進一步理解,加以程序實現(xiàn),讓我對本專業(yè)的學習興趣更加濃厚了。 其目的在于加深對操作系統(tǒng) 的理論、 方法和基礎知識的理解, 掌握操作系統(tǒng)結構、 實現(xiàn)機理和各種典型算法, 系統(tǒng)地了解操作系統(tǒng)的設計和實現(xiàn)思路,培養(yǎng)學系統(tǒng)設計能力, 并了解操作 系統(tǒng)的發(fā)展動向和趨勢。本實驗的目的是模擬實現(xiàn)幾種常見的進程調(diào)度算法,通過對幾組進程分別使用不同的調(diào)度算法,計算進程的平均周轉時間和平均帶權周轉時間,比較各種算法的性能優(yōu)劣。 對于占用處理器的進程,系統(tǒng)可以使用“搶占式”或“非搶占式”的策略。重復這個過程,直到所有的進程執(zhí)行完畢。 //進程要求執(zhí)行的時間 int Privilege。 //進程等待時間的借助變量 int WaitTime。 //進程的帶權周轉時間 }pcb。 pcbs[i].RunTime=0。iMAXPCB。 } else{ while(!feof(fp)) { fscanf(fp,%s %d %d %d,pcbs[PCBNum].sNum,amp。iPCBNum1。 pcbs[i].Time=0。 //重置 PCB 數(shù)據(jù) ,以供另一個算法使用 //輸出先來先服務調(diào)度算法執(zhí)行流 coutendlendl。 pcbs[i+1].Time=pcbs[i].Time+pcbs[i].RunTime。i++) { Total1+=pcbs[i].TurnoverTime。 int Queue[MAXPCB]。j++) { if((pcbs[j].Finished==0)amp。 pcbs[CurMin].TurnoverTime=pcbs[CurMin].RunTime+Time。 for(i=0。 Total2+=(float) pcbs[i].TurnoverTime/pcbs[i].RunTime。 cout 時間片輪轉調(diào)度執(zhí)行流(時間片的長度為 5 秒) :endl。i++) if(Num0) { Round++。 } //if(pcbs[i].RunTime=block_time*(Round+1)) }//if(pcbs[i].Finished==0) } //for(i=0。 int i,j。 =pcbs[j+1].RunTime。 pcbs[j].RunTime=。 cout pcbs[0].sNum pcbs[0].ArriveTime pcbs[0].WaitTime pcbs[0].RunTime pcbs[i].TurnoverTime pcbs[i].WeighTurnTimeendl。 pcbs[i].Finished=1。 cout ▓▓ ▓▓ endl。 cout ▓▓ ┏━━━━━━━━━━━━━━━━━━┓ ▓▓ endl。 bool bGoOn。 cinInput。 //短進程優(yōu)先調(diào)度算法 break。 bGoOn=(sGoOn[0]==39。 算法原理及設計 ( 1)銀行家算法 思想 : 對用戶提出的請求進行合法性檢查,即檢查請求的是不大于需要的 ,是否不大于可利用的。 e、用 do{? }while 循環(huán)語句實現(xiàn)輸入字符 y/n 判斷是否繼續(xù)進行資源申請。 輸出提示:你的請求被拒! AVAILABLE[i]=REQUEST[i] ;ALLOCATION[i]=REQUEST[i]。 安全性算法 Safe()開始 Work=AVAILABLE。 //進程數(shù) system(color 0B)。 cout ▓▓ ★ 歡迎進入銀行家算法調(diào)度系統(tǒng) ☆ ▓▓ endl。 cout ▓▓ ┃ ┃ ▓▓ endl。 cinm。 fp=fopen(,r+)。 } fclose(fp)。jm。in。 cout輸入已分配的 Allocationendl。j++) { cout 輸入分配 Rj類資源的數(shù)目 。 for(i=0。 //在初始化 Max時,同時修改 Available 數(shù)組 coutAllocation[i][j]39。 int all=0。 } int jc。j++) { all += Need[jc][j]。 } } ////////////////////////////////////////////////////////////////////////// //系統(tǒng)試探著把資源分配給該 進程 /////////////////////////////////////////// for (i=0。 } else { cout系統(tǒng)未能成分配資源 ,收回預分配資源 endl。 if(again==39。//申請工作向量 work, finish Work=Available。i++) { int needed=1。jm。 for (i=0。 }} c、運行截圖 檢測系統(tǒng)資源分配是否安全結果: 四、頁面調(diào)度算法 虛擬存儲器概念 : 局部性原理:程序在執(zhí)行時在一較短時間內(nèi)僅限于某個部分;相應的,它所訪問的存儲空間也局限于某個區(qū)域,它主要表現(xiàn)在以下兩個方面:時間局限性和空間局限性。 一個好的頁面置換算法,應具有較低的頁面更換頻率。該算法實現(xiàn)簡單只需把一個進程已調(diào)入內(nèi)存的頁面,按先后次序鏈接成一個隊列,并設置一個指針,稱為替換指針,使它總是指向最老的頁面。 /*物理塊中的頁號 */ static int page[100]={0}。 void mDelay(unsigned int Delay)。 system(cls)。 puts(請依次輸入頁面號引用串 (連續(xù)輸入,無需隔開 ): )。 do{ puts(輸入的頁面號引用串為: )。amp。 printf(* * * * * * * * * * * * * * * * * * * * * * *\n)。 case 3: OPT()。 default: printf(輸入錯誤,請重新輸入: )。 printf(╔════════════╗ \n)。 for(i=0。Delay0。 printf( ▓▓ ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆ ▓▓ \n)。 printf( ▓▓ ★ 歡迎進入頁面置換算法調(diào)度系統(tǒng) ☆ ▓▓ \n)。i124。i++) { mDelay((pSIZE+mSIZE)/2)。 printf(╚════════════╝ \n)。 getch()。 case 4: system(cls)。 scanf(%d,amp。 else printf(%d ,page[i])。k=(pSIZE1)/20。ipSIZE。 printf(請輸入物理塊的個數(shù) (M=10): )。 system(color 0B)。 /*輔助數(shù)組 */ /*置換算法函數(shù) */ void FIFO()。最近最久未使用( LRU)置換算法,是根據(jù)頁面調(diào)入內(nèi)存后的使用情況進行決策的。 a、最佳置換算法 OPT(Optimal) 它是由 Belady 于 1966 年提出的一種理論上的算法。 所謂 虛擬存儲器是只具有請求調(diào)入功能和置換功能,能從邏輯上對內(nèi)存容量進行擴充的一種存儲器系統(tǒng)。i++) { coutcount[i]。 } Finish[i]=TRUE。jm。 //記錄安全序列 int len=1。||again==39。im。i++) { Available[i]=Available[i]Request[i]。 } } cout輸入該進程的請求向量 endl。 all=0。in。 } coutendl。i++) { for (int j=0。 while(Allocation[i][j]Max[i][j]) { coutj+1類資源最大需求超過該類需求資源總量,重新輸入 。 vectorvectorint Need(n, vectorint(m))。jm。 cinMax[i][j]。 cinn。 for(int i=0。 //動態(tài)申請數(shù)組 Available 可用資源向量 cout輸入各類資源總數(shù) :endl。 cout ▓▓ ▓▓
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1