操作系統(tǒng)進(jìn)程調(diào)度實(shí)驗(yàn)報(bào)告(共19頁(yè)).doc
《操作系統(tǒng)進(jìn)程調(diào)度實(shí)驗(yàn)報(bào)告(共19頁(yè)).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《操作系統(tǒng)進(jìn)程調(diào)度實(shí)驗(yàn)報(bào)告(共19頁(yè)).doc(19頁(yè)珍藏版)》請(qǐng)?jiān)趨R文網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 計(jì)算機(jī) 學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè) 班姓名 學(xué)號(hào) 教師評(píng)定_實(shí)驗(yàn)題目 進(jìn)程調(diào)度 一、 實(shí)驗(yàn)?zāi)康挠酶呒?jí)語(yǔ)言編寫和調(diào)試一個(gè)進(jìn)程調(diào)度程序,以加深對(duì)進(jìn)程的概念及進(jìn)程調(diào)度算法的理解。二、實(shí)驗(yàn)內(nèi)容和要求設(shè)計(jì)一個(gè)有N個(gè)進(jìn)程并發(fā)的進(jìn)程調(diào)度程序,要采用FIFO(先進(jìn)先出)、簡(jiǎn)單時(shí)間片輪轉(zhuǎn)法、多級(jí)反饋隊(duì)列調(diào)度算法這三種算法。每個(gè)進(jìn)程有一個(gè)進(jìn)程控制塊( PCB)表示。進(jìn)程控制塊可以包含如下信息:進(jìn)程名、到達(dá)時(shí)間、需要運(yùn)行時(shí)間、已運(yùn)行時(shí)間、進(jìn)程狀態(tài)等等。 進(jìn)程的到達(dá)時(shí)間及需要的運(yùn)行時(shí)間可以事先人為地指定(也可以由隨機(jī)數(shù)產(chǎn)生)。進(jìn)程的運(yùn)行時(shí)間以時(shí)間片為單位進(jìn)行計(jì)算。 每個(gè)進(jìn)程的狀態(tài)可以是就
2、緒 W(Wait)、運(yùn)行R(Run)、或完成F(Finish)三種狀態(tài)之一。就緒進(jìn)程獲得 CPU后都只能運(yùn)行一個(gè)時(shí)間片。用已占用CPU時(shí)間加1來(lái)表示。 如果運(yùn)行一個(gè)時(shí)間片后,進(jìn)程的已占用 CPU時(shí)間已達(dá)到所需要的運(yùn)行時(shí)間,則撤消該進(jìn)程,如果運(yùn)行一個(gè)時(shí)間片后進(jìn)程的已占用CPU時(shí)間還未達(dá)所需要的運(yùn)行時(shí)間,也就是進(jìn)程還需要繼續(xù)運(yùn)行,此時(shí)應(yīng)分配時(shí)間片給就緒隊(duì)列中排在該進(jìn)程之后的進(jìn)程,并將它插入就緒隊(duì)列隊(duì)尾。 每進(jìn)行一次調(diào)度程序都打印一次運(yùn)行進(jìn)程、就緒隊(duì)列、以及各個(gè)進(jìn)程的 PCB,以便進(jìn)行檢查。重復(fù)以上過(guò)程,直到所要進(jìn)程都完成為止。三、實(shí)驗(yàn)原理及設(shè)計(jì)方案1、FIFO算法:其基本思想是所有進(jìn)程按先進(jìn)來(lái)就排
3、在前頭,一個(gè)一個(gè)往后接下去的順序排成一個(gè)隊(duì)列,總是把全部的處理機(jī)分配給先進(jìn)來(lái)的進(jìn)程,然后等待它運(yùn)行完,釋放CPU資源,把處理機(jī)重新分配給下一個(gè)先進(jìn)來(lái)的進(jìn)程。直至所有的進(jìn)程運(yùn)行完畢。2、輪轉(zhuǎn)法:所有就緒進(jìn)程按FCFS排成一個(gè)隊(duì)列,總是把處理機(jī)分配給隊(duì)首的進(jìn)程,各進(jìn)程占用CPU的時(shí)間片相同。如果運(yùn)行進(jìn)程用完它的時(shí)間片后還未完成,就把它送回到就緒隊(duì)列的隊(duì)尾,把處理機(jī)重新分配給隊(duì)首的進(jìn)程。直至所有的進(jìn)程運(yùn)行完畢。3、多級(jí)反饋隊(duì)列調(diào)度算法。其基本思想是:當(dāng)一個(gè)新進(jìn)程進(jìn)入內(nèi)在后,首先將它放入第一個(gè)隊(duì)列的末尾,按FCFS原則排隊(duì)等待調(diào)度。當(dāng)輪到該進(jìn)程執(zhí)行時(shí),如能在該時(shí)間片內(nèi)完成,便可準(zhǔn)備撤離系統(tǒng);如果它在一
4、個(gè)時(shí)間片結(jié)束時(shí)尚為完成,調(diào)度程序便將該進(jìn)程轉(zhuǎn)入第二隊(duì)列的末尾,再同樣地按FCFS原則等待調(diào)度執(zhí)行,以此類推。四、流程圖1.FIFO和輪轉(zhuǎn)法:開(kāi)始初始化PCB,輸入進(jìn)程信息各進(jìn)程按到達(dá)到時(shí)間先后順序排成一個(gè)隊(duì)列就緒隊(duì)列為空?就緒隊(duì)列首進(jìn)程投入運(yùn)行時(shí)間片到,運(yùn)行進(jìn)程運(yùn)行時(shí)間+1i=1 or i=2選擇算法i=1或i=2i=1FIFOs算法時(shí)間輪轉(zhuǎn)法i=2Ni=1i=2運(yùn)行時(shí)間是否小于所需要時(shí)間Y執(zhí)行進(jìn)程進(jìn)程執(zhí)行完畢,調(diào)度下一進(jìn)程運(yùn)行時(shí)間是否等于所需時(shí)間YN將該進(jìn)程放到就緒隊(duì)列的隊(duì)尾,再等待激發(fā)執(zhí)行下一個(gè)進(jìn)程結(jié)束2、多級(jí)反饋隊(duì)列算法:開(kāi)始運(yùn)行時(shí)間是否到達(dá)所需時(shí)間Y進(jìn)程完成,撤銷該進(jìn)程Y將該進(jìn)程插入到
5、下一個(gè)就緒隊(duì)列的隊(duì)尾初始化PCB,輸入進(jìn)程信息各進(jìn)程按到達(dá)時(shí)間先后順序排列就緒隊(duì)列i空N就緒隊(duì)列首進(jìn)程投入運(yùn)行當(dāng)前就緒隊(duì)列時(shí)間片到,運(yùn)行時(shí)間+時(shí)間片N指向下一個(gè)就緒隊(duì)列就緒隊(duì)列i空?結(jié)束Y五、給出程序中源程序名和執(zhí)行程序名1、FIFO和時(shí)間輪轉(zhuǎn)法源程序名:FIFO lunzhuan,執(zhí)行程序名:FIFO AND LUNZHUAN.CPP2、多級(jí)反饋隊(duì)列源程序名:duoji,執(zhí)行程序名:d.cpp六、程序清單1.FIFO 和時(shí)間輪轉(zhuǎn)#include <stdio.h>#include <stdlib.h>#include <conio.h> #define g
6、etpch(type) (type*)malloc(sizeof(type)/*用getpcb(type)給type類型的變量申請(qǐng)一個(gè)空間*/struct pcb /*定義進(jìn)程控制塊PCB */char name10; /*進(jìn)程名*/char state; /*進(jìn)程狀態(tài)*/int ntime; /*進(jìn)程需要運(yùn)行時(shí)間*/int rtime; /*進(jìn)程已經(jīng)運(yùn)行的時(shí)間*/struct pcb *link; /*定義了一個(gè)指向pcb結(jié)構(gòu)類型的指針link作為自己的成員函數(shù)*/*ready=NULL,*p; /*定義了兩個(gè)指向pcb結(jié)構(gòu)類型的指針ready和p ,ready的初值為空*/typedef
7、struct pcb PCB; /*定義PCB為struct pcb的別名*/void sort() /*對(duì)進(jìn)程進(jìn)行輪轉(zhuǎn)調(diào)度排列函數(shù) */ PCB *first; if(ready=NULL) /*如果就緒隊(duì)列為空*/ ready=p; /*將新建進(jìn)程放入就緒隊(duì)列中,將ready指向隊(duì)首進(jìn)程 */ else /*就緒隊(duì)列中有進(jìn)程在等待,將新建進(jìn)程插入到隊(duì)尾 */ first=ready; /*first指針指向隊(duì)首進(jìn)程 */while(first->link!=NULL) first=first->link; /*當(dāng)first指針沒(méi)有指向隊(duì)尾時(shí),指針后移 */first->l
- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 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文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 操作系統(tǒng) 進(jìn)程 調(diào)度 實(shí)驗(yàn) 報(bào)告 19
鏈接地址:http://zhizhaikeji.com/p-7055337.html