資源描述:
《課程設(shè)計(jì):采用高響應(yīng)比算法的進(jìn)程調(diào)度程序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、摘要島相應(yīng)比算法是綜合先來先服務(wù)和最短作業(yè)優(yōu)先的一種算法,既考慮作業(yè)的執(zhí)行時(shí)間也考慮作業(yè)的等待時(shí)間,綜合了先來先服務(wù)和最短作業(yè)優(yōu)先兩種算法的特點(diǎn)優(yōu)點(diǎn)是:短作業(yè)與先后次序的兼顧,且不會(huì)使長(zhǎng)作業(yè)長(zhǎng)期得不到服務(wù),不足的是響應(yīng)比計(jì)算系統(tǒng)開銷,增加系統(tǒng)開銷。短作業(yè)優(yōu)先調(diào)度算法+動(dòng)態(tài)優(yōu)先權(quán)機(jī)制該算法屮的響應(yīng)比是指作業(yè)等待時(shí)間與運(yùn)行比伉,響應(yīng)比公式定義如下.?響應(yīng)比=(等待時(shí)間+要求服務(wù)時(shí)間)/要求服務(wù)時(shí)間,SPRR=(w+s)/s=l+w/s,因此響應(yīng)比一定是大于丨的目錄1.概&32.課程設(shè)計(jì)任務(wù)及要求42.1設(shè)計(jì)任
2、務(wù)42.2設(shè)計(jì)要求(多道、單處理機(jī)):43.算法及數(shù)據(jù)結(jié)構(gòu)53.1算法的總體思想53.2進(jìn)程控制塊53.3主函數(shù)模塊73.4界面模塊84.程序設(shè)計(jì)與實(shí)現(xiàn)104.1程序流程圖104.2程序代碼(要注釋)104.3實(shí)驗(yàn)結(jié)果205.組侖226.收獲、體會(huì)和建議。237.參考文獻(xiàn)。241.概述操作系統(tǒng)系統(tǒng)在計(jì)算機(jī)中占據(jù)了十分重要的作用,它是配罝在計(jì)算機(jī)硬件上的第一層軟件,是計(jì)算機(jī)系統(tǒng)資源的管理者,在OS的幫助下計(jì)算機(jī)可以方便、快捷、安全地操縱計(jì)算機(jī)硬件和運(yùn)行A□的程序,實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象。在多道程序運(yùn)行的環(huán)
3、境下,人們引入了“進(jìn)程”對(duì)并發(fā)執(zhí)行的程序加以描述和控制。程序執(zhí)行時(shí),會(huì)有多個(gè)進(jìn)程進(jìn)入內(nèi)存,而進(jìn)程的數(shù)目往往多于處理機(jī)的數(shù)目,此時(shí)就需要有個(gè)很優(yōu)化的調(diào)度算法,動(dòng)態(tài)的把處理機(jī)分配給就緒隊(duì)列屮的進(jìn)程,以提高處理機(jī)的利用率及改善系統(tǒng)的性能。在批處理系統(tǒng)屮,短作業(yè)優(yōu)先算法是一種比較好的算法,但是不足之處是長(zhǎng)作業(yè)得不到保證。而高響應(yīng)比優(yōu)先就解決了這個(gè)難題。在多道程序和多任務(wù)系統(tǒng)中,系統(tǒng)內(nèi)同時(shí)處于就緒狀態(tài)的進(jìn)程可能有若干個(gè),且進(jìn)程之間也存在著同步與互斥的關(guān)系,要求采用指定的調(diào)度策略,使系統(tǒng)中的進(jìn)程有條不紊地工作,通過觀
4、察諸進(jìn)程的運(yùn)行過程,以鞏同和加深處理機(jī)調(diào)度的概念2.課程設(shè)計(jì)任務(wù)及要求2.1設(shè)計(jì)任務(wù)黎健榮:查閱資料,詳細(xì)了解高響應(yīng)比算法,C++MFC知識(shí),做出界面及算法代碼,測(cè)試調(diào)試程序,完成課程設(shè)計(jì)報(bào)告。課程設(shè)計(jì)時(shí)間工作進(jìn)程12月24日上午詳細(xì)了解高進(jìn)程響應(yīng)比算法12月24日下午初步設(shè)計(jì)界面及代碼設(shè)計(jì)12月25日上午代碼設(shè)計(jì)及查閱參考資料12月25日下午代碼設(shè)計(jì)12月26日上午完成課程設(shè)計(jì)報(bào)告2.2設(shè)計(jì)要求(多道、單處理機(jī)):1)每一個(gè)進(jìn)程有一個(gè)PCB,其IA)容可以根裾具體情況設(shè)定。2)可以在界而設(shè)定的互斥資源(
5、包括兩種:輸入設(shè)備與輸出設(shè)備)的數(shù)目3)進(jìn)程數(shù)、進(jìn)入內(nèi)存時(shí)間、要求服務(wù)時(shí)間可以在界面上進(jìn)行設(shè)定4)進(jìn)程之間存在一定的同步與互斥關(guān)系,可以通過界面進(jìn)行設(shè)定,其表示方法如下:進(jìn)程的服務(wù)時(shí)間由三段組成:I2C1005(表示進(jìn)程的服務(wù)吋間由2個(gè)吋間片的輸入,10個(gè)時(shí)間片的計(jì)算,5個(gè)時(shí)間片的輸出)進(jìn)程間的同步關(guān)系用一個(gè)段表示:W2,表示該進(jìn)程先要等待P2進(jìn)程執(zhí)行結(jié)束后才可以運(yùn)行因此,進(jìn)程間的同步與互斥關(guān)系、服務(wù)時(shí)間可以統(tǒng)一川叫段表示為:T2C1005W25)可以在運(yùn)行中顯示各進(jìn)程的狀態(tài):就緒、阻塞、執(zhí)行6)采用可視
6、化界而,可在進(jìn)程調(diào)度過程中隨時(shí)暫停凋度,查看當(dāng)前進(jìn)程的狀態(tài)以及相應(yīng)的阻塞隊(duì)列7)具有一定的數(shù)據(jù)容錯(cuò)性//進(jìn)程控制塊//進(jìn)程號(hào)"狀態(tài)//到達(dá)時(shí)間//輸入時(shí)間//剩余計(jì)算時(shí)間2.算法及數(shù)據(jù)結(jié)構(gòu)3.1算法的總體思想檢查輸入、運(yùn)行、完成情況刪除相應(yīng)進(jìn)程用p->state標(biāo)記個(gè)進(jìn)程運(yùn)行的狀態(tài)3.2進(jìn)程控制塊3.2.1功能進(jìn)程的結(jié)構(gòu)體聲明與函數(shù)的聲明3.2.2數(shù)據(jù)結(jié)構(gòu)typedefstructPCB{CStringid;CStringstate;intatime;intintime;intctime;intotime
7、;//輸出時(shí)間intfinitime;//完成吋間intstime;//開始運(yùn)行時(shí)間intcomtime;//計(jì)算時(shí)間CStringsamepace;structPCB*next;}PCB;隊(duì)列類內(nèi)的一些主要成員和成員函數(shù):classCLinkqueue{//刪除進(jìn)程//將隊(duì)列加入進(jìn)程//得到高響應(yīng)比較高的進(jìn)程//判斷隊(duì)列是否為空voidDeleteP(PCB*p);voidEnQueue(PCB*p);PCB*FrontPointer();//voidCLinkqueue::GetHRN();intQu
8、eueEmpty()const;voidEnQueue(CStringid,intloadtime,intintime,intctime,intotime,CStringsamepace,CStringstate);//進(jìn)程控制信息加入隊(duì)列PCB*GetFrontPointer()const;PCB*CheckId(CStringid);intGetquequeLength()const;//得到隊(duì)頭結(jié)點(diǎn)//查找進(jìn)程號(hào)為ID的