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

下載本文檔

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

文檔簡介

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

溫馨提示

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

最新文檔

評論

0/150

提交評論