資源描述:
《采用短作業(yè)優(yōu)先算法的進(jìn)程調(diào)度程序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、青島理工大學(xué)操作系統(tǒng)課程設(shè)計(jì)報(bào)告院(系):計(jì)算機(jī)工程學(xué)院專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生姓名:于洋 班級(jí):網(wǎng)絡(luò)092學(xué)號(hào):200907125題目:短作業(yè)優(yōu)先調(diào)度算法的進(jìn)程調(diào)度程序起迄日期:2012.7.1到2012.7.11_ 設(shè)計(jì)地點(diǎn): 實(shí)驗(yàn)中心101室 指導(dǎo)教師:鞏玉璽2011—2012年度第2學(xué)期完成日期:2012年7月10日一、課程設(shè)計(jì)目的進(jìn)行操作系統(tǒng)課程設(shè)計(jì)主要是在學(xué)習(xí)操作系統(tǒng)課程的基礎(chǔ)上,在完成操作系統(tǒng)各部分實(shí)驗(yàn)的基礎(chǔ)上,對(duì)操作系統(tǒng)的整體進(jìn)行一個(gè)模擬,通過實(shí)踐加深對(duì)各個(gè)部分的管理功能的認(rèn)識(shí),還能進(jìn)一步分析
2、各個(gè)部分之間的聯(lián)系,最后達(dá)到對(duì)完整系統(tǒng)的理解。根據(jù)課堂講授內(nèi)容,學(xué)生做相應(yīng)的自主練習(xí),消化課堂所講解的內(nèi)容;通過調(diào)試典型例題或習(xí)題積累調(diào)試java程序的經(jīng)驗(yàn);通過完成輔導(dǎo)教材中的編程題,逐漸培養(yǎng)學(xué)生的編程能力、用計(jì)算機(jī)解決實(shí)際問題的能力。同時(shí),可以提高運(yùn)用操作系統(tǒng)知識(shí)解決實(shí)際問題的能力;鍛煉實(shí)際的編程能力、開發(fā)軟件的能力;還能提高調(diào)查研究、查閱技術(shù)文獻(xiàn)、資料以及編寫軟件設(shè)計(jì)文檔的能力。最后了解它是如何組織和運(yùn)作的,對(duì)操作系統(tǒng)的核心概念和算法有一個(gè)透徹的理解,并對(duì)系統(tǒng)運(yùn)行的機(jī)制有一個(gè)全面的掌握,從而充分理解系統(tǒng)調(diào)用與
3、程序設(shè)計(jì)之間的關(guān)系二、課程設(shè)計(jì)內(nèi)容與要求設(shè)計(jì)目的:在多道程序和多任務(wù)系統(tǒng)中,系統(tǒng)內(nèi)同時(shí)處于就緒狀態(tài)的進(jìn)程可能有若干個(gè),且進(jìn)程之間也存在著同步與互斥的關(guān)系,要求采用指定的調(diào)度策略,使系統(tǒng)中的進(jìn)程有條不紊地工作,通過觀察諸進(jìn)程的運(yùn)行過程,以鞏固和加深處理機(jī)調(diào)度的概念。2、設(shè)計(jì)要求(多道、單處理機(jī)):1)每一個(gè)進(jìn)程有一個(gè)PCB,其內(nèi)容可以根據(jù)具體情況設(shè)定。2)可以在界面設(shè)定的互斥資源(包括兩種:輸入設(shè)備與輸出設(shè)備)的數(shù)目3)進(jìn)程數(shù)、進(jìn)入內(nèi)存時(shí)間、要求服務(wù)時(shí)間可以在界面上進(jìn)行設(shè)定4)進(jìn)程之間存在一定的同步與互斥關(guān)系,可以通
4、過界面進(jìn)行設(shè)定,其表示方法如下:進(jìn)程的服務(wù)時(shí)間由三段組成:I2C10O5(表示進(jìn)程的服務(wù)時(shí)間由2個(gè)時(shí)間片的輸入,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)一用四段表示為:I2C10O5W25)可以在運(yùn)行中顯示各進(jìn)程的狀態(tài):就緒、阻塞、執(zhí)行6)采用可視化界面,可在進(jìn)程調(diào)度過程中隨時(shí)暫停調(diào)度,查看當(dāng)前進(jìn)程的狀態(tài)以及相應(yīng)的阻塞隊(duì)列7)具有一定的數(shù)據(jù)容錯(cuò)性三、系統(tǒng)分析與設(shè)計(jì)1、系統(tǒng)分析本系統(tǒng)主要是采用短
5、作業(yè)優(yōu)先算法進(jìn)程的進(jìn)程調(diào)度過程。短作業(yè)優(yōu)先調(diào)度算法,是指對(duì)短作業(yè)或短進(jìn)程優(yōu)先調(diào)度的算法。他們可以分別用于作業(yè)調(diào)度和進(jìn)程調(diào)度,短作業(yè)優(yōu)先的調(diào)度算法是從后備隊(duì)列中選擇一個(gè)或若干個(gè)估計(jì)運(yùn)行(服務(wù))時(shí)間最短的作業(yè),將他們調(diào)入內(nèi)存運(yùn)行。而短進(jìn)程優(yōu)先調(diào)度算法則是從就緒隊(duì)列中選出一個(gè)估計(jì)運(yùn)行時(shí)間最短的進(jìn)程,將處理機(jī)分配給他,,使它立即執(zhí)行并一直執(zhí)行到完成,或發(fā)生某事件而被阻塞放棄處理機(jī)時(shí)再度重新調(diào)度。本程序采用了非搶占式短作業(yè)優(yōu)先調(diào)度。而非搶占式這種方式,一旦把處理機(jī)分配給某進(jìn)程后,便讓該進(jìn)程一直執(zhí)行,直至該進(jìn)程完成或發(fā)生某事件
6、而被阻塞時(shí),才再把處理機(jī)分配給其它進(jìn)程,決不允許某進(jìn)程搶占已經(jīng)分配出去的處理機(jī)。這種調(diào)度方式的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,系統(tǒng)開銷小,適用于大多數(shù)的批處理系統(tǒng)環(huán)境。但它難以滿足緊急任務(wù)的要求——立即執(zhí)行,因而可能造成難以預(yù)料的后果。因此,在要求比較嚴(yán)格的實(shí)時(shí)系統(tǒng)中,不宜采用這種調(diào)度方式本系統(tǒng)的主要是在滿足要求多道單處理機(jī)的情況下進(jìn)行短作業(yè)的優(yōu)先調(diào)度。本系統(tǒng)在測試時(shí)輸入了五個(gè)進(jìn)程,按實(shí)驗(yàn)要求如I2C10O5(表示進(jìn)程的服務(wù)時(shí)間由2個(gè)時(shí)間片的輸入,10個(gè)時(shí)間片的計(jì)算,5個(gè)時(shí)間片的輸出,5個(gè)時(shí)間片的計(jì)算組成)的方式輸入,各進(jìn)程的信息
7、如下:(10111),其中括號(hào)內(nèi)第一個(gè)數(shù)字代表進(jìn)程標(biāo)識(shí),第二個(gè)數(shù)字代表進(jìn)程的到達(dá)時(shí)間,第三組數(shù)字則代表的是服務(wù)時(shí)間(服務(wù)時(shí)間有輸入時(shí)間、輸出時(shí)間,計(jì)算時(shí)間三個(gè)部分組成),由此可得五個(gè)進(jìn)程的服務(wù)時(shí)間分別為3,4,5,6,7,。短作業(yè)優(yōu)先進(jìn)程要求單道、多處理機(jī),可以在界面設(shè)定的互斥資源(包括兩種:輸入設(shè)備與輸出設(shè)備)的數(shù)目,進(jìn)程數(shù)、進(jìn)入內(nèi)存時(shí)間、要求服務(wù)時(shí)間可以在界面上進(jìn)行設(shè)定,進(jìn)程的服務(wù)時(shí)間由三段組成,采用可視化界面,可在進(jìn)程調(diào)度過程中隨時(shí)暫停調(diào)度,查看當(dāng)前進(jìn)程的狀態(tài)以及相應(yīng)的阻塞隊(duì)列,我把每一個(gè)時(shí)間片都顯示了出來,
8、因此進(jìn)程的暫停調(diào)度就可有可無,但是我也寫上了。進(jìn)程進(jìn)入內(nèi)存,則按照優(yōu)先級(jí)進(jìn)行執(zhí)行進(jìn)程。主要是實(shí)現(xiàn)了進(jìn)程執(zhí)行過程的界面演示以及在暫停演示時(shí)各進(jìn)程此時(shí)的狀態(tài),主要包括三種狀態(tài)——就緒、執(zhí)行、阻塞。同時(shí),在暫停執(zhí)行時(shí)可以查看當(dāng)前時(shí)間的阻塞隊(duì)列。下面是進(jìn)程信息的輸入界面,界面介紹如下:輸入設(shè)備數(shù)目:主要是輸入輸入設(shè)備的數(shù)目。輸出設(shè)備數(shù)目:主要是輸入輸出設(shè)備的數(shù)目。進(jìn)