操作系統(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頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(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)康募皟?nèi)容 掌握操作系統(tǒng)的設(shè)備管理功能, 熟悉移動臂調(diào)度算法, 設(shè)計恰當(dāng) 的數(shù)據(jù)結(jié)構(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)度算法有:先來先服務(wù)、最短尋找時間優(yōu)先、 單向掃描、雙向掃描調(diào)度算法等。 三、解決問題思路及關(guān)鍵程序代碼分析 ( 一 ) 最短尋找時間優(yōu)先調(diào)度算法簡介 最短尋找時間調(diào)度算法總是使尋找時間最短的請求最先得到服 務(wù),跟請求者的請求時間先后順序無關(guān)。 這種算法具有比先來先服務(wù) 更好的性能。但是該算法可能會出現(xiàn)請求者被“餓死”的情況,當(dāng)靠 近磁頭的請求源源不斷地到來, 這會使早來的但離磁頭較遠(yuǎn)的請求長 時間得不到服務(wù)。 該算法的優(yōu)點是可以得到較短的平均響應(yīng)時間,有較好的吞吐 量。

3、該算法的缺點是缺乏公平性,對中間磁道的訪問比較“照顧”, 對兩端磁道訪問比較“疏遠(yuǎn)”,相應(yīng)時間的變化幅度較大。該算法與 先來先服務(wù)算法一樣,都會導(dǎo)致移動臂頻繁改向。 (二)算法模擬 1. 對算法設(shè)計進(jìn)行說明 該算法的實現(xiàn)中,主要是選擇調(diào)度處理的磁道是與當(dāng)前磁頭所在 磁道距離最近的磁道,以使每次的尋道時間最短。當(dāng)選擇了某個離當(dāng) 前磁頭所在磁道最近的磁道,下一輪的當(dāng)前磁道便改成了上一輪的最 近磁道,并且把這個最近的磁道從請求序列取消,直到請求序列中不 再有請求的磁道。 2. 關(guān)鍵代碼分析 import .*; import .*; public class private static int m

4、axsize = 100; private static int Disc = new int maxsize ;/ 請求序列 private static int cou nt ; / 要訪問的磁道數(shù) private static int disc ; / 當(dāng)前磁道號 private static int perTime ; /移過每個柱面需要時間 private static int Dista nee =0; /總尋道長度 private static int Fin dTime ;/查找時間 private static double AvgDistanee; / 平均尋道長度 pub

5、lic Suanfa( int disc, int cou nt, int perTime, int Disc) =disc; =cou nt; =perTime; for (int i=0;i;i+) Disci=Disci; public void input() 請輸入當(dāng)前磁道號:“); Scanner s1丄 new Scanner; disc =(); 請輸入要訪問的磁道數(shù):); Scanner s2匕 new Scanner; cou nt =(); 請輸入移過每個柱面需要的時間:”); Scanner s3二 new Scanner; perTime =(); 請輸入磁盤請求序列

6、(以空格隔開) :“); Scanner s4二 new Scanner; for (int i=0;i count ;i+) Disc i=(); public void Delete( int arr, int n) for (int i=n;i;i+) arri=arri+1; public void running() int j=0,count1= count ; int mi n; int discc= disc ; int Discc= new int count ; while (j=discc)( Disc O-discc):(discc-Disc 0); for ( int

7、 i=0;i=discc;) Disccj+= Disc num; Dista nee+=min; discc= Disc num; Delete( Disc ,num); cou nt1-; AvgDistanee =( double ) Distanee/ count FindTime =perTime * Distanee n 服務(wù)序列:+disc +); for (int i=0;icount ;i+) “); n 總尋道長度:+ Distanee ); 平均尋道長度:+AvgDistanee ); 尋道時間:+FindTime +ms); public static void main( Str in g args) 最短尋找時間優(yōu)先算法 “); Suanfa Suanfa= new Suanfa( disc , count , perTime , Disc ); (); (); 四、運行結(jié)果 程序的運行結(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

提交評論