操作系統——移動臂調度算法的實現_第1頁
操作系統——移動臂調度算法的實現_第2頁
操作系統——移動臂調度算法的實現_第3頁
操作系統——移動臂調度算法的實現_第4頁
操作系統——移動臂調度算法的實現_第5頁
免費預覽已結束,剩余2頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、南京工程學院上機實驗報告課程名稱:操作系統實驗工程名稱:移動臂調度算法的實現學生班級:學生學號:學生姓名:指導教師:實驗時間:實驗地點:信息樓專業機房實驗成績評定:2021-2021-1學期一、實驗目的及內容掌握操作系統的設備治理功能,熟悉移動臂調度算法,設計恰當的數據結構和算法,模擬實現移動臂調度算法.要求至少模擬實現一種磁盤移臂調度算法.二、實驗相關知識簡介磁盤移臂調度的目標就是要使磁盤訪問的總時間中的尋找時間最小.因此,磁盤移臂調度要盡量減少磁盤移動臂移動的距離.磁盤移臂調度算法很多,常用的也有好幾種,一個好的磁盤調度算法,不僅要使磁盤尋找時間最小,同時,還要防止移動臂頻繁地改變移動方向

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

3、化幅度較大.該算法與先來先效勞算法一樣,都會導致移動臂頻繁改向.二算法模擬1 .對算法設計進行說明該算法的實現中,主要是選擇調度處理的磁道是與當前磁頭所在磁道距離最近的磁道,以使每次的尋道時間最短.中選擇了某個離當前磁頭所在磁道最近的磁道,下一輪的當前磁道便改成了上一輪的最近磁道,并且把這個最近的磁道從請求序列取消,直到請求序列中不再有請求的磁道.2 .關鍵代碼分析importjava.io.*;importjava.util.*;publicclass(privatestaticintprivatestaticintprivatestaticintprivatestaticintmaxsiz

4、e=100;Disc口=newintmaxsize;/請求序列count;/要訪問的磁道數disc;/當前磁道號privatestaticprivatestaticintperTime;/移過每個柱面需要時間intDistance=0;/總尋道長度privatestaticintFindTime;/查找時間privatestaticdoubleAvgDistance;/平均尋道長度publicSuanfa(intdisc,intcount,intperTime,intDisc口)this.disc=disc;this.count=count;this.perTime=perTime;for(i

5、nti=0;i<Disc.length;i+)Disci=Disci;publicvoidinput()System.out.print("請輸入當前磁道號:");Scanners1=_newScanner(System.in);disc=s1.nextInt();System.out.print("請輸入要訪問的磁道數:");Scanners2二newScanner(System.in);count=s2.nextInt();System.out.print("請輸入移過每個柱面需要的時間:");Scanners3=_newS

6、canner(System.in);perTime=s3.nextInt();System.out.print("請輸入磁盤請求序列(以空格隔開):");Scanners4=_newScanner(System.in);for(inti=0;i<count;i+)Disci=s4.nextInt();publicvoidDelete(intarr,intn)for(inti=n;i<arr.length-1;i+)arri=arri+1;publicvoidrunning()intj=0,count1=count;intmin;intdiscc=disc;int

7、Discc=newintcount;while(j<count)Disc0);intnum=0;min=(Disc0>=discc)?(Disc0-discc):(discc-for(inti=0;i<count1;i+)if(Disci>=discc)&&(Disci-discc<min)|(Disci<discc)&&(discc-Disci卜min)(min=(Disci>=discc)?(Disci-discc):(discc-Disci);num=i;)Disccj+=Discnum;Distance+=min

8、;discc=Discnum;Delete(Disc,num);count1-;)AvgDistance=(double)Distance/countFindTime=perTime*Distance;System.out.print("n效勞序列:"+disc+"");for(inti=0;i<count;i+)System.out.print(Discci+"");System.out.println(System.out.println(System.out.println("n總尋道長度:"+Dist

9、ance);"平均尋道長度:"+AvgDistance);尋道時間:"+FindTime+"ms");)publicstaticvoidmain(Stringargs)(System.out.println("最短尋找時間優先算法");,count,perTime,Disc);SuanfaSuanfa=newSuanfa(discSuanfa.input();Suanfa.running();)四、運行結果程序的運行結果如下圖:am*LvVMpri-nn-ihl/M.hL*vt|WL-rJTMIririvIMUItMUmmw

10、IMUpn&LbCMtOtutRHI-掰j事DWMyE"t;mpj*F|*f*r.tar(uiI:L*dltH-H(Th;Li?93HCl|dtK|il;Wmbmi-mitcwrS4n.'lm.3;.RraUiTtgh-ew打mem!.nE'mtf為二3Uuw內i*aa“2TVFjE產iVMJ11mu卜-.金StltwRid.彳上力麻展單:1,.iljiemsImji.rt.J:i|wf'li_-1.,Miyi*:已廢止R五UM|J»M莊用配序口.小|(¥日:叩汩卬口1:4箱口11葡而14圓門萬口1111.山?.口.口814了.山州第占印一一一一一.更等盤時間優先班法-謫斗足當前時號:-款修人我訪問的審卷如1后看5;幾幅過百i.書面離卷麗對間:5鼻甯/用費H事序列以空格牖開::1BII41.酌心口M7S35-1H京舞序列:454fiM55培

溫馨提示

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

評論

0/150

提交評論