操作系統(tǒng)——移動(dòng)臂調(diào)度算法的實(shí)現(xiàn)_第1頁(yè)
操作系統(tǒng)——移動(dòng)臂調(diào)度算法的實(shí)現(xiàn)_第2頁(yè)
操作系統(tǒng)——移動(dòng)臂調(diào)度算法的實(shí)現(xiàn)_第3頁(yè)
操作系統(tǒng)——移動(dòng)臂調(diào)度算法的實(shí)現(xiàn)_第4頁(yè)
操作系統(tǒng)——移動(dòng)臂調(diào)度算法的實(shí)現(xiàn)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、南京工程學(xué)院上機(jī)實(shí) 驗(yàn) 報(bào) 告 課 程 名 稱(chēng): 操作系統(tǒng) 實(shí)驗(yàn)項(xiàng)目名稱(chēng): 移動(dòng)臂調(diào)度算法的實(shí)現(xiàn) 學(xué)生班級(jí): 學(xué)生學(xué)號(hào): 學(xué)生姓名: 指導(dǎo)教師: 實(shí) 驗(yàn) 時(shí) 間: 實(shí) 驗(yàn) 地 點(diǎn): 信息樓專(zhuān)業(yè)機(jī)房 實(shí)驗(yàn)成績(jī)?cè)u(píng)定: 2016-2017-1學(xué)期一、實(shí)驗(yàn)?zāi)康募皟?nèi)容掌握操作系統(tǒng)的設(shè)備管理功能,熟悉移動(dòng)臂調(diào)度算法,設(shè)計(jì)恰當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)和算法,模擬實(shí)現(xiàn)移動(dòng)臂調(diào)度算法。要求至少模擬實(shí)現(xiàn)一種磁盤(pán)移臂調(diào)度算法。二、實(shí)驗(yàn)相關(guān)知識(shí)簡(jiǎn)介磁盤(pán)移臂調(diào)度的目標(biāo)就是要使磁盤(pán)訪問(wèn)的總時(shí)間中的尋找時(shí)間最小。因此,磁盤(pán)移臂調(diào)度要盡量減少磁盤(pán)移動(dòng)臂移動(dòng)的距離。磁盤(pán)移臂調(diào)度算法很多,常用的也有好幾種,一個(gè)好的磁盤(pán)調(diào)度算法,不僅要使磁盤(pán)尋

2、找時(shí)間最小,同時(shí),還要避免移動(dòng)臂頻繁地改變移動(dòng)方向,因?yàn)轭l繁的改向不僅使時(shí)間增加,還容易損耗機(jī)械部件。常用的磁盤(pán)移臂調(diào)度算法有:先來(lái)先服務(wù)、最短尋找時(shí)間優(yōu)先、單向掃描、雙向掃描調(diào)度算法等。 三、解決問(wèn)題思路及關(guān)鍵程序代碼分析(一) 最短尋找時(shí)間優(yōu)先調(diào)度算法簡(jiǎn)介最短尋找時(shí)間調(diào)度算法總是使尋找時(shí)間最短的請(qǐng)求最先得到服務(wù),跟請(qǐng)求者的請(qǐng)求時(shí)間先后順序無(wú)關(guān)。這種算法具有比先來(lái)先服務(wù)更好的性能。但是該算法可能會(huì)出現(xiàn)請(qǐng)求者被“餓死”的情況,當(dāng)靠近磁頭的請(qǐng)求源源不斷地到來(lái),這會(huì)使早來(lái)的但離磁頭較遠(yuǎn)的請(qǐng)求長(zhǎng)時(shí)間得不到服務(wù)。該算法的優(yōu)點(diǎn)是可以得到較短的平均響應(yīng)時(shí)間,有較好的吞吐量。該算法的缺點(diǎn)是缺乏公平性,對(duì)中間

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

4、0;private static int Disc = new intmaxsize; /請(qǐng)求序列private static int count;/要訪問(wèn)的磁道數(shù)private static int disc; /當(dāng)前磁道號(hào)private static int perTime;/移過(guò)每個(gè)柱面需要時(shí)間private static int Distance=0;/總尋道長(zhǎng)度private static int FindTime;/查找時(shí)間private static double AvgDistance;/平均尋道長(zhǎng)度 public Suanfa(int disc,int count,int p

5、erTime,int Disc)this.disc=disc;this.count=count;this.perTime=perTime;for(int i=0;i<Disc.length;i+)Disci=Disci;public void input() System.out.print("請(qǐng)輸入當(dāng)前磁道號(hào):");Scanner s1=new Scanner(System.in); disc=s1.nextInt();System.out.print("請(qǐng)輸入要訪問(wèn)的磁道數(shù):");Scanner s2=new Scanner(System.in

6、); count=s2.nextInt();System.out.print("請(qǐng)輸入移過(guò)每個(gè)柱面需要的時(shí)間:");Scanner s3=new Scanner(System.in); perTime=s3.nextInt();System.out.print("請(qǐng)輸入磁盤(pán)請(qǐng)求序列(以空格隔開(kāi)):"); Scanner s4=new Scanner(System.in);for(int i=0;i<count;i+)Disci=s4.nextInt();public void Delete(int arr,int n)for(int i=n;i&l

7、t;arr.length-1;i+)arri=arri+1;public void running() int j=0,count1=count;int min;int discc=disc;int Discc=new intcount;while(j<count)int num=0;min=(Disc0>=discc)?(Disc0-discc):(discc-Disc0); for(int i=0;i<count1;i+) if(Disci>=discc)&&(Disci-discc<min)|(Disci<discc)&&

8、;(discc-Disci<min) min=(Disci>=discc)?(Disci-discc):(discc-Disci); num=i; Disccj+=Discnum; Distance+=min; discc=Discnum; Delete(Disc,num); count1-;AvgDistance=(double)Distance/count;FindTime=perTime*Distance;System.out.print("n服務(wù)序列:"+disc+" ");for(int i=0;i<count;i+)Syst

9、em.out.print(Discci+" ");System.out.println("n總尋道長(zhǎng)度:"+Distance);System.out.println("平均尋道長(zhǎng)度:"+AvgDistance);System.out.println("尋道時(shí)間:"+FindTime+"ms");public static void main(String args)System.out.println("-最短尋找時(shí)間優(yōu)先算法-");Suanfa Suanfa=new Suanfa(disc,count,perTime,Disc);Suanfa.input();Suanfa.running();

溫馨提示

  • 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)論