2015廣工操作系統(tǒng)實(shí)驗(yàn)報(bào)告(文檔最后含源碼下載地址)_第1頁
2015廣工操作系統(tǒng)實(shí)驗(yàn)報(bào)告(文檔最后含源碼下載地址)_第2頁
2015廣工操作系統(tǒng)實(shí)驗(yàn)報(bào)告(文檔最后含源碼下載地址)_第3頁
2015廣工操作系統(tǒng)實(shí)驗(yàn)報(bào)告(文檔最后含源碼下載地址)_第4頁
2015廣工操作系統(tǒng)實(shí)驗(yàn)報(bào)告(文檔最后含源碼下載地址)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、操作系統(tǒng)實(shí)驗(yàn)報(bào)告學(xué)生學(xué)院專業(yè)班級計(jì)算機(jī)學(xué)院13級計(jì)科9學(xué)生姓名指導(dǎo)教師李敏2015年12月29日實(shí)驗(yàn)一進(jìn)程調(diào)度實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康挠酶呒壵Z言編寫和調(diào)試一個(gè)進(jìn)程調(diào)度程序,以加深對進(jìn)程的概念及進(jìn)程調(diào)度算法的理解。二、實(shí)驗(yàn)內(nèi)容和要求設(shè)計(jì)一個(gè)有N個(gè)進(jìn)程共行的進(jìn)程調(diào)度程序。要求采用最高優(yōu)先數(shù)優(yōu)先的調(diào)度算法(即把處理機(jī)分配給優(yōu)先數(shù)最高的進(jìn)程),時(shí)間片輪轉(zhuǎn)算法,多級反饋隊(duì)列調(diào)度算法這三種算法。每個(gè)進(jìn)程有一個(gè)進(jìn)程控制塊(PCB)表示。進(jìn)程控制塊可以包含如下信息:進(jìn)程名、優(yōu)先數(shù)、到達(dá)時(shí)間、需要運(yùn)行時(shí)間、已用CPU時(shí)間、進(jìn)程狀態(tài)等等。進(jìn)程的優(yōu)先數(shù)及需要的運(yùn)行時(shí)間可以事先人為地指定(也可以由隨機(jī)數(shù)產(chǎn)生)。進(jìn)程的到達(dá)時(shí)間

2、為進(jìn)程輸入的時(shí)間。進(jìn)程的運(yùn)行時(shí)間以時(shí)間片為單位進(jìn)行計(jì)算。每個(gè)進(jìn)程的狀態(tài)可以是就緒W(Wait)、運(yùn)行R(Run)、或完成F(Finish)三種狀態(tài)之一。就緒進(jìn)程獲得CPU后都只能運(yùn)行一個(gè)時(shí)間片。用已占用CPU時(shí)間加1來表示。如果運(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)將進(jìn)程的優(yōu)先數(shù)減1(即降低一級),然后把它插入就緒隊(duì)列等待CPU。每進(jìn)行一次調(diào)度程序都打印一次運(yùn)行進(jìn)程、就緒隊(duì)列、以及各個(gè)進(jìn)程的PCB,以便進(jìn)行檢查。重復(fù)以上過程,直到所要進(jìn)程都完成為止。三、實(shí)驗(yàn)

3、主要儀器設(shè)備和材料實(shí)驗(yàn)環(huán)境硬件環(huán)境:IBM-PC或兼容機(jī)軟件環(huán)境:C+、C語言編程環(huán)境四、實(shí)驗(yàn)方法1、編寫并調(diào)試一個(gè)模擬的進(jìn)程調(diào)度程序,采用“最高優(yōu)先數(shù)優(yōu)先”調(diào)度算法對五個(gè)進(jìn)程進(jìn)行調(diào)度?!白罡邇?yōu)先數(shù)優(yōu)先”調(diào)度算法的基本思想是把CPU分配給就緒隊(duì)列中優(yōu)先數(shù)最高的進(jìn)程。靜態(tài)優(yōu)先數(shù)是在創(chuàng)建進(jìn)程時(shí)確定的,并在整個(gè)進(jìn)程運(yùn)行期間不再改變。動(dòng)態(tài)優(yōu)先數(shù)是指進(jìn)程的優(yōu)先數(shù)在創(chuàng)建進(jìn)程時(shí)可以給定一個(gè)初始值,并且可以按一定原則修改優(yōu)先數(shù)。例如:在進(jìn)程獲得一次CPU后就將其優(yōu)先數(shù)減少1。或者,進(jìn)程等待的時(shí)間超過某一時(shí)限時(shí)增加其優(yōu)先數(shù)的值,等等。2、編寫并調(diào)試一個(gè)模擬的進(jìn)程調(diào)度程序,采用“輪轉(zhuǎn)法”調(diào)度算法對五個(gè)進(jìn)程進(jìn)行調(diào)度

4、。輪轉(zhuǎn)法可以是簡單輪轉(zhuǎn)法、可變時(shí)間片輪轉(zhuǎn)法,或多隊(duì)列輪轉(zhuǎn)法。簡單輪轉(zhuǎn)法的基本思想是:所有就緒進(jìn)程按FCFS排成一個(gè)隊(duì)列,總是把處理機(jī)分配給隊(duì)首的進(jìn)程,各進(jìn)程占用CPU的時(shí)間片相同。如果運(yùn)行進(jìn)程用完它的時(shí)間片后還為完成,就把它送回到就緒隊(duì)列的末尾,把處理機(jī)重新分配給隊(duì)首的進(jìn)程。直至所有的進(jìn)程運(yùn)行完畢。3、多級反饋隊(duì)列調(diào)度算法的基本思想是:當(dāng)一個(gè)新進(jìn)程進(jìn)入內(nèi)存后,首先將它放入第一隊(duì)列的末尾,按FCFS原則排隊(duì)等待調(diào)度。當(dāng)輪到該進(jìn)程執(zhí)行時(shí),如能在該時(shí)間片內(nèi)完成,便可準(zhǔn)備撤離系統(tǒng);如果它在一個(gè)時(shí)間片結(jié)束時(shí)尚未完成,調(diào)度程序便將該進(jìn)程轉(zhuǎn)入第二隊(duì)列的末尾,再同樣地按FCFS原則等待調(diào)度執(zhí)行,以此類推。程臉

5、列攔否跡自進(jìn)間片內(nèi)整否五.行1塔束五、程序流程圖(一個(gè)實(shí)驗(yàn)有多個(gè)算法的應(yīng)該分別給出)1、“最高優(yōu)先數(shù)優(yōu)先”調(diào)度算法(已在模板中給出)2、“輪轉(zhuǎn)法”調(diào)度算法運(yùn)f】臥占進(jìn)程根捱FCZFE算沱抄到將阻首進(jìn)程釋放,進(jìn)程隊(duì)莒指針指向下一個(gè)初始優(yōu)PC&輸入進(jìn)程信總揃入蔓創(chuàng)建的進(jìn)程數(shù)n卅蠟3、多級反饋隊(duì)列調(diào)度算法*r?1卜:間片內(nèi)足否遠(yuǎn)尸:的賦列數(shù)n前就境從別評還右進(jìn)程:訓(xùn)列定古下一卡機(jī)列先哎帚高H.舍和進(jìn)程的社緒從橫握心靖法曲洌進(jìn)程肌列,#M到就緒恥列一箝臥首過程釋放沮程臥首指針指向下一牛初血ft駐紙肽列珂.前入臥?m懇迫疔憂結(jié)臥列中迥程肚Pf的首避程初期優(yōu)枕氐前心lii.S運(yùn)用輪轉(zhuǎn)迭運(yùn)行俠進(jìn)程肚列減人要

6、創(chuàng)灌的進(jìn)程數(shù)n六、各程序之間的調(diào)用關(guān)系1、“最高優(yōu)先數(shù)優(yōu)先”調(diào)度算法(已在模板中給出)2、“輪轉(zhuǎn)法”調(diào)度算法3、多級反饋隊(duì)列調(diào)度算法run()運(yùn)行進(jìn)程printProcesQueO打印進(jìn)程列盍emafteQueuO創(chuàng)建就緒限列runA$RourdRobin()輪轉(zhuǎn)味運(yùn)行createProcesslnQueu)亦限列中創(chuàng)建進(jìn)程Miming主程序rurQueueAt()運(yùn)行當(dāng)前臥列的進(jìn)程七、重要數(shù)據(jù)結(jié)構(gòu)或源程序中疑難部分的說明,需附詳細(xì)注釋1、“最高優(yōu)先數(shù)優(yōu)先”調(diào)度算法(已在模板中給出)2、“輪轉(zhuǎn)法”調(diào)度算法typedefstructpcbcharname10;/進(jìn)程名inttime;/進(jìn)程的總時(shí)

7、間intruntime;/進(jìn)程已經(jīng)占用的cpu時(shí)間intneedtime;/進(jìn)程還需要的時(shí)間charstate;/進(jìn)程運(yùn)行狀態(tài):w(wait)orr(runing)structpcb*next;pcb,*PCB;3、多級反饋隊(duì)列調(diào)度算法typedefstructpcbcharname10;/進(jìn)程名inttime;/進(jìn)程的總時(shí)間intruntime;/進(jìn)程已經(jīng)占用的cpu時(shí)間intneedtime;/進(jìn)程還需要的時(shí)間charstate;/進(jìn)程運(yùn)行狀態(tài):w(wait)orr(runing)structpcb*next;pcb,*PCB;typedefstructqueuecharname10;in

8、ttimeSlice;/時(shí)間片的大小PCBmPcb;structqueue*next;queue,*QUEUE;八、程序運(yùn)行結(jié)果1、“最高優(yōu)先數(shù)優(yōu)先”調(diào)度算法(已在模板中給出)2、“輪轉(zhuǎn)法”調(diào)度算法測試數(shù)據(jù):進(jìn)程名進(jìn)程所需時(shí)間時(shí)間片aa32bb42cc52dd62ee72列間5八寸r7j-rr數(shù)程達(dá)34567堆確詡aaB:bb孔cC5:dd5:ee5:字吋字時(shí)字時(shí)孚時(shí)?對軸輛署忌務(wù)忌務(wù)忌務(wù)忌韋忌.4tr.-tnJTT.3J-J*TT.HJ.3J-HJ-.3J-ITT.HJ:J5.-1125334455口王呈呈口王呈呈呈呈呈呈Lw.k-L-.L-.L-.Lw.-L-.L-.L-.-/-1-/-f

9、c-/-/-LI-進(jìn)進(jìn)進(jìn)進(jìn)進(jìn)進(jìn)進(jìn)進(jìn)進(jìn)進(jìn)1111111I111I1111-nI入入入入入入人入入入厶刖4刖4刖宀一刖4刖刖j刖4刖nametlineaabbccddee1LintifTie00000needtime34statenameeeaabbccddm.1734tnameaabbtime34ccddeeruntime200&0needtime14statenamebbtime4ccddeeFLintiine2000needtime2stateaanametineccddeeaabbruntine2&022needtine3stateinameddtimeeePLintime20aabbcc

10、runtime222nametineruntimebb42cc52dd62ee72nanetineneedtineneedtine234stateistateccddeenametimeruntine2needtine34stateccddeenameddtine67runtime422needtline14Ineedtime47123stateVJnameeeccddtine756runtime424runtime444needtineneedtine312statestate卜已經(jīng)運(yùn)行完成辛nametinei*unt:imeneedtineSi七應(yīng)七巳dd&42IJee743IJ”已經(jīng)運(yùn)行

11、完成?nametimeruntimeneedtinestateee743nametimepuntimeneedtinestateee7E1i*已經(jīng)運(yùn)行完成?3、多級反饋隊(duì)列調(diào)度算法測試數(shù)據(jù):隊(duì)列名時(shí)間片QueueA2QueueB4QueueA8進(jìn)程名進(jìn)程所需時(shí)間TOC o 1-5 h zaa3bb4cc5dd6ee7*CHJ尊待*Qu“E隊(duì)歹悝面的進(jìn)程狀態(tài)如下(時(shí)間片大小是2):進(jìn)程名aa進(jìn)程總時(shí)間3進(jìn)程已經(jīng)運(yùn)行的時(shí)間M進(jìn)程還需要的時(shí)間3込程狀態(tài)Whb404Wcc505制dd6U6Wee707WTOC o 1-5 h zHiieB隊(duì)列里面的進(jìn)程狀態(tài)如下(時(shí)間片犬小是41隊(duì)列里面的進(jìn)程狀態(tài)如下(

12、時(shí)間片丈小是S)xUPU等傳XQiwM隊(duì)列里面的進(jìn)程狀態(tài)如下(時(shí)閭片丈小是2)Qiw詢隊(duì)列里面的進(jìn)程狀態(tài)如F(:時(shí)間片犬小是4)陡程名rtrt進(jìn)程息時(shí)間3進(jìn)程已經(jīng)運(yùn)行的時(shí)間進(jìn)程還需要的時(shí)間21進(jìn)程狀態(tài)Uj|j422UCC523VJdel624VJee725WQueiwC隊(duì)列里面的迸程狀態(tài)如下(時(shí)間片大彳渥)*CPU等待*XXM:KKJCKKJCKKWM:XM:KXJOCKJCKKJCKKXM:KXKKXJCKKJCQueuefi隊(duì)列里面的遇程狀態(tài)如下時(shí)可片大小是2):Q喚胡隊(duì)列里面的進(jìn)程狀態(tài)如下(時(shí)可片大小是4):QueC隊(duì)列里面的進(jìn)程狀態(tài)如下(時(shí)間片犬小是8):ee761w九、結(jié)果分析與實(shí)驗(yàn)

13、小結(jié)通過實(shí)驗(yàn)可知,“最高優(yōu)先數(shù)優(yōu)先”調(diào)度算法是通過最高優(yōu)先數(shù)來排列進(jìn)程的執(zhí)行順序,可以滿足普遍的進(jìn)程,但缺點(diǎn)較大,可能出現(xiàn)優(yōu)先級低的進(jìn)程長期無法執(zhí)行?!拜嗈D(zhuǎn)法”調(diào)度算法則是規(guī)定每個(gè)進(jìn)程在規(guī)定的時(shí)間片內(nèi)運(yùn)行進(jìn)程,可以使進(jìn)程非常公平地執(zhí)行,但若出現(xiàn)優(yōu)先級較高的程序則無法優(yōu)先執(zhí)行。多級反饋隊(duì)列調(diào)度算法則是通過較好地滿足各種類型進(jìn)程的需要來分配進(jìn)程調(diào)度,是目前公認(rèn)的一種比價(jià)好的進(jìn)程調(diào)度算法。實(shí)驗(yàn)二作業(yè)調(diào)度一、實(shí)驗(yàn)?zāi)康谋緦?shí)驗(yàn)要求學(xué)生模擬作業(yè)調(diào)度的實(shí)現(xiàn),用高級語言編寫和調(diào)試一個(gè)或多個(gè)作業(yè)調(diào)度的模擬程序,了解作業(yè)調(diào)度在操作系統(tǒng)中的作用,以加深對作業(yè)調(diào)度算法的理解。二、實(shí)驗(yàn)內(nèi)容和要求1、為單道批處理系統(tǒng)設(shè)計(jì)一

14、個(gè)作業(yè)調(diào)度程序1)編寫并調(diào)試一個(gè)單道處理系統(tǒng)的作業(yè)等待模擬程序。2)作業(yè)調(diào)度算法:分別采用先來先服務(wù)(FCFS)、最短作業(yè)優(yōu)先(SJF)、響應(yīng)比高者優(yōu)先(HRN)的調(diào)度算法。3)由于在單道批處理系統(tǒng)中,作業(yè)一投入運(yùn)行,它就占有計(jì)算機(jī)的一切資源直到作業(yè)完成為止,因此調(diào)度作業(yè)時(shí)不必考慮它所需要的資源是否得到滿足,它所占用的CPU時(shí)限等因素。4)每個(gè)作業(yè)由一個(gè)作業(yè)控制塊JCB表示,JCB可以包含如下信息:作業(yè)名、提交時(shí)間、所需的運(yùn)行時(shí)間、所需的資源、作業(yè)狀態(tài)、鏈指針等等。作業(yè)的狀態(tài)可以是等待W(Wait)、運(yùn)行R(Run)和完成F(Finish)三種狀態(tài)之一。每個(gè)作業(yè)的最初狀態(tài)總是等待W。5)對每種

15、調(diào)度算法都要求打印每個(gè)作業(yè)開始運(yùn)行時(shí)刻、完成時(shí)刻、周轉(zhuǎn)時(shí)間、帶權(quán)周轉(zhuǎn)時(shí)間,以及這組作業(yè)的平均周轉(zhuǎn)時(shí)間及帶權(quán)平均周轉(zhuǎn)時(shí)間,并比較各種算法的優(yōu)缺點(diǎn)。1、模擬批處理多道操作系統(tǒng)的作業(yè)調(diào)度1)編寫并調(diào)試一個(gè)作業(yè)調(diào)度模擬程序。2)作業(yè)調(diào)度算法:分別采用先來先服務(wù)(FCFS)和短作業(yè)優(yōu)先調(diào)度算法。3)在批處理系統(tǒng)中,要假定系統(tǒng)中具有的各種資源及數(shù)量,調(diào)度作業(yè)時(shí)必須考慮到每個(gè)作業(yè)的資源要求,所需要的資源是否得到滿足。作業(yè)調(diào)度程序負(fù)責(zé)從輸入井選擇若干個(gè)作業(yè)進(jìn)入主存,為它們分配必要的資源,當(dāng)它們能夠被進(jìn)程調(diào)度選中時(shí),就可占用處理器運(yùn)行。作業(yè)調(diào)度選擇一個(gè)作業(yè)的必要條件是系統(tǒng)中現(xiàn)有的尚未分配的資源可滿足該作業(yè)的資源

16、要求。但有時(shí)系統(tǒng)中現(xiàn)有的尚未分配的資源即可滿足某個(gè)作業(yè)的要求也可滿足其它一些作業(yè)的要求,那么,作業(yè)調(diào)度必須按一定的算法在這些作業(yè)中作出選擇。當(dāng)作業(yè)正常運(yùn)行完畢或因發(fā)生錯(cuò)誤非正常終止時(shí),作業(yè)進(jìn)入完成狀態(tài),此時(shí),系統(tǒng)將收回該作業(yè)所占用的全部資源,并清除有關(guān)的JCB。并輸出顯示作業(yè)運(yùn)行情況及作業(yè)輸出結(jié)果。三、實(shí)驗(yàn)主要儀器設(shè)備和材料實(shí)驗(yàn)環(huán)境硬件環(huán)境:IBM-PC或兼容機(jī)軟件環(huán)境:C+、C語言編程環(huán)境四、實(shí)驗(yàn)方法1、編寫并調(diào)試一個(gè)單道處理系統(tǒng)的作業(yè)等待模擬程序。假設(shè)在單道批處理環(huán)境下有四個(gè)作業(yè)JOB1、JOB2、JOB3、JOB4,已知它們進(jìn)入系統(tǒng)的時(shí)間、估計(jì)運(yùn)行時(shí)間。分別采用先來先服務(wù)(FCFS)、最

17、短作業(yè)優(yōu)先(SJF)、響應(yīng)比高者優(yōu)先(HRN)的調(diào)度算法,計(jì)算出作業(yè)的平均周轉(zhuǎn)時(shí)間和帶權(quán)平均周轉(zhuǎn)時(shí)間。五、程序流程圖(一個(gè)實(shí)驗(yàn)有多個(gè)算法的應(yīng)該分別給出)1.1單道先來先服務(wù)算法開始U斷陸首作業(yè)是否為N癖伽旬遵心攝作業(yè)提交時(shí)剰的先后咂序排認(rèn)。時(shí)間量i槐行隘首作弧井爬狀態(tài)設(shè)置知.將置為T-finisnTime將快首件業(yè)設(shè)置為下一節(jié)1.2單道短作業(yè)優(yōu)先算法開蠟甌叭首作業(yè)暑否為結(jié)老齣蠟伽有JCE.Ife岱按斧世探立話BmfiT=O-執(zhí)行罠首作業(yè),并輪戕態(tài)避置為C斯g置為T+fnishT隅將肌畫養(yǎng)業(yè)諛賈犧下f富釋皤.瘙鼻列按柞亞貳燒降序fl一洌.得到一嚇新的席肌列開始tl斷認(rèn)首柞業(yè)是否為N1.3單道高相

18、應(yīng)比優(yōu)先調(diào)度算法執(zhí)疔陸首件業(yè),并將狀態(tài)設(shè)置為f,將T設(shè)置為lflnKhTirrrs,將職首作業(yè)設(shè)置為下一于初始化所有口,使回按柞業(yè)提交時(shí)刻的先后時(shí)間1=0御追歷將憂先校最高的服列HSJ隊(duì)首2.1多道先來先服務(wù)算法判新是否存衽頰茁満足當(dāng)前I迪確陽CB我列,軻入斯熏內(nèi)存燕瞬驚,遁總內(nèi)存,亙資嫖,時(shí)酊運(yùn)行當(dāng)前理亙刪!加少.總內(nèi)存掠少斯據(jù)對御蠡亦炭進(jìn)程運(yùn)行箱束,釋嫌內(nèi)徉和住2.2多道短作業(yè)優(yōu)先算法六、各程序之間的調(diào)用關(guān)系(1)單道作業(yè)調(diào)度(2)多道作業(yè)調(diào)度七、重要數(shù)據(jù)結(jié)構(gòu)或源程序中疑難部分的說明,需附詳細(xì)注釋(1)單道作業(yè)調(diào)度typedefstructjcbcharname10;/作業(yè)名intstar

19、tTime;/開始時(shí)刻intneedTime;/所需時(shí)間intfinishTime;/完成時(shí)刻intperiod;/周轉(zhuǎn)時(shí)間floatwPeriod;/帶權(quán)周轉(zhuǎn)時(shí)間floatrp;/相應(yīng)比:(等待時(shí)間+要求服務(wù)時(shí)間)/要求服務(wù)時(shí)間charstate;/狀態(tài)structjcb*next;下一個(gè)指針jcb,*JCB;(2)多道作業(yè)調(diào)度typedefstructjcbcharname10;/作業(yè)名intstartTime;/開始時(shí)刻intneedTime;/所需時(shí)間intfinishTime;/完成時(shí)刻intneedMemory;/所需內(nèi)存intneedSource;/所需資源(磁帶機(jī)臺(tái)數(shù))char

20、state;/狀態(tài)structjcb*next;下一個(gè)指針jcb,*JCB;八、程序運(yùn)行結(jié)果1.單道調(diào)度(1)單道先來先服務(wù)算法測試數(shù)據(jù):JOB13JOB29JOB32JOB4心颶刖電阻鬼地刖陽一刖+rr4-牛亠片一jfr丄:rr+rr+片亠片環(huán)4W詩靑庸土冃耆詩主冃41冃年1建的作業(yè)數(shù):上藝;JDD1業(yè)屈需時(shí)|環(huán)3業(yè)韋字:JDB2業(yè)場需時(shí)間:?業(yè)名宇:J0B3亞盾需時(shí)間:2上纟字;J0B4業(yè)廚需時(shí)閭:*FGFE算法*仆業(yè)名J0U1開始時(shí)間所需時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間J0D20.76060,T0B80.143F;7fJ0B4140.363635請?jiān)我饨ɡ^續(xù)2)單道短作業(yè)優(yōu)先算法周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)

21、間作業(yè)狀忑26丄.9993S6W.bShhhfi0.S212779.41614?完成時(shí)間26161eW57卅2426省Blb脫.-冊:D:業(yè)JD間JD間JO間JD間+寸寸寸寸4-K-BrEkr-的宀了鴛-I-子需宀了需_r)l-p創(chuàng)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)LLIAI.AIALLIAlA土-1-圭=.*!=士|=土=1=.主=所需時(shí)間26開始時(shí)間6作業(yè)容J0B1,1砂J0B2J0B4測試數(shù)據(jù):JOB120JOB249JOB325JOB467請按任意鍵繼續(xù)3)單道高相應(yīng)比優(yōu)先調(diào)度算法測試數(shù)據(jù)JOB14JOB29JOB35JOB47完成時(shí)間周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間作業(yè)狀態(tài)2.多道調(diào)度注:測試數(shù)據(jù)均來自實(shí)驗(yàn)要求提

22、供的數(shù)據(jù),主存是100,磁帶機(jī)是101)多道先來先服務(wù)算法10150B11.QQQQQQf604510250B413770.3500000B2420.2142860B340.555556f44-_-二A口.7需爭斤口丘.-JU可U.1:0.1可引.-B020055000523611432121232345BBB字需字需字需字更爲(wèi)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)開T-二J_二二二J_一廠-E二二444-B所需資源作業(yè)狀態(tài)2f1f所需內(nèi)存20完成時(shí)間25304520355:2數(shù)1:業(yè)JB間存源J0間存源J0囘存源J0間存源J0間存源怕hf內(nèi)進(jìn).時(shí)內(nèi)贊甜內(nèi)費(fèi).州內(nèi)費(fèi)hf內(nèi)竄的宀子需需需宀于需需需字需需需宀于需需需宀

23、子需需擊爲(wèi)創(chuàng)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)開3002)多道短作業(yè)優(yōu)先算法勺勺勺勺勺勺A1名B5J0作業(yè)狀態(tài)所需資源3所需內(nèi)存25完成時(shí)間1050005500222361143212B2B3B4亦T:=Joc:=T=ff=Joa=T=Joa:.?=g=m可1子原內(nèi)資時(shí)內(nèi)資時(shí)內(nèi)資時(shí)內(nèi)資時(shí)內(nèi)篇需需需字需I需宀于需需需亠于需需需宀子弟BB爲(wèi)0業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)業(yè)刑時(shí)si05I235xr_uB戶10Z060254515續(xù)冃主冃主墾冃青土墾墾目青主星月青青青青主冃青青主B2按九、結(jié)果分析與實(shí)驗(yàn)小結(jié)通過本實(shí)驗(yàn),在進(jìn)行單道作業(yè)調(diào)度時(shí),我們采用了三種調(diào)度算法,分別是FCFS算法,SJ

24、F算法和HRRN算法,這幾個(gè)算法都有各自的優(yōu)點(diǎn),F(xiàn)CFS算法是針對順序作業(yè)隊(duì)列的,而SJF算法則是對短作業(yè)算法優(yōu)先執(zhí)行,HRRN算法是綜合了兩個(gè)的考慮,來進(jìn)行平衡。在多道作業(yè)調(diào)度過程中,則不僅要考慮所需時(shí)間,更要考慮所需內(nèi)存和資源,因?yàn)樵诙嗟雷鳂I(yè)調(diào)度中,各個(gè)作業(yè)是并發(fā)執(zhí)行的,所以當(dāng)一個(gè)作業(yè)調(diào)度完成后,將會(huì)釋放資源和內(nèi)存,從而滿足其他作業(yè)的調(diào)度。通過這個(gè)實(shí)驗(yàn),我感覺FCFS算法是作業(yè)調(diào)度的基礎(chǔ),而其他算法則是建立在它的基礎(chǔ)中不斷優(yōu)化的算法。實(shí)驗(yàn)三存儲(chǔ)管理實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、通過編寫和調(diào)試存儲(chǔ)管理的模擬程序以加深對存儲(chǔ)管理方案的理解。熟悉虛存管理的各種頁面淘汰算法。2、通過編寫和調(diào)試地址轉(zhuǎn)換過程的

25、模擬程序以加強(qiáng)對地址轉(zhuǎn)換過程的了解。二、實(shí)驗(yàn)內(nèi)容和要求設(shè)計(jì)一個(gè)請求頁式存儲(chǔ)管理方案。并編寫模擬程序?qū)崿F(xiàn)之。產(chǎn)生一個(gè)需要訪問的指令地址流。它是一系列需要訪問的指令的地址。為不失一般性,你可以適當(dāng)?shù)兀ㄓ萌斯ぶ付ǖ胤椒ɑ蛴秒S機(jī)數(shù)產(chǎn)生器)生成這個(gè)序列,使得50的指令是順序執(zhí)行的。25的指令均勻地散布在前地址部分,25的地址是均勻地散布在后地址部分。為簡單起見。頁面淘汰算法采用FIFO頁面淘汰算法,并且在淘汰一頁時(shí),只將該頁在頁表中抹去。而不再判斷它是否被改寫過,也不將它寫回到輔存。具體的做法可以是:產(chǎn)生一個(gè)需要訪問的指令地址流;指令合適的頁面尺寸(例如以1K或2K為1頁);指定內(nèi)存頁表的最大長度,并對

26、頁表進(jìn)行初始化;每訪問一個(gè)地址時(shí),首先要計(jì)算該地址所在的頁的頁號,然后查頁表,判斷該頁是否在主存如果該頁已在主存,則打印頁表情況;如果該頁不在主存且頁表未滿,則調(diào)入一頁并打印頁表情況;如果該頁不在主存且頁表已滿,則按FIFO頁面淘汰算法淘汰一頁后調(diào)入所需的頁,打印頁表情況;逐個(gè)地址訪問,直到所有地址訪問完畢。三、實(shí)驗(yàn)主要儀器設(shè)備和材料實(shí)驗(yàn)環(huán)境硬件環(huán)境:IBM-PC或兼容機(jī)軟件環(huán)境:C+、C語言編程環(huán)境四、實(shí)驗(yàn)方法、步驟及結(jié)果測試1、設(shè)計(jì)一個(gè)固定式分區(qū)分配的存儲(chǔ)管理方案,并模擬實(shí)現(xiàn)分區(qū)的分配和回收過程。可以假定每個(gè)作業(yè)都是批處理作業(yè),并且不允許動(dòng)態(tài)申請內(nèi)存。為實(shí)現(xiàn)分區(qū)的分配和回收,可以設(shè)定一個(gè)分

27、區(qū)說明表,按照表中的有關(guān)信息進(jìn)行分配,并根據(jù)分區(qū)的分配和回收情況修改該表。2、設(shè)計(jì)一個(gè)可變式分區(qū)分配的存儲(chǔ)管理方案,并模擬實(shí)現(xiàn)分區(qū)的分配和回收過程。分區(qū)分配中所用的數(shù)據(jù)結(jié)構(gòu)采用空閑分區(qū)表和空閑分區(qū)鏈來進(jìn)行,分區(qū)分配中所用的算法采用:首次適應(yīng)算法、循環(huán)首次適應(yīng)算法和最佳適應(yīng)算法三種算法來實(shí)現(xiàn)主存的分配和回收,要求每次分配和回收后顯示出空閑內(nèi)存分區(qū)鏈的情況。假設(shè)初始狀態(tài)下,可用的內(nèi)存空間為640KB,存儲(chǔ)器區(qū)被分為操作系統(tǒng)分區(qū)(40KB)和可給用戶的空閑區(qū)(600KB)。并有下列的請求序列:作業(yè)1申請130KB作業(yè)2申請60KB作業(yè)3申請100KB作業(yè)2釋放60KB作業(yè)4申請200KB作業(yè)3釋放1

28、00KB作業(yè)1釋放130KB作業(yè)5申請140KB作業(yè)6申請60KB作業(yè)7申請50KB當(dāng)作業(yè)1進(jìn)入內(nèi)存后,分給作業(yè)1(130KB),隨著作業(yè)1、2、3的進(jìn)入,分別分配60KB、100KB,經(jīng)過一段時(shí)間運(yùn)行后,作業(yè)2運(yùn)行完畢,釋放所占內(nèi)存。此時(shí),作業(yè)4進(jìn)入系統(tǒng),要求分配200KB內(nèi)存。作業(yè)3、1運(yùn)行完畢,釋放所占內(nèi)存。此時(shí)又有作業(yè)5申請140KB,作業(yè)6申請60KB,作業(yè)7申請50KB。請為它們進(jìn)行主存分配和回收。采用可變分區(qū)存儲(chǔ)管理,使用空閑分區(qū)表或空閑分區(qū)鏈實(shí)現(xiàn)主存分配和回收??臻e分區(qū)表:設(shè)計(jì)一張空閑區(qū)說明表,記錄哪些分區(qū)是空閑的。為內(nèi)存中每個(gè)尚未分配出去的分區(qū)設(shè)置一個(gè)表項(xiàng)。包括:分區(qū)序號、分

29、區(qū)始址、分區(qū)大小及該分區(qū)的狀態(tài)??臻e分區(qū)鏈:使用鏈指針把所有的空閑分區(qū)鏈成一條鏈,為了實(shí)現(xiàn)對空閑分區(qū)的分配和鏈接,在每個(gè)分區(qū)的起始部分設(shè)置狀態(tài)位、分區(qū)的大小和鏈接各個(gè)分區(qū)的前向指針,由狀態(tài)位指示該分區(qū)是否分配出去了;同時(shí),在分區(qū)尾部還設(shè)置有一后向指針,用來鏈接后面的一個(gè)分區(qū);分區(qū)的中間部分是用來存放作業(yè)的空閑內(nèi)存空間,當(dāng)該分區(qū)分配出去后,狀態(tài)位就由“0”置為“1”1設(shè)計(jì)一個(gè)內(nèi)存空閑分區(qū)表(鏈),內(nèi)存空閑分區(qū)通過空閑分區(qū)表(鏈)來管理,在進(jìn)行內(nèi)存分配時(shí),系統(tǒng)優(yōu)先使用空閑區(qū)低端的空間。設(shè)計(jì)一個(gè)空閑分區(qū)說明表(鏈),設(shè)計(jì)一個(gè)某時(shí)刻主存空間占用情況表,作為主存當(dāng)前使用基礎(chǔ)。初始化空閑區(qū)和已分配區(qū)說明表的值。設(shè)計(jì)作業(yè)申請隊(duì)列以及作業(yè)完成后的釋放順序,實(shí)現(xiàn)主存的分配和回收。要求每次分配和回收后顯示出空閑內(nèi)存分區(qū)表(鏈)的情況。由于本實(shí)驗(yàn)是模擬主存的分配,所以把主存區(qū)分配給作業(yè)后并不實(shí)際啟動(dòng)裝入程序裝入作業(yè),而用輸出“分配”情況來代替。3、編寫并調(diào)試一個(gè)段頁式存儲(chǔ)管理的地址轉(zhuǎn)換的模擬程序。首先設(shè)計(jì)好段表、頁表,然后給出若干個(gè)有一定代表性的地址,通過查找段表頁表后得到轉(zhuǎn)換的地址。要求打印轉(zhuǎn)換前的地址,相應(yīng)的段表,頁表?xiàng)l款及轉(zhuǎn)換后的地址,以便檢查。五、程序流程圖開姑第束六、重要數(shù)據(jù)結(jié)構(gòu)或源程序中疑難部分的說明,需附詳細(xì)注釋1.固定分配內(nèi)存typedefstructjcbcharname10;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論