最早期限優(yōu)先調(diào)度算法(EDF)實(shí)驗(yàn)報(bào)告

最早期限優(yōu)先調(diào)度算法(EDF)實(shí)驗(yàn)報(bào)告

ID:38792885

大小:102.08 KB

頁(yè)數(shù):8頁(yè)

時(shí)間:2019-06-19

最早期限優(yōu)先調(diào)度算法(EDF)實(shí)驗(yàn)報(bào)告_第1頁(yè)
最早期限優(yōu)先調(diào)度算法(EDF)實(shí)驗(yàn)報(bào)告_第2頁(yè)
最早期限優(yōu)先調(diào)度算法(EDF)實(shí)驗(yàn)報(bào)告_第3頁(yè)
最早期限優(yōu)先調(diào)度算法(EDF)實(shí)驗(yàn)報(bào)告_第4頁(yè)
最早期限優(yōu)先調(diào)度算法(EDF)實(shí)驗(yàn)報(bào)告_第5頁(yè)
資源描述:

《最早期限優(yōu)先調(diào)度算法(EDF)實(shí)驗(yàn)報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:最早期限優(yōu)先調(diào)度算法(EDF)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?)了解實(shí)時(shí)調(diào)度,了解最早截止期優(yōu)先算法(EDF算法);2)使用C語(yǔ)言實(shí)現(xiàn)最早截止期優(yōu)先算法(EDF算法);3)計(jì)算多個(gè)任務(wù)的調(diào)度順序。二、實(shí)驗(yàn)原理最早截止期優(yōu)先算法(EDF),也稱為最早死限調(diào)度算法(DDS),是一種采用動(dòng)態(tài)調(diào)度的優(yōu)先級(jí)調(diào)度算法,任務(wù)的優(yōu)先級(jí)根據(jù)任務(wù)的截止時(shí)間來(lái)確定。任務(wù)的截止時(shí)間越近,任務(wù)的優(yōu)先級(jí)越高;任務(wù)的截止時(shí)間越遠(yuǎn),任務(wù)額優(yōu)先級(jí)越低。當(dāng)有新的任務(wù)處于就緒狀態(tài)時(shí),任務(wù)的優(yōu)先級(jí)就有可能需要進(jìn)行調(diào)整。EDF算法的測(cè)試如果所有的任務(wù)都是

2、周期性的,并且對(duì)應(yīng)的時(shí)間限等于它們的周期,對(duì)任務(wù)集的調(diào)度性的測(cè)試是非常簡(jiǎn)單的:如果任務(wù)集的總利用率不大于1,那么任務(wù)集就可以由EDF算法在一個(gè)單處理器上進(jìn)行合理的調(diào)度。對(duì)于那些任務(wù)的時(shí)間限并不全等于其周期的情況,沒(méi)有簡(jiǎn)答的調(diào)度性測(cè)試。在這樣的情況下,需要使用EDF算法生成一個(gè)時(shí)間表,來(lái)判斷是不是在一個(gè)給定的時(shí)間區(qū)間內(nèi)所有的時(shí)間限都被滿足。在這種情況下EDF的一個(gè)可調(diào)度性測(cè)試如下:定義u=i=1n(ei/Pi),dmax=max1≤i≤n{di}以及P=lcm(P1,…Pn)(這里的“l(fā)cm”表示最小公倍數(shù))。定義hT

3、(t)是任務(wù)集T中所有滿足其時(shí)間限的絕對(duì)值小魚(yú)t的任務(wù)執(zhí)行時(shí)間之和。一個(gè)由n個(gè)任務(wù)構(gòu)成的集合不是可行的EDF的充分必要條件是:u>1或存在某個(gè)tt(其中n為任務(wù)集中任務(wù)的數(shù)量;ei為任務(wù)Ti的執(zhí)行時(shí)間;Pi為周期任務(wù)的周期;di為任務(wù)Ti的相對(duì)時(shí)間限;hTt為在絕對(duì)時(shí)間不遲于t的任務(wù)集合T中,所有重復(fù)的任務(wù)執(zhí)行時(shí)間和。)三、實(shí)驗(yàn)儀器硬件:PC機(jī);軟件:Windows7,VisualStudio2010集成開(kāi)發(fā)環(huán)境一、實(shí)驗(yàn)步驟1)理解EDF調(diào)度

4、算法的原理并通過(guò)實(shí)例用EDF算法判斷多任務(wù)的調(diào)度順序。2)新建EDF.h頭文件,在其中定義變量,結(jié)構(gòu)體,函數(shù)。3)新建input.c文件,用input函數(shù)從鍵盤(pán)獲取多個(gè)任務(wù)的名稱、執(zhí)行時(shí)間、周期和釋放時(shí)間,將任務(wù)分成一個(gè)個(gè)時(shí)間片存在數(shù)組中,并輸出數(shù)組和各時(shí)間片屬性。4)新建edf.c文件,用EDF函數(shù)將數(shù)組中的時(shí)間片根據(jù)截止時(shí)間的大小從小到大進(jìn)行排序,輸出它們的截止時(shí)間排序,再判斷是否可調(diào)度,若是不可調(diào)度輸出“不可調(diào)度!”,若是可調(diào)度輸出調(diào)度順序。5)新建main.c文件,在其中調(diào)用input函數(shù)和EDF函數(shù)。6)編

5、譯運(yùn)行程序,輸入多個(gè)任務(wù)調(diào)試程序至結(jié)果無(wú)誤。7)對(duì)實(shí)驗(yàn)進(jìn)行分析、反思,與同學(xué)討論。二、實(shí)驗(yàn)結(jié)果程序完成后,輸入了多種情況進(jìn)行驗(yàn)證,運(yùn)行結(jié)果正確,符合按照最早截止期優(yōu)先算法得出的結(jié)果。1)不可調(diào)度當(dāng)五個(gè)任務(wù)的執(zhí)行時(shí)間和周期都為1時(shí),是不可調(diào)度的。(由EDF算法的測(cè)試可知)2)可調(diào)度當(dāng)五個(gè)任務(wù)的執(zhí)行時(shí)間和周期分別為1、3,2、12,1、6,1、4,3、20,釋放時(shí)間分別為0,1,0,1,0時(shí),是可調(diào)度的。結(jié)果如下:一、實(shí)驗(yàn)分析與討論1)編程前要理解清楚算法。對(duì)算法理解不清就編寫(xiě)代碼實(shí)現(xiàn),那么寫(xiě)出來(lái)的程序與計(jì)算出來(lái)的結(jié)果會(huì)

6、不一致、運(yùn)行不正確。重新理解算法,調(diào)試程序,會(huì)造成不必要的時(shí)間浪費(fèi)。2)實(shí)驗(yàn)前一定要做好實(shí)驗(yàn)設(shè)計(jì)。如變量設(shè)置,功能語(yǔ)句設(shè)計(jì)等。否則在編寫(xiě)程序的過(guò)程中容易出現(xiàn)思維邏輯不清晰,無(wú)法繼續(xù)實(shí)現(xiàn)必需功能的問(wèn)題。這樣仍然會(huì)造成不必要的時(shí)間浪費(fèi)。附:源代碼//EDF.h#include#include#definen5intnumber;intschedule[1000][2];intFS[1000][2];structProgram{intname;intrun;intperiod;int

7、release;}A[1000];voidInput();voidEDF();//input.c/*************輸入*************/#include"EDF.h"voidInput(){//programA[n];chars;inti,j,k;intname,run,period,release;number=0;for(i=0;i<5;i++)/*i是任務(wù)個(gè)數(shù)*/{????????????????printf("Program'sname,Executiontime,Period(=Dead

8、line),Releasetime:");????????????????scanf("%d%d%d%d",&name,&run,&period,&release);????????????????k=0;????????????????while(k<5)/*k是周期數(shù)*/????????????????{??????????????????

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。