操作系統(tǒng)---進(jìn)程調(diào)度算法的模擬(共11頁).doc
《操作系統(tǒng)---進(jìn)程調(diào)度算法的模擬(共11頁).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《操作系統(tǒng)---進(jìn)程調(diào)度算法的模擬(共11頁).doc(12頁珍藏版)》請(qǐng)?jiān)趨R文網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-傾情為你奉上操作系統(tǒng)實(shí)驗(yàn)題目進(jìn)程調(diào)度算法模擬一、實(shí)驗(yàn)?zāi)康?通過對(duì)進(jìn)程調(diào)度算法的模擬,進(jìn)一步理解進(jìn)程的基本概念,加深對(duì)進(jìn)程運(yùn)行狀態(tài)和進(jìn)程調(diào)度過程、調(diào)度算法的理解。二、設(shè)備與環(huán)境(1)硬件設(shè)備:PC機(jī)一臺(tái)(2)軟件環(huán)境:安裝Windows操作系統(tǒng)或者Linux操作系統(tǒng),并安裝相關(guān)的程序開發(fā)環(huán)境,如C C+Java 等編程語言環(huán)境。三、實(shí)驗(yàn)內(nèi)容(1)用C、C+、Java語言編程實(shí)現(xiàn)對(duì)5個(gè)進(jìn)程采用動(dòng)態(tài)優(yōu)先權(quán)調(diào)度算法進(jìn)行調(diào)度的過程。數(shù)據(jù)如下:5個(gè)進(jìn)程的到達(dá)時(shí)刻和服務(wù)時(shí)間見下表,忽略I/O以及其它開銷時(shí)間,使用動(dòng)態(tài)優(yōu)先權(quán)算法進(jìn)行調(diào)度,優(yōu)先權(quán)初始值為100,請(qǐng)輸出各個(gè)進(jìn)程的完成時(shí)刻、周轉(zhuǎn)時(shí)間、
2、帶權(quán)周轉(zhuǎn)時(shí)間。 進(jìn)程到達(dá)時(shí)刻服務(wù)時(shí)間A03B26C44D65E82(2)每個(gè)用來標(biāo)識(shí)進(jìn)程的進(jìn)程控制塊PCB可用結(jié)構(gòu)來描述,包括以下字段(用不到的字段可以不定義)。² 進(jìn)程標(biāo)識(shí)數(shù)ID。² 進(jìn)程優(yōu)先數(shù)PRIORITY,并規(guī)定優(yōu)先數(shù)越大的進(jìn)程,其優(yōu)先權(quán)越高。² 進(jìn)程已占用CPU時(shí)間CPUTIME。² 進(jìn)程還需占用的CPU時(shí)間ALLTIME。當(dāng)進(jìn)程運(yùn)行完畢時(shí),ALLTIME變?yōu)?。² 進(jìn)程的阻塞時(shí)間STARTBLOCK,表示當(dāng)進(jìn)程再運(yùn)行STARTBLOCK個(gè)時(shí)間片后,進(jìn)程將進(jìn)入阻塞狀態(tài)。² 進(jìn)程被阻塞的時(shí)間BLOCKTIME,表示已阻塞的進(jìn)程
3、再等待BLOCKTIME個(gè)時(shí)間片后,將轉(zhuǎn)換成就緒狀態(tài)。² 進(jìn)程狀態(tài)STATE。² 隊(duì)列指針NEXT,用來將PCB排成隊(duì)列。(3)優(yōu)先數(shù)改變的原則:² 進(jìn)程在就緒隊(duì)列中呆一個(gè)時(shí)間片,優(yōu)先數(shù)增加1。² 進(jìn)程每運(yùn)行一個(gè)時(shí)間片,優(yōu)先數(shù)減3。(4)為了清楚地觀察每個(gè)進(jìn)程的調(diào)度過程,程序應(yīng)將每個(gè)時(shí)間片內(nèi)的進(jìn)程的情況顯示出來,包括正在運(yùn)行的進(jìn)程,處于就緒隊(duì)列中的進(jìn)程和處于阻塞隊(duì)列中的進(jìn)程。(5)分析程序運(yùn)行的結(jié)果,談一下自己的認(rèn)識(shí)。四、實(shí)驗(yàn)結(jié)果及分析(1)實(shí)驗(yàn)關(guān)鍵代碼 模擬PCB數(shù)據(jù)結(jié)構(gòu)定義: /枚舉進(jìn)程的狀態(tài):新建、就緒、執(zhí)行、阻塞、終止 enum STATE_PR
4、OCESS New,Ready,Run,Block,Finish; typedef enum STATE_PROCESS STATE; /建立PCB結(jié)構(gòu)體 struct PCB_NODE int id; /進(jìn)程標(biāo)識(shí)數(shù) int priority; /進(jìn)程優(yōu)先數(shù) int arriveTime; /進(jìn)程到達(dá)時(shí)間 int cpuTime; /進(jìn)程已占用 CPU 時(shí)間 int allTime; /進(jìn)程還需占用 CPU 時(shí)間 int blockTime; /進(jìn)程已阻塞時(shí)間 STATE state; /進(jìn)程狀態(tài) struct PCB_NODE *prev; /PCB 前指針 struct PCB_NODE
5、*next; /PCB 后指針 ; typedef struct PCB_NODE PCB; 模擬進(jìn)程隊(duì)列操作函數(shù)定義: /進(jìn)程入列 void queuePush(PCB *process, PCB *queueHead) /進(jìn)程出列 void queuePop(PCB *process, PCB *queueHead) /查看隊(duì)列中進(jìn)程信息 void queueWalk(PCB *queueHead) 模擬就緒隊(duì)列操作函數(shù)定義: /進(jìn)程插入到就緒隊(duì)列 void readyQueuePush(PCB *process) /優(yōu)先數(shù)最大的進(jìn)程出列 PCB * readyQueuePop() /每個(gè)
- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
20 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 操作系統(tǒng) 進(jìn)程 調(diào)度 算法 模擬 11