操作系統(tǒng)原理實驗報告new

操作系統(tǒng)原理實驗報告new

ID:14548699

大小:273.50 KB

頁數(shù):17頁

時間:2018-07-29

操作系統(tǒng)原理實驗報告new_第1頁
操作系統(tǒng)原理實驗報告new_第2頁
操作系統(tǒng)原理實驗報告new_第3頁
操作系統(tǒng)原理實驗報告new_第4頁
操作系統(tǒng)原理實驗報告new_第5頁
資源描述:

《操作系統(tǒng)原理實驗報告new》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、操作系統(tǒng)原理期末實驗報告最早截止優(yōu)先(EDF)算法和最低松弛度優(yōu)先(LLF)算法的C語言模擬姓名:學(xué)號:指導(dǎo)老師:專業(yè):17/17實驗?zāi)康模杭由顚崟r調(diào)度的理解,加深對最早截止優(yōu)先算法和最低松弛度優(yōu)先算法的理解,將C語言的學(xué)習(xí)應(yīng)用到實踐。實驗內(nèi)容:本實驗用C語言對兩種實時調(diào)度系統(tǒng)進(jìn)行了模擬。分時調(diào)度系統(tǒng)主要是實現(xiàn)進(jìn)程或任務(wù)調(diào)度的合理分配,既能合理的分配任務(wù),又能滿足用戶對響應(yīng)時間的要求。當(dāng)任務(wù)為實時任務(wù)時,即當(dāng)對任務(wù)完成的截止時間有要求時,分時系統(tǒng)便不能滿足要求。實時調(diào)度是能滿足實時任務(wù)對截止時間的要求的任務(wù)。實時調(diào)度單處理器對進(jìn)程有以下要求:i為進(jìn)程第幾次到來的腳標(biāo),C為進(jìn)程的處理時間

2、,P為進(jìn)程的周期時間。最早截止時間優(yōu)先(EDF)算法是根據(jù)任務(wù)的截止時間來確定任務(wù)的優(yōu)先級。截止時間愈早,優(yōu)先級愈高。該算法要求在系統(tǒng)中保持一個實時任務(wù)就緒隊列,該隊列按各任務(wù)截止時間的早晚排序。具有最早截止時間的任務(wù)排在最前面,最先分配到處理機(jī)。可用于搶占式調(diào)度和非搶占式調(diào)度,可用于周期性實時任務(wù)和非周期性實時任務(wù)。本實驗中用C語言對最早截止優(yōu)先算法用于搶占式周期實時任務(wù)的情況進(jìn)行了模擬。最低松弛度優(yōu)先(LLF)算法是根據(jù)任務(wù)緊急(或松弛)的程度,來確定任務(wù)的優(yōu)先級。任務(wù)的緊急程度愈高,為該任務(wù)所賦予的優(yōu)先級就愈高,使之優(yōu)先執(zhí)行。在實現(xiàn)該算法時要求系統(tǒng)中有一個按松弛度排序的實時任務(wù)就緒

3、隊列,松弛度最低的任務(wù)排在隊列最前面,被優(yōu)先調(diào)度。松弛度的計算方法如下:任務(wù)的松弛度=必須完成的時間-其本身的運行時間-當(dāng)前時間。其中其本身運行的時間指任務(wù)運行結(jié)束還需多少時間,如果任務(wù)已經(jīng)運行了一部分,則:其本身運行時間=任務(wù)的處理時間-任務(wù)已經(jīng)運行的時間。本實驗用C語言對最低松弛度優(yōu)先算法進(jìn)行了模擬。總體設(shè)計:1.最早截止優(yōu)先算法:17/17本程序模擬兩個任務(wù)同時到來時,進(jìn)程依據(jù)最早截止優(yōu)先算法的分配情況。定義了如下變量:IntT,模擬時間,T<=100;Floatm,判斷所要處理的任務(wù)是否滿足單機(jī)處理限制條件;IntA,B,任務(wù)A,B的到達(dá)時間,主要用途是計算任務(wù)A,B的截止時間。

4、截止時間=到達(dá)時間+周期時間;IntcycA,cycB,任務(wù)A,B的周期時間,是需要用戶輸入的信息;IntserveA,serveB,任務(wù)A,B的處理時間,是需要用戶輸入的信息;Inta,b,任務(wù)A,B的下標(biāo),即標(biāo)記任務(wù)A,B是第幾次到來,第幾次執(zhí)行,第幾次結(jié)束;Intnuma,numb,標(biāo)記任務(wù)Ai,Bi的累計執(zhí)行時間,當(dāng)numa=serveA時,任務(wù)A完成,當(dāng)numb=serveB時,任務(wù)B完成。根據(jù)最早截止優(yōu)先算法的規(guī)則,進(jìn)程調(diào)度的過程中有以下五種情況:(1)任務(wù)A,B同時到來,比較二者的截止時間,截止時間早的執(zhí)行,截止時間晚的阻塞;(2)進(jìn)程A順利執(zhí)行完畢,判斷是否有需要執(zhí)行的進(jìn)

5、程B,如果有,執(zhí)行;(3)進(jìn)程B順利執(zhí)行完畢,判斷是否有需要執(zhí)行的進(jìn)程A,如果有,執(zhí)行;(4)進(jìn)程A執(zhí)行過程中,有新的進(jìn)程B產(chǎn)生,比較正在執(zhí)行的進(jìn)程A和新產(chǎn)生的進(jìn)程B的截止時間,執(zhí)行截止時間早的,阻塞截止時間晚的;(5)進(jìn)程B執(zhí)行過程中,有新的進(jìn)程A產(chǎn)生,比較正在執(zhí)行的進(jìn)程B和新產(chǎn)生的進(jìn)程A的截止時間,執(zhí)行截止時間早的,阻塞截止時間晚的。17/17判斷是否滿足單機(jī)實時系統(tǒng)的限制條件否退出流程圖如下:是A,B同時產(chǎn)生,比較截止時間,執(zhí)行截止時間早的,阻塞截止時間晚的執(zhí)行A,阻塞B執(zhí)行B,阻塞AB順利執(zhí)行完,執(zhí)行可執(zhí)行的AB執(zhí)行的過程中產(chǎn)生新的A,判斷是阻塞B還是繼續(xù)執(zhí)行BA順利執(zhí)行完,執(zhí)行

6、可執(zhí)行的BA執(zhí)行的過程中產(chǎn)生新的B,判斷是阻塞A還是繼續(xù)執(zhí)行A等待新進(jìn)程的到來執(zhí)行A執(zhí)行B,阻塞A執(zhí)行B,阻塞A執(zhí)行A,阻塞B執(zhí)行A,阻塞B等待新進(jìn)程的到來執(zhí)行B直到T>100,結(jié)束。17/17因此本程序?qū)懥宋鍌€if語句,實現(xiàn)以上五種情況對進(jìn)程執(zhí)行的控制。if(numa==serveA)//進(jìn)程A完成{numa=serveA+1;printf("當(dāng)T=%d時",T);printf("進(jìn)程A%d結(jié)束",a);if(numb

7、b=serveB+1;printf("當(dāng)T=%d時",T);printf("進(jìn)程B%d結(jié)束",b);if(numa

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

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

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