操作系統(tǒng)—移動臂調(diào)度算法實現(xiàn)_第1頁
操作系統(tǒng)—移動臂調(diào)度算法實現(xiàn)_第2頁
操作系統(tǒng)—移動臂調(diào)度算法實現(xiàn)_第3頁
操作系統(tǒng)—移動臂調(diào)度算法實現(xiàn)_第4頁
操作系統(tǒng)—移動臂調(diào)度算法實現(xiàn)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、工程學(xué)院上機(jī)實驗報告課程名稱:操作系統(tǒng)實驗工程名稱:移動臂調(diào)度算法的實現(xiàn)學(xué)生班級:學(xué)生學(xué)號:學(xué)生:指導(dǎo)教師:實驗時間:實驗地點:信息樓專業(yè)機(jī)房實驗成績評定:2016-2017-1學(xué)期一、實驗?zāi)康募叭菡莆詹僮飨到y(tǒng)的設(shè)備管理功能,熟悉移動臂調(diào)度算法,設(shè)計恰當(dāng)?shù)臄?shù)據(jù)構(gòu)造和算法,模擬實現(xiàn)移動臂調(diào)度算法。要求至少模擬實現(xiàn)一種磁盤移臂調(diào)度算法。二、實驗相關(guān)知識簡介磁盤移臂調(diào)度的目標(biāo)就是要使磁盤訪問的總時間中的尋找時間最小。因此,磁盤移臂調(diào)度要盡量減少磁盤移動臂移動的距離。磁盤移臂調(diào)度算法很多,常用的也有好幾種,一個好的磁盤調(diào)度算法,不僅要使磁盤尋找時間最小,同時,還要防止移動臂頻繁地改變移動方向,因為頻繁

2、的改向不僅使時間增加,還容易損耗機(jī)械部件。常用的磁盤移臂調(diào)度算法有:先來先效勞、最短尋找時間優(yōu)先、單向掃描、雙向掃描調(diào)度算法等。三、解決問題思路及關(guān)鍵程序代碼分析(一)最短尋找時間優(yōu)先調(diào)度算法簡介最短尋找時間調(diào)度算法總是使尋找時間最短的請求最先得到效勞,跟請求者的請求時間先后順序無關(guān)。這種算法具有比先來先效勞更好的性能。但是該算法可能會出現(xiàn)請求者被“餓死的情況,當(dāng)靠近磁頭的請求源源不斷地到來,這會使早來的但離磁頭較遠(yuǎn)的請求長時間得不到效勞。該算法的優(yōu)點是可以得到較短的平均響應(yīng)時間,有較好的吞吐量。該算法的缺點是缺乏公平性,對中間磁道的訪問比擬照顧,對兩端磁道訪問比擬“疏遠(yuǎn),相應(yīng)時間的變化幅度較

3、大。該算法與先來先效勞算法一樣,都會導(dǎo)致移動臂頻繁改向。(二)算法模擬.對算法設(shè)計進(jìn)展說明該算法的實現(xiàn)中,主要是選擇調(diào)度處理的磁道是與當(dāng)前磁頭所在磁道距離最近的磁道,以使每次的尋道時間最短。中選擇了某個離當(dāng)前磁頭所在磁道最近的磁道,下一輪的當(dāng)前磁道便改成了上一輪的最近磁道,并且把這個最近的磁道從請求序列取消,直到請求序列中不再有請求的磁道。.關(guān)鍵代碼分析importjava.io.*;importjava.util.*;publicclassprivatestaticintmaxsize=100;privatestaticintDisc=newintmaxsize;/請求序歹Uprivates

4、taticintcount;/要訪問的磁道數(shù)privatestaticintdisc;/當(dāng)前磁道號privatestaticintperTime;/移過每個柱面需要時間privatestaticintDistance:。;/總尋道長度privatestaticintFindTime;/查找時間privatestaticdoubleAvgDistance/平均尋道長度publicSuanfa(intdisc,intcount,intperTime,intDisc)this.disc=disc;this.count=count;this.perTime=perTime;for(inti=0;iDi

5、sc.length;i+)Disci=Disci;publicvoidinput()Systemout.print(請輸入當(dāng)前磁道號:);Scanners1=newScanner(Systemin);disc=s1.nextInt(); TOC o 1-5 h z Systemout.print(請輸入要訪問的磁道數(shù):);Scanners2=newScanner(Systemin);count=s2.nextInt();Systemout.print(請輸入移過每個柱面需要的時間:);Scanners3=newScanner(Systemin);perTime=s3.nextInt();Sys

6、temout.print(請輸入磁盤請求序列以空格隔開:);Scanners4=newScanner(Systemin);for(inti=0;icount;i+)Disci=s4.nextInt();publicvoidDelete(intarr,intn)for(inti=n;iarr.length-1;i+)arri=arri+1;publicvoidrunning()intj=0,count1=count;intmin;intdiscc=disqintDiscc=newintcount|;while(j=discc)?(Disc0-discc):(discc-Disc0);for(in

7、ti=0;i=discc)&(Disci-disccmin)|(Discidiscc)&(discc-Disci=discc)?(Disci-discc):(discc-Disci);num=i;Disccj+=Discnum;Distance=min;discc=Discnum;Delete(Disc,num);countl-;AvgDistance=(double)Distancacount;FindTime=perTime*DistanceSystemout.print(n效勞序列:+disc+);for(inti=0;icount;i+)Systemout.print(Discci+);Systemout.println(n總尋道長度:+Distance;Systemout.println(平均尋道長度:+AvgDistance);Systemout.println(尋道時間:+FindTime+ms);publicstaticvoidmain(String口args)Systemout.println(最短尋找時間優(yōu)先算法);SuanfaSuanfa=newSuanfa(disccountperTime,Disc);Suanfa.input();Suanfa.running();四、運(yùn)行結(jié)果程序的運(yùn)行結(jié)果如下圖:五

溫馨提示

  • 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

提交評論