武漢理工大學(xué)操作系統(tǒng)磁盤(pán)調(diào)度實(shí)驗(yàn)報(bào)告_第1頁(yè)
武漢理工大學(xué)操作系統(tǒng)磁盤(pán)調(diào)度實(shí)驗(yàn)報(bào)告_第2頁(yè)
武漢理工大學(xué)操作系統(tǒng)磁盤(pán)調(diào)度實(shí)驗(yàn)報(bào)告_第3頁(yè)
武漢理工大學(xué)操作系統(tǒng)磁盤(pán)調(diào)度實(shí)驗(yàn)報(bào)告_第4頁(yè)
武漢理工大學(xué)操作系統(tǒng)磁盤(pán)調(diào)度實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

學(xué)生學(xué)號(hào)實(shí)驗(yàn)課成績(jī)武漢理工大學(xué)學(xué)生實(shí)驗(yàn)報(bào)告書(shū)實(shí)驗(yàn)課程名稱(chēng)計(jì)算機(jī)操作系統(tǒng)開(kāi)課學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院指導(dǎo)老師姓名學(xué)生姓名學(xué)生專(zhuān)業(yè)班級(jí)—學(xué)年第一學(xué)期實(shí)驗(yàn)項(xiàng)目名稱(chēng):磁盤(pán)調(diào)度第一部分:實(shí)驗(yàn)分析與設(shè)計(jì)一、設(shè)計(jì)目的、功能與要求設(shè)計(jì)目的、功能:模擬實(shí)現(xiàn)磁盤(pán)調(diào)度功能,掌握磁盤(pán)調(diào)度的相關(guān)內(nèi)容,對(duì)磁盤(pán)結(jié)構(gòu)及調(diào)度算法有深入的理解。要求:任選一種計(jì)算機(jī)高級(jí)語(yǔ)言編程實(shí)現(xiàn)選擇1~2種程序調(diào)度算法(先來(lái)先服務(wù)算法、最短尋道時(shí)間優(yōu)先、電梯算法)模擬實(shí)現(xiàn)磁盤(pán)調(diào)度能夠輸入當(dāng)前磁頭的位置、磁頭移動(dòng)方向、磁道訪(fǎng)問(wèn)請(qǐng)求序列等能夠顯示磁盤(pán)調(diào)度結(jié)果(磁頭依次訪(fǎng)問(wèn)的磁道號(hào)順序),并計(jì)算磁頭移動(dòng)的總磁道數(shù)等。二、問(wèn)題的詳細(xì)描述、需求分析詳細(xì)描述:利用c++語(yǔ)言設(shè)計(jì)程序,模擬磁盤(pán)調(diào)度的過(guò)程,系統(tǒng)界面可以靈活選擇某種算法,算法包括:先來(lái)先服務(wù)算法(FCFS)和最短尋道時(shí)間優(yōu)先算法(SSTF)。需求分析:要求輸入程序的基本信息:當(dāng)前磁頭的位置、磁頭移動(dòng)方向、磁道訪(fǎng)問(wèn)請(qǐng)求序列、提出磁盤(pán)讀寫(xiě)請(qǐng)求的程序數(shù)等;使用算法:1-先來(lái)先服務(wù)算法(FCFS),2-最短尋道時(shí)間優(yōu)先算法(SSTF)。要求采用先來(lái)先服務(wù)和最短尋道時(shí)間優(yōu)先算法分別運(yùn)行程序,并計(jì)算每次訪(fǎng)問(wèn)下一個(gè)磁道號(hào)移動(dòng)的距離和移動(dòng)總量;輸出:要求模擬整個(gè)磁盤(pán)調(diào)度過(guò)程,輸出每個(gè)算法下程序的運(yùn)行結(jié)果;三、數(shù)據(jù)結(jié)構(gòu)、功能設(shè)計(jì)(功能與框圖、功能模塊說(shuō)明)功能模塊說(shuō)明:1、先來(lái)先服務(wù)算法模塊(FCFS())這是一種比較簡(jiǎn)單的磁盤(pán)調(diào)度算法。它根據(jù)程序請(qǐng)求訪(fǎng)問(wèn)磁盤(pán)的先后次序進(jìn)行調(diào)度。此算法的優(yōu)點(diǎn)是公平、簡(jiǎn)單,且每個(gè)程序的請(qǐng)求都能依次得到處理,不會(huì)出現(xiàn)某一程序的請(qǐng)求長(zhǎng)期得不到滿(mǎn)足的情況。此算法由于未對(duì)尋道進(jìn)行優(yōu)化,在對(duì)磁盤(pán)的訪(fǎng)問(wèn)請(qǐng)求比較多的情況下,此算法將降低設(shè)備服務(wù)的吞吐量,致使平均尋道時(shí)間可能較長(zhǎng),但各程序得到服務(wù)的響應(yīng)時(shí)間的變化幅度較小??驁D如下:2、最短尋道時(shí)間優(yōu)先算法模塊(SSTF())該算法選擇這樣的程序,其要求訪(fǎng)問(wèn)的磁道與當(dāng)前磁頭所在的磁道距離最近,以使每次的尋道時(shí)間最短,該算法可以得到比較好的吞吐量,但卻不能保證平均尋道時(shí)間最短。其缺點(diǎn)是對(duì)用戶(hù)的服務(wù)請(qǐng)求的響應(yīng)機(jī)會(huì)不是均等的,因而導(dǎo)致響應(yīng)時(shí)間的變化幅度很大。在服務(wù)請(qǐng)求很多的情況下,對(duì)內(nèi)外邊緣磁道的請(qǐng)求將會(huì)無(wú)限期的被延遲,有些請(qǐng)求的響應(yīng)時(shí)間將不可預(yù)期??驁D如下:3、輸入模塊(Inith()):輸入程序的基本信息;4、排序模塊(Sort()):將各程序申請(qǐng)的磁道按從小到大排列;5、計(jì)算模塊(Count()):計(jì)算訪(fǎng)問(wèn)下一磁道的移動(dòng)距離和移動(dòng)總量;6、輸出模塊(Show()):格式化輸出磁道序列及計(jì)算結(jié)果。第二部分:實(shí)驗(yàn)調(diào)試與結(jié)果分析四、開(kāi)發(fā)工具及源程序的主要部分(需對(duì)主要代碼段附文字注釋?zhuān)?)先來(lái)先服務(wù)算法voidFCFS(){ inttemp; temp=BeginNum;//--------將BeginNum賦給temp作為尋道時(shí)的當(dāng)前所在磁道號(hào) for(inti=0;i<N;i++) { MoveDistance[i]=abs(TrackOrder[i]-temp);//-------計(jì)算移動(dòng)磁道數(shù) temp=TrackOrder[i];//-------尋道后,將此道作為當(dāng)前所在磁道號(hào),賦給temp FindOrder[i]=TrackOrder[i];//-----尋好的賦給尋好序列 }}(2)最短尋道時(shí)間優(yōu)先算法voidSSTF(){ inttemp,n; intA=M; temp=BeginNum;//--------將BeginNum賦給temp作為尋道時(shí)的當(dāng)前所在磁道號(hào) for(inti=0;i<N;i++) { for(intj=0;j<N;j++)//-------尋找最短的尋道長(zhǎng)度 { if(abs(TrackOrder[j]-temp)<A&&Finished[j]==false) { A=abs(TrackOrder[j]-temp); n=j; } elsecontinue; } Finished[n]=true;//-------將已經(jīng)尋找到的Finished賦值為true MoveDistance[i]=A;//-------尋道長(zhǎng)度 temp=TrackOrder[n];//-------當(dāng)前尋道號(hào)。 A=M;//-----重置A值 FindOrder[i]=TrackOrder[n];//----尋好的賦給尋好序列 }}(3)程序基本信息輸入voidInith(){ cout<<"請(qǐng)輸入磁道數(shù):"; cin>>M; cout<<"請(qǐng)輸入提出磁盤(pán)讀寫(xiě)請(qǐng)求的程序數(shù):"; cin>>N; cout<<"請(qǐng)依次輸入要訪(fǎng)問(wèn)的磁道號(hào):"; for(inti=0;i<N;i++) cin>>TrackOrder[i]; for(intj=0;j<N;j++) MoveDistance[j]=0; cout<<"請(qǐng)輸入開(kāi)始磁道號(hào):"; cin>>BeginNum; for(intk=0;k<N;k++) Finished[k]=false; for(intl=0;l<N;l++) SortOrder[l]=TrackOrder[l];}(4)結(jié)果輸出voidShow(){ cout<<"================從"<<BeginNum<<"號(hào)磁道開(kāi)始====================="<<endl; cout<<setw(20)<<"被訪(fǎng)問(wèn)的下一個(gè)磁道號(hào)"<<setw(20)<<"移動(dòng)距離(磁道數(shù))"<<endl; for(inti=0;i<N;i++) { cout<<setw(15)<<FindOrder[i]<<setw(15)<<MoveDistance[i]<<endl; } cout<<setw(20)<<"移動(dòng)總量:"<<Distance<<endl; cout<<endl;}(5)計(jì)算voidCount(){ intTotal=0; for(inti=0;i<N;i++) { Total+=MoveDistance[i]; } Distance=(double)Total;}五、測(cè)試用例、運(yùn)行結(jié)果與運(yùn)行情況分析采用先來(lái)先服務(wù)算法結(jié)果如下:采用最短尋道時(shí)間優(yōu)先算法結(jié)果如下:六、自我評(píng)價(jià)與總結(jié)本次實(shí)驗(yàn)的目的是模擬實(shí)現(xiàn)磁盤(pán)調(diào)度的功能,我分別采用先來(lái)先服務(wù)和最短尋道時(shí)間優(yōu)先算法實(shí)現(xiàn)了磁盤(pán)的調(diào)度。在做實(shí)驗(yàn)的時(shí)候也遇到了不少問(wèn)題,如多個(gè)數(shù)據(jù)如何分類(lèi)存儲(chǔ),數(shù)據(jù)最終如何格式化的輸出,通過(guò)老師和同學(xué)們的幫助,我順利地完成了本次實(shí)驗(yàn)。通過(guò)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論