資源描述:
《磁盤調(diào)度算法的模擬實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、實(shí)用標(biāo)準(zhǔn)文案磁盤調(diào)度算法的模擬實(shí)現(xiàn)學(xué)院專業(yè)學(xué)號(hào)學(xué)生姓名指導(dǎo)教師姓名2014年3月19日目錄精彩文檔實(shí)用標(biāo)準(zhǔn)文案一、課設(shè)簡介21.1課程設(shè)計(jì)題目21.2課程設(shè)計(jì)目的21.3課程設(shè)計(jì)要求2二、設(shè)計(jì)內(nèi)容32.1功能實(shí)現(xiàn)32.2流程圖32.3具體內(nèi)容.......................................3三、測試數(shù)據(jù)......................................43.3測試用例及運(yùn)行結(jié)果4四、源代碼5五、總結(jié)125.1總結(jié)......................
2、......................一、課設(shè)簡介1.1課程設(shè)計(jì)題目精彩文檔實(shí)用標(biāo)準(zhǔn)文案磁盤調(diào)度算法的模擬實(shí)現(xiàn)11.1程序設(shè)計(jì)目的操作系統(tǒng)課程設(shè)計(jì)是計(jì)算機(jī)專業(yè)重要的教學(xué)環(huán)節(jié),它為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦,將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來,獨(dú)立分析和解決實(shí)際問題的機(jī)會(huì)。1)進(jìn)一步鞏固和復(fù)習(xí)操作系統(tǒng)的基礎(chǔ)知識(shí)。2)培養(yǎng)學(xué)生結(jié)構(gòu)化程序、模塊化程序設(shè)計(jì)的方法和能力。3)提高學(xué)生調(diào)試程序的技巧和軟件設(shè)計(jì)的能力。4)提高學(xué)生分析問題、解決問題以及綜合利用C語言進(jìn)行程序設(shè)計(jì)的能力。1.3設(shè)計(jì)要求1)磁頭初始磁道
3、號(hào),序列長度,磁道號(hào)序列等數(shù)據(jù)可從鍵盤輸入,也可從文件讀入。2)最好能實(shí)現(xiàn)磁道號(hào)序列中磁道號(hào)的動(dòng)態(tài)增加。3)磁道訪問序列以鏈表的形式存儲(chǔ)4)給出各磁盤調(diào)度算法的調(diào)度順序和平均尋道長度二、設(shè)計(jì)內(nèi)容2.1功能實(shí)現(xiàn)精彩文檔實(shí)用標(biāo)準(zhǔn)文案設(shè)計(jì)并實(shí)現(xiàn)一個(gè)本別利用下列磁盤調(diào)度算法進(jìn)行磁盤調(diào)度的模擬程序。1)先來先服務(wù)算法FCFS2)最短尋道時(shí)間優(yōu)先算法SSTF2.2流程圖開始選擇算法SSTFFCFS結(jié)束2.3具體內(nèi)容1)先來先服務(wù)算法FCFS精彩文檔實(shí)用標(biāo)準(zhǔn)文案這是一種比較簡單的磁盤調(diào)度算法。它根據(jù)進(jìn)程請求訪問磁盤的
4、先后次序進(jìn)行調(diào)度。此算法的優(yōu)點(diǎn)是公平、簡單,且每個(gè)進(jìn)程的請求都能依次得到處理,不會(huì)出現(xiàn)某一進(jìn)程的請求長期得不到滿足的情況。此算法由于未對尋道進(jìn)行優(yōu)化,在對磁盤的訪問請求比較多的情況下,此算法將降低設(shè)備服務(wù)的吞吐量,致使平均尋道時(shí)間可能較長,但各進(jìn)程得到服務(wù)的響應(yīng)時(shí)間的變化幅度較小。2)最短尋道時(shí)間優(yōu)先算法SSTF該算法選擇這樣的進(jìn)程,其要求訪問的磁道與當(dāng)前磁頭所在的磁道距離最近,以使每次的尋道時(shí)間最短,該算法可以得到比較好的吞吐量,但卻不能保證平均尋道時(shí)間最短。其缺點(diǎn)是對用戶的服務(wù)請求的響應(yīng)機(jī)會(huì)不是均等的,因而
5、導(dǎo)致響應(yīng)時(shí)間的變化幅度很大。在服務(wù)請求很多的情況下,對內(nèi)外邊緣磁道的請求將會(huì)無限期的被延遲,有些請求的響應(yīng)時(shí)間將不可預(yù)期。三、測試數(shù)據(jù)3.1先來先服務(wù)算法輸入磁道序列:555839189016015038184當(dāng)前磁道號(hào):1003.2最短尋道時(shí)間優(yōu)先算法(1)當(dāng)前磁道號(hào)大于磁道序列中的最大的磁道號(hào)時(shí)輸入磁道序列:555839189016015038184當(dāng)前磁道號(hào):1003.3測試結(jié)果精彩文檔實(shí)用標(biāo)準(zhǔn)文案四、源代碼#include#include#include6、>usingnamespacestd;typedefstructnode{intdata;structnode*next;精彩文檔實(shí)用標(biāo)準(zhǔn)文案}Node,*Linklist;voidmain(){voidCreate_Linklist(Node*);voidfcfs();//聲明先來先服務(wù)函數(shù)FCFSvoidsstf();//聲明最短尋道時(shí)間優(yōu)先函數(shù)SSTFvoidprint(Node*);//輸出鏈表函數(shù)ints;//s是選擇哪個(gè)算法printf("**************磁盤調(diào)度算法**********
7、*****");printf("t***1,先來先服務(wù)算法FCFS");printf("t***2,最短尋道時(shí)間優(yōu)先算法SSTF");printf("t***0,退出");printf("t***請選擇:");scanf("%d",&s);while(s!=0){switch(s){精彩文檔實(shí)用標(biāo)準(zhǔn)文案case1:printf("tt********你選擇了:先來先服務(wù)算法FCFS");fcfs();break;case2:printf("tt******你選擇了:最短尋道時(shí)
8、間優(yōu)先算法SSTF");sstf();break;}printf("tt*******退出請選0,繼續(xù)請選1,2,");scanf("%d",&s);}}/******************************************************************/voidfcfs()//先來先服務(wù)算法{voidCreate_Linklist(Nod