版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、磁盤(pán)調(diào)度算法學(xué)生:學(xué)生學(xué)號(hào):專業(yè)班級(jí):指導(dǎo)老師:2013年6 月 20日1、實(shí)驗(yàn)?zāi)康?:通過(guò)這次實(shí)驗(yàn),加深對(duì)磁盤(pán)調(diào)度算法的理解,進(jìn)一步掌握先來(lái)先 服務(wù) FCFS、最短尋道時(shí)間優(yōu)先 SSTF、 SCAN 和循環(huán) SCAN 算法的 實(shí)現(xiàn)方法。2、問(wèn)題描述:設(shè)計(jì)程序模擬先來(lái)先服務(wù) FCFS、最短尋道時(shí)間優(yōu)先 SSTF、SCAN 和循環(huán) SCAN 算法的工作過(guò)程。假設(shè)有 n 個(gè)磁道號(hào)所組成的磁道訪 問(wèn)序列,給定開(kāi)始磁道號(hào) m 和磁頭移動(dòng)的方向(正向或者反向) ,分 別利用不同的磁盤(pán)調(diào)度算法訪問(wèn)磁道序列, 給出每一次訪問(wèn)的磁頭移 動(dòng)距離,計(jì)算每種算法的平均尋道長(zhǎng)度。3、需求分析 通過(guò)這次實(shí)驗(yàn),加深對(duì)磁盤(pán)
2、調(diào)度算法的理解,進(jìn)一步掌握先來(lái)先 服務(wù) FCFS、最短尋道時(shí)間優(yōu)先 SSTF、 SCAN 和循環(huán) SCAN 算法的 實(shí)現(xiàn)方法。通過(guò)已知開(kāi)始磁道數(shù)、訪問(wèn)磁道總數(shù)、磁道號(hào)訪問(wèn)序列、訪問(wèn)方 向及訪問(wèn)方式得到訪問(wèn)序列及移動(dòng)距離和平均移動(dòng)距離!(1) 輸入的形式;int TrackOrderMaxNumber;/ 被訪問(wèn)的磁道號(hào)序列int direction;/尋道方向int Num;/ 訪問(wèn)的磁道號(hào)數(shù)目int start;/(2) 輸出的形式;int MoveDistanceMaxNumber=0;/ 移動(dòng)距離double AverageDistance=0;/ 平均尋道長(zhǎng)度移動(dòng)的序列!(3) 程序所
3、能達(dá)到的功能;模擬先來(lái)先服務(wù) FCFS、最短尋道時(shí)間優(yōu)先 SSTF、SCAN 和循環(huán) SCAN 算法的工作過(guò)程。假設(shè)有 n 個(gè)磁道號(hào)所組成的磁道訪問(wèn)序列, 給定開(kāi)始磁道號(hào) m 和磁頭移動(dòng)的方向(正向或者反向) ,分別利用不 同的磁盤(pán)調(diào)度算法訪問(wèn)磁道序列,給出每一次訪問(wèn)的磁頭移動(dòng)距離, 計(jì)算每種算法的平均尋道長(zhǎng)度。(4) 測(cè)試數(shù)據(jù),包括正確的輸入及其輸出結(jié)果和含有錯(cuò)誤的輸入及其 輸出結(jié)果。開(kāi)始磁道號(hào): 100磁道號(hào)方向:(0)和外( 1)磁道號(hào)數(shù)目: 9頁(yè)面序列: 55 58 39 18 90 160 150 38 1844、概要設(shè)計(jì)說(shuō)明本程序中用到的所有抽象數(shù)據(jù)類型的定義、 主程序的流程以 及
4、各程序模塊之間的層次 (調(diào)用) 關(guān)系。int TrackOrderMaxNumber;/ 被訪問(wèn)的磁道號(hào)序列int MoveDistanceMaxNumber=0;/ 移動(dòng)距離double AverageDistance=0;/ 平均尋道長(zhǎng)度int direction;/ 尋道方向int Num;/ 訪問(wèn)的磁道號(hào)數(shù)目int start;/ 開(kāi) 始 磁 道 號(hào)5、詳細(xì)設(shè)計(jì)實(shí)現(xiàn)程序模塊的具體算法6、調(diào)試分析(1) 調(diào)試過(guò)程中遇到的問(wèn)題以及解決方法,設(shè)計(jì)與實(shí)現(xiàn)的回顧討 論和分析;在SCAN_CSA算N法中在訪問(wèn)不同的數(shù)組時(shí)沒(méi)有注意到上一個(gè)磁 道號(hào)和要訪問(wèn)的磁道號(hào)的大小比較導(dǎo)致結(jié)果不對(duì), 后來(lái)在分析結(jié)
5、果中 找出原因。(2) 算法的性能分析 ( 包括基本操作和其它算法的時(shí)間復(fù)雜度和空間復(fù)雜度的分析 ) 及其改進(jìn)設(shè)想;FCFS:時(shí)間復(fù)雜度為 O(1) 空間復(fù)雜度為: O(1)SSTF:時(shí)間復(fù)雜度為 O(n2) 空間復(fù)雜度為: O(1)SCAN_CSA:N時(shí)間復(fù)雜度為 O( n2) 空間復(fù)雜度為: O(1) 7、用戶使用說(shuō)明程序的使用說(shuō)明,列出每一步的操作步驟( 1)輸入開(kāi)始磁道號(hào)( 2)輸入訪問(wèn)磁道號(hào)總數(shù)( 3)輸入訪問(wèn)磁道號(hào)序列序列(4)選擇算法( 5)選擇方向( 6)得出結(jié)果8、測(cè)試結(jié)果請(qǐng)塔J繼續(xù)還是結(jié)束,0:繼續(xù);1:結(jié)束0請(qǐng)選擇算法:1-FCFS, 2-SSTF, 3-SCAN. 4-
6、循環(huán)SCAN: 2 務(wù)動(dòng)順序 移動(dòng)距離7222 3 0 42 0 16 12 23 13 110 0 4 85988568 - ) u u Ik IL IL IL均尋道長(zhǎng)度:46.7?8繼續(xù);結(jié)束2-SSTF, 3-SCAN, 4-循環(huán)SCAN: 3 ,0;增加;誠(chéng)少: 0:向離 束FS方距 結(jié)FC間動(dòng) 是還2號(hào) 續(xù)迭道繼算磁序0 譯譯入順5選選0 圭冃主冃主51601018424909483255339163811820均尋道長(zhǎng)度:27.77780:繼續(xù);1:結(jié)束02-SSTF, 3-SCftN, 4-循壞SCAN: 3,0:增加;1:誠(chéng)少: 1;向離 束FS方距 結(jié)FC問(wèn)動(dòng) 是-還號(hào) 繼算
7、黑 菱入順1032一選選舅土冃主冃主0 8 5391638118201501321601W18424均尋道長(zhǎng)度;27.55569、存在問(wèn)題在求移動(dòng)距離時(shí),若調(diào)用的庫(kù)函數(shù)求絕對(duì)值會(huì)更方便!10、心得體會(huì)首先要明確磁盤(pán)調(diào)度的原理, 畫(huà)出算法流程圖! 這樣在解決問(wèn)題 時(shí)更容易 !11、附錄程序源代碼:#include #define MaxNumber 100void FCFS(int TrackOrderMaxNumber,int MoveDistanceMaxNumber,double AverageDistance,int start,int Num)int i,temp=start,sum=
8、0;cout 移動(dòng)順序 移動(dòng)距離 endl;for(i=0;itemp)MoveDistancei=TrackOrderi-temp;elseMoveDistancei=temp-TrackOrderi;sum+=MoveDistancei;temp=TrackOrderi;coutTrackOrderi MoveDistanceiendl;coutendl;AverageDistance=sum*1.0/Num;cout 平均尋道長(zhǎng)度: AverageDistanceendl;void SSTF(int TrackOrderMaxNumber,int MoveDistanceMaxNumbe
9、r, double AverageDistance,int start,int Num)int temp=start, sum=0,s,count=0,min;int kindMaxNumber=0;cout 移動(dòng)順序 移動(dòng)距離 endl;while(countNum)for(int i=0;itemp)min=TrackOrderi-temp;elsemin=temp-TrackOrderi;s=i;break;int temp1;for( i=0;itemp) temp1=TrackOrderi-temp;elsetemp1=temp-TrackOrderi;if(temp1min & k
10、indi=0)min=temp1;s=i;MoveDistancecount=min; sum+=MoveDistances; temp=TrackOrders;coutTrackOrders MoveDistancesendl; kinds=1;count+;coutendl;AverageDistance=sum*1.0/Num;cout 平均尋道長(zhǎng)度: AverageDistanceendl;從小到大排序void paixu(int aMaxNumber,int n,int TrackOrderMaxNumber)/int sym=0;while(sym=0)int kind=0;for
11、(int i=0;iTrackOrders2)int s=ai+1;ai+1=ai;ai=s;kind=1;if(kind=0)sym=1;void SCAN_CSAN(int TrackOrderMaxNumber,int MoveDistanceMaxNumber, double AverageDistance,int start,int Num,int direction,int chioce)int sum=0;int aMaxNumber,bMaxNumber;int temp=start;int i,num1=0,num2=0;cout 移動(dòng)順序 移動(dòng)距離 endl;for(i=0
12、;i temp)anum1=i;num1+;elsebnum2=i;num2+;paixu(a,num1,TrackOrder);/ 將數(shù)組按從小到達(dá)排序 paixu(b,num2,TrackOrder);/ 將數(shù)組按從小到達(dá)排序int s;if(direction=0) / 訪問(wèn)方向向外for(i=0;inum1;i+)/先訪問(wèn) num1并從前往后訪問(wèn)s=ai;MoveDistances=TrackOrders-temp;sum+=MoveDistances;temp=TrackOrders;coutTrackOrders MoveDistances=0;i-) /再訪問(wèn) num2 并且從后
13、往前訪問(wèn)s=bi;MoveDistances=temp-TrackOrders;sum+=MoveDistances;temp=TrackOrders;coutTrackOrders MoveDistancesendl;else /CSAN 算法s=b0;MoveDistances=temp-TrackOrders; sum+=MoveDistances;temp=TrackOrders;coutTrackOrders MoveDistancesendl;for(i=1;inum2;i+) /再訪問(wèn) num2 并且從前往后訪問(wèn)s=bi; MoveDistances=TrackOrders-te
14、mp;sum+=MoveDistances;temp=TrackOrders;coutTrackOrders MoveDistances=0;i-)/先訪問(wèn) num2并且從后往前訪問(wèn)s=bi;MoveDistances=temp-TrackOrders; sum+=MoveDistances;temp=TrackOrders; coutTrackOrders MoveDistancesendl;if(chioce=3) /SCAN 算法f or(i=0;inum1;i+)/再訪問(wèn) num1 并且從前往后訪問(wèn)s=ai;MoveDistances=TrackOrders-temp; sum+=Mo
15、veDistances;temp=TrackOrders;coutTrackOrders MoveDistancesendl;else /CSAN 算法 s=anum1-1;MoveDistances=TrackOrders-temp; sum+=MoveDistances;temp=TrackOrders; coutTrackOrders MoveDistances=0;i-)/再訪問(wèn) num1 并且從后往前訪問(wèn) s=ai;MoveDistances=temp-TrackOrders; sum+=MoveDistances;temp=TrackOrders;coutTrackOrders M
16、oveDistancesendl;coutendl;AverageDistance=sum*1.0/Num;cout 平均尋道長(zhǎng)度: AverageDistanceendl;void main()int TrackOrderMaxNumber;/ 被訪問(wèn)的磁道號(hào)序列int MoveDistanceMaxNumber=0;/ 移動(dòng)距離double AverageDistance=0;/ 平均尋道長(zhǎng)度int direction;/ 尋道方向int Num;/ 訪問(wèn)的磁道號(hào)數(shù)目int start;/ 開(kāi)始磁道號(hào)int kind=0,chioce;coutstart;coutNum;cout 請(qǐng)輸入被訪問(wèn)的磁道號(hào)序列: ;for(int i=0;iTrackOrderi;while(kind=0)coutchioce;if(c
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年股權(quán)激勵(lì)合同:股權(quán)獎(jiǎng)勵(lì)與業(yè)績(jī)掛鉤條款3篇
- 2025年度濾袋材料費(fèi)用合同采購(gòu)與項(xiàng)目進(jìn)度管理合同3篇
- 2025年度網(wǎng)絡(luò)安全防護(hù)設(shè)備采購(gòu)合同范本與安全等級(jí)保護(hù)2篇
- 學(xué)生校園欺凌情況調(diào)查問(wèn)卷
- 敢于擔(dān)當(dāng)善于化解難題體會(huì)
- 護(hù)理人力資源管理1
- 黨史知識(shí)競(jìng)賽題庫(kù)及答案-一起學(xué)習(xí)黨史吧
- 八一南昌起義的意義是什么
- 2024版地方特色農(nóng)產(chǎn)品購(gòu)銷合作合同版
- 2024集體土地租賃協(xié)議書(shū)
- 最新VTE指南解讀(靜脈血栓栓塞癥的臨床護(hù)理指南解讀)
- 生產(chǎn)計(jì)劃控制程序文件
- 山東省濟(jì)南市2022年中考英語(yǔ)情景運(yùn)用拔高練習(xí)(Word版含答案)
- 護(hù)理查房-糖尿病足 PPT課件
- 強(qiáng)力夯實(shí)加固地基質(zhì)量通病防治
- (高清正版)T-CAGHP 015—2018地質(zhì)災(zāi)害治理工程監(jiān)理預(yù)算標(biāo)準(zhǔn)(試行)
- Q∕GDW 12083-2021 輸變電設(shè)備物聯(lián)網(wǎng)無(wú)線節(jié)點(diǎn)設(shè)備技術(shù)規(guī)范
- 公司物流倉(cāng)儲(chǔ)規(guī)劃方案及建議書(shū)
- 智能掃地機(jī)器人畢業(yè)設(shè)計(jì)
- 佳能EOS7D數(shù)碼單反相機(jī)說(shuō)明書(shū)
- 大型焰火燃放活動(dòng)方案審批表
評(píng)論
0/150
提交評(píng)論