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

正文內(nèi)容

操作系統(tǒng)課設(shè)報告-展示頁

2025-04-01 08:34本頁面
  

【正文】 pstate=39。 */ } p=block_qnext。 else running_pstate=39。 else if(running_pstartblock!=0) running_pstate=39。 改變運行進程 if(running_palltime==0) 的信息和狀態(tài) running_pstate=39。 running_palltime=1。 } running_ppriority=3。 //running_p指向運行的進程 else ppriority+=1。progN){ //判斷是否有進程運行 p=ready_qnext。 if(1progamp。 } return prog。 max=ppriority。 max=prog=INT_MIN。 p=ready_qnext。 就緒隊列 return plink。 創(chuàng)建默認 plinknext=amp。pcb[i+1]。iN1。 pcb[i].state=c。\n39。 39。i++){ c=getchar()。 //初始化進程狀態(tài) for(i=0。 printf(\n)。i++) scanf(%d,amp。 //初始化進程阻塞到恢復(fù)就緒時間 for(i=0。 printf(\n)。i++) scanf(%d,amp。 //初始化進程開始阻塞時間 for(i=0。 printf(\n)。i++) scanf(%d,amp。 //初始化進程需要運行時間 for(i=0。 printf(\n)。i++) scanf(%d,amp。 //初始化進程占用cpu時間 for(i=0。 printf(\n)。i++) scanf(%d,amp。 //初始化進程優(yōu)先權(quán) for(i=0。 } printf(\n\n)。i++){ pcb[i].id=i。 //初始化進程id for(i=0。 printf(請初始化%d個進程:\n,N)。 pcb_link plink=(pcb_link)malloc(sizeof(pcb))。//初始化進程 pcb_link initTask(pcb pcb[]){ int i。 //進程狀態(tài) pcb* next。 //進程開始阻塞時間 int blocktime。 //占用cpu時間 int alltime。 //進程id號 int priority。(4)假設(shè)在調(diào)度前,系統(tǒng)中有5個進程,它們的初始狀態(tài)如下:ID01234PRIORITY93830290CPUTIME00000ALLTIME33634STARTBLOCK21111BLOCKTIME30000STATEREADYREADYREADYREADYREADY(5)為了清楚地觀察諸進程的調(diào)度過程,程序應(yīng)將每個時間片內(nèi)的進程的情況顯示出來,參照的具體格式如下:RUNNING PROG: iREADY_QUEUE:id1id2BLOCK_QUEUE:id3id4==================================ID 0 1 2 3 4PRIORITY P0 P1 P2 P3 P4CPUTIME C0 C1 C2 C3 C4ALLTIME A0 A1 A2 A3 A4STARTBLOCK T0 T1 T2 T3 T4BLOCKTIME B0 B1 B2 B3 B4STATE S0 S1 S2 S3 S43 使用動態(tài)優(yōu)先權(quán)的進程調(diào)度算法的模擬(1) :NYNYNY開始創(chuàng)建N個進程并初始化pcb[N]根據(jù)進程狀態(tài)初始化阻塞隊列和就緒隊列在就緒隊列中找出優(yōu)先權(quán)最大的進程運行進程運行完畢即alltime=0刪除該進程運行一個時間片就緒隊列中其他進程優(yōu)先數(shù)prority+1進程運行完畢優(yōu)先數(shù)priority3結(jié)束阻塞就緒轉(zhuǎn)換進程調(diào)入就緒隊列或阻塞隊列 動態(tài)優(yōu)先權(quán)進程調(diào)度流程圖(2) 實驗效果圖:1): 初始化進程狀態(tài)2): 運行結(jié)果(3)實驗關(guān)鍵代碼:define N 5 //默認進程數(shù) int count。二 進程調(diào)度算法模擬1 設(shè)計目的通過動態(tài)優(yōu)先權(quán)算法的模擬加深對進程概念和進程調(diào)度過程的理解。能夠按要求編寫課程設(shè)計報告書,能正確闡述設(shè)計和實驗結(jié)果、正確繪制系統(tǒng)和程序框圖。培養(yǎng)獨立思考,深入研究,分析問題、解決問題的能力。通過課程設(shè)計, 加深對操作系統(tǒng)各資源管理模塊的理解,掌握操作系統(tǒng)的基本原理及功能, 具有初步分析實際操作系統(tǒng)、設(shè)計、構(gòu)造和開發(fā)現(xiàn)代操作系統(tǒng)的基本能力鞏固和加深對操作系統(tǒng)原理的理解,提高綜合運用本課程所學(xué)知識的能力。[鍵入文字]操作系統(tǒng)課程設(shè)計操作系統(tǒng)課程設(shè)計報告時間:201317~2013118地點:信息技術(shù)實驗中心計算機科學(xué)與技術(shù)專業(yè)2010級01班06號賴敏2013118 目錄一 課程設(shè)計的目的和意義 3二 進程調(diào)度算法模擬 31 設(shè)計目的 32 設(shè)計要求 33 使用動態(tài)優(yōu)先權(quán)的進程調(diào)度算法的模擬 4三 動態(tài)分區(qū)分配方式模擬 111 設(shè)計目的 112 設(shè)計要求 113 模擬算法的實現(xiàn) 12 首次適應(yīng)算法 13 最佳適應(yīng)算法 13四 請求調(diào)頁存儲管理方式模擬 181 設(shè)計目的 182 設(shè)計要求 183 模擬算法的實現(xiàn) 18 OPT算法 18 FIFO算法 21 LRU算法 22五 簡單文件系統(tǒng)的實現(xiàn) 241 設(shè)計目的 242 設(shè)計要求 243 模擬算法的實現(xiàn) 25六 總結(jié) 40一 課程設(shè)計的目的和意義操作系統(tǒng)課程設(shè)計是計算機科學(xué)與技術(shù)專業(yè)的重要實踐性教學(xué)環(huán)節(jié)。在進行了專業(yè)基礎(chǔ)課程和操作系統(tǒng)原理課程學(xué)習(xí)的基礎(chǔ)上,設(shè)計或分析一個實際的操作系統(tǒng)旨在加深對計算機硬件結(jié)構(gòu)和系統(tǒng)軟件的認識,初步掌握操作系統(tǒng)組成模塊和應(yīng)用接口的使用方法,提高進行工程設(shè)計和系統(tǒng)分析的能力,為畢業(yè)設(shè)計及以后的工程實踐打下良好的基礎(chǔ)。培養(yǎng)學(xué)生選用參考書,查閱手冊及文獻資料的能力。通過實際操作系統(tǒng)的分析設(shè)計、編程調(diào)試,掌握系統(tǒng)軟件的分析方法和工程設(shè)計方法。通過課程設(shè)計,培養(yǎng)學(xué)生嚴謹?shù)目茖W(xué)態(tài)度,嚴肅認真的工作作風(fēng)和團隊協(xié)作精神。2 設(shè)計要求(1)用C語言來實現(xiàn)對N個進程采用動態(tài)優(yōu)先算法的進程調(diào)度;(2)每個用來標(biāo)識進程的進程控制塊 PCB用結(jié)構(gòu)來描述,包括以下字段:l 進程標(biāo)識符idl 進程優(yōu)先數(shù)priority,并規(guī)定優(yōu)先數(shù)越大的進程,其優(yōu)先權(quán)越高;l 進程已占用的CPU時間cputime ;l 進程還需占用的CPU時間alltime,當(dāng)進程運行完畢時,alltime變?yōu)?;l 進程的阻塞時間startblock,表示當(dāng)進程再運行startblock個時間片后,進程將進入阻塞狀態(tài);l 進程被阻塞的時間blocktime,表示已阻塞的進程再等待blocktime個時間片后,將轉(zhuǎn)換成就緒態(tài)l 進程狀態(tài)state;l 隊列指針next,用來將PCB排成隊列(3)優(yōu)先數(shù)改變的原則:l 進程在就緒隊列中呆一個時間片,優(yōu)先數(shù)增加1l 進程每運行一個時間片,優(yōu)先數(shù)減3。//定義進程結(jié)構(gòu)體 typedef struct pcb{ int id。 //進程優(yōu)先權(quán) int cputime。 //進程運行完成時間 int startblock。 //進程阻塞到恢復(fù)就緒時間 char state。 //指向下一個進程指針}pcb,*pcb_link。 char c。 //就緒隊列創(chuàng)建頭指針 plinknext=NULL。 printf(ID )。iN。 printf(%8d,i)。 printf(PRIORITY )。iN。pcb[i].priority)。 printf(CUPTIME )。iN。pcb[i].cputime)。 printf(ALLTIME )。iN。pcb[i].alltime)。 printf(STARTBLOCK )。iN。pcb[i].startblock)。 printf(BLOCKTIME )。iN。pcb[i].blocktime)。 printf(STATE )。iN。 while(c==39。||c==39。) c=getchar()。 } for(i=0。i++) /* pcb[i].next=amp。 pcb[i].next=NULL。pcb[0]。 */}//在就緒隊列中找到優(yōu)先數(shù)最大的進程 int maxPriority(pcb_link ready_q){ pcb_link p。 int prog,max。 while(p){ if(pprioritymax){ prog=pid。 } p=pnext。} //進程運行函數(shù) void run(pcb_link ready_q,pcb_link block_q,int prog){ pcb_link p,running_p=NULL。amp。 while(p){ if(pid==prog) running_p=p。 //就緒隊列中其他進程priority+1 p=pnext。 /* running_pcputime+=1。 if(running_pstartblock0) running_pstartblock=1。F39。R39。B39。 while(p){ pblocktime=1。R39。 }}//進程調(diào)入或調(diào)出就緒隊列函數(shù) void ready_or_block(pcb_link ready_q,pcb_link block_q,int prog,pcb pcb[]){ pcb_link p,q,ready_end,block_end,t。 p=ready_q。 ready_end=p。 p=block_qnext。R39。 qnext=tnext。 插到就緒隊列尾部 ready_endnext=t。 //修改就緒隊列尾指針 } else q=p。 } block_end=q。amp。 p=ready_qnext。B39。amp。 運行后進程變成阻塞狀態(tài) p=pnext。 pnext=block_endnext。 //修改阻塞隊列尾指針 */ } else if(pcb[prog].state==39。){ while(pid!=progamp。p){ q=p。 } if(pnext){ qnext=pnext。 ready_endnext=p。 while(pid!=progamp。p){ 進程運行完畢 q=p。 并刪除該進程 } qnext=pnext。 //創(chuàng)建進程數(shù)組 pcb_link ready,block。 count=0。 blocknext=NULL。 //初始化進程 printf(\n\n\n
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1