操作系統(tǒng)課程設(shè)計(jì)磁盤調(diào)度先來先服務(wù)算法完整版_第1頁
操作系統(tǒng)課程設(shè)計(jì)磁盤調(diào)度先來先服務(wù)算法完整版_第2頁
操作系統(tǒng)課程設(shè)計(jì)磁盤調(diào)度先來先服務(wù)算法完整版_第3頁
操作系統(tǒng)課程設(shè)計(jì)磁盤調(diào)度先來先服務(wù)算法完整版_第4頁
操作系統(tǒng)課程設(shè)計(jì)磁盤調(diào)度先來先服務(wù)算法完整版_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、itIviimiMiiB iiriiimljiiilL jUb 一HiHiMiriruriHUA system office room【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】團(tuán)結(jié)奉獻(xiàn)拼搏操作系統(tǒng)原理課程設(shè)計(jì)報(bào)告書題目:磁盤調(diào)度先來先服務(wù)算法學(xué)號(hào):學(xué)生姓名:專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)教師:2014 年 5 月 29目錄 TOC o 1-5 h z HYPERLINK l bookmark7 o Current Document 1.1功能實(shí)現(xiàn)思想1 HYPERLINK l bookmark10 o Current Document 1.2功能詳述12系統(tǒng)設(shè)計(jì)12.1系統(tǒng)總

2、體設(shè)計(jì)12.1.1數(shù)據(jù)結(jié)構(gòu)描述1 HYPERLINK l bookmark13 o Current Document 2.1.2函數(shù)功能分析1 HYPERLINK l bookmark16 o Current Document 2.1.2程序函數(shù)調(diào)用關(guān)系22.2系統(tǒng)詳細(xì)設(shè)計(jì)22.2.1設(shè)計(jì)任務(wù)2 HYPERLINK l bookmark23 o Current Document 2.2.2設(shè)計(jì)要求2 HYPERLINK l bookmark26 o Current Document 2.2.3算法思想2 HYPERLINK l bookmark29 o Current Document 2.2

3、.4FCFS算法流程圖3 HYPERLINK l bookmark32 o Current Document 3系統(tǒng)實(shí)現(xiàn)34系統(tǒng)測(cè)試與分析4 HYPERLINK l bookmark39 o Current Document 4.1系統(tǒng)運(yùn)行結(jié)果44.2系統(tǒng)運(yùn)行結(jié)果分析4 HYPERLINK l bookmark42 o Current Document 5總結(jié)5 HYPERLINK l bookmark45 o Current Document 參考文獻(xiàn)5 HYPERLINK l bookmark48 o Current Document 附:源程序代碼6教師評(píng)分表91功能描述根據(jù)進(jìn)程請(qǐng)求訪問

4、磁盤的先后次序進(jìn)行調(diào)度,從而計(jì)算出磁頭移動(dòng)的總距離和平均尋道長 度。1.1功能實(shí)現(xiàn)思想這是一種比較簡單的磁盤調(diào)度算法。它根據(jù)進(jìn)程請(qǐng)求訪問磁盤的先后次序進(jìn)行調(diào)度。此算 法的優(yōu)點(diǎn)是公平、簡單,且每個(gè)進(jìn)程的請(qǐng)求都能依次得到處理,不會(huì)出現(xiàn)某一進(jìn)程的請(qǐng)求 長期得不到滿足的情況。此算法由于未對(duì)尋道進(jìn)行優(yōu)化,在對(duì)磁盤的訪問請(qǐng)求比較多的情 況下,此算法將降低設(shè)備服務(wù)的吞吐量,致使平均尋道時(shí)間可能較長,但各進(jìn)程得到服務(wù) 的響應(yīng)時(shí)間的變化幅度較小。1.2功能詳述根據(jù)進(jìn)程請(qǐng)求訪問磁盤的先后次序進(jìn)行調(diào)度,首先根據(jù)提示輸入總的磁道數(shù)、提出磁盤 I/O申請(qǐng)的進(jìn)程數(shù)、開始磁道號(hào)和磁道序列。通過程序調(diào)用函數(shù)輸出磁盤請(qǐng)求序列和

5、磁盤 掃描序列,從而計(jì)算出磁頭移動(dòng)的總距離和平均尋道長度。2系統(tǒng)設(shè)計(jì)2.1系統(tǒng)總體設(shè)計(jì)2.1.1數(shù)據(jù)結(jié)構(gòu)描述voidFCFS(intcidao,intm)輸入磁道號(hào),按先來先服務(wù)的策略輸出磁盤請(qǐng)求序列和 磁盤掃描序列,求移動(dòng)的總距離和平均尋道長度,輸出移動(dòng)的總磁道數(shù)和平均尋道長度。2.1.2函數(shù)功能分析由于一開始要對(duì)鍵盤輸入的磁道數(shù)和要使用的算法進(jìn)行一次有效性的判斷,我使用了 intdecide(charstr 口),如果輸入的信息不是09之間的數(shù)都將被判定為不合法,合法后 才能進(jìn)行下一步。判斷完合法性后,要將輸入的字符轉(zhuǎn)化為數(shù)字,這里我用了 inttrans(charstr,inta)。先來

6、先服務(wù)調(diào)度算法我使用了voidFCFS(intcidao,intm),該算法主要完成按原來鍵盤輸入的次序來尋道,然后輸出 移動(dòng)的總磁道數(shù)和平均尋道長度。2.1.2程序函數(shù)調(diào)用關(guān)系下圖為磁盤調(diào)度算法之先來先服務(wù)的函數(shù)之間的調(diào)用關(guān)系,主函數(shù)調(diào)用子函數(shù),子函數(shù)也 可以調(diào)用子函數(shù)。 mainFCFS ()decidetrans ()圖1程序函數(shù)調(diào)用關(guān)系2.2系統(tǒng)詳細(xì)設(shè)計(jì)2.2.1設(shè)計(jì)任務(wù)本系統(tǒng)采用先來先服務(wù)算法FCFS,來實(shí)現(xiàn)磁盤調(diào)度的模擬。2.2.2設(shè)計(jì)要求根據(jù)磁盤調(diào)度算法的思想,編程實(shí)現(xiàn)求先來先服務(wù)算法的平均尋道長度。2.2.3算法思想先來先服務(wù)的算法,即先來的請(qǐng)求先被響應(yīng)。FCFS算法看起來是比

7、較合理的算法, 但是當(dāng)請(qǐng)求頻率過高的時(shí)候FCFS算法的響應(yīng)時(shí)間就會(huì)大大的延長,這也是最基本的算 法,直接實(shí)現(xiàn)的是由輸入的順序來順序的執(zhí)行。2.2.4FCFS算法流程圖圖2FCFS算法流程圖3系統(tǒng)實(shí)現(xiàn)1)開發(fā)環(huán)境:Window?2)開發(fā)工具和編程語言開發(fā)工具:VisualC+6.0編程語言:C+4系統(tǒng)測(cè)試與分析4.1系統(tǒng)運(yùn)行結(jié)果圖3運(yùn)行結(jié)果4.2系統(tǒng)運(yùn)行結(jié)果分析根據(jù)系統(tǒng)提示進(jìn)行輸入數(shù)據(jù),如輸入的總磁道數(shù)為9,磁盤I/。申請(qǐng)的進(jìn)程數(shù)為9,輸入 的磁道系列為555839189016015038184,輸入開始磁道號(hào):100 (當(dāng)輸入的數(shù)據(jù)類型有誤 是,會(huì)提醒重新輸入),可以得到磁盤請(qǐng)求的序列和掃描的

8、序列都為 555839189016015038184,也得到了移動(dòng)的總磁道數(shù)為498和平均尋道長度為55.3333。 實(shí)驗(yàn)結(jié)果符合預(yù)想的結(jié)果。5總結(jié)通過本次課程設(shè)計(jì),我對(duì)磁盤的調(diào)度算法之先來先服務(wù)有了更深的了解,但在本次課 程設(shè)計(jì)過程也遇到了一些問題,最后在同學(xué)的幫助下通過各種嘗試,發(fā)現(xiàn)需將字符轉(zhuǎn)化成 數(shù)字,這也算是一個(gè)不小的收獲吧??傮w而言,本次課設(shè)讓我學(xué)會(huì)了很多,也讓我對(duì)以前 學(xué)過的知識(shí)回顧了很多,本次課程設(shè)計(jì)涉及的算法并不難,都是些基本的算法,所以告訴 我們要打好基礎(chǔ),學(xué)好數(shù)據(jù)結(jié)構(gòu)也是很重要的。還有就是讓我對(duì)操作系統(tǒng)的基礎(chǔ)知識(shí)了解 得更透徹了。我深刻認(rèn)識(shí)到算法的邏輯性對(duì)程序的重要影響,算

9、法的準(zhǔn)確度對(duì)程序運(yùn)行結(jié) 果的重要影響,這對(duì)我以后在操作系統(tǒng)的學(xué)習(xí)中有極大幫助。參考文獻(xiàn)【1】湯小丹湯子瀛計(jì)算機(jī)操作系統(tǒng)(第三版)西安電子科技大學(xué)出版社【2】付永華王素立薛海燕C+高級(jí)語言程序設(shè)計(jì)中國電力出版社【3】張海云計(jì)算機(jī)操作系統(tǒng)原理實(shí)驗(yàn)指導(dǎo)書中國電力出版社附:源程序代碼#include#include#include#includeusingnamespacestd;#definemaxsize100/定義最大數(shù)組域intdecide(charstr)/判斷輸入數(shù)據(jù)是否有效(inti=0;while(stri!=0)if(stri9)(return。;break;i+;returni;i

10、nttrans(charstr,inta)/將字符串轉(zhuǎn)換成數(shù)字(inti;intsum=0;for(i=0;ia;i+)sum=sum+(int)(stri0)*pow(10,aiT);returnsum;voidFCFS(intcidao,intm)/磁道號(hào)數(shù)組,個(gè)數(shù)為 m(intbeginnumber;/開始的磁道號(hào)intsum=0;/總尋道長度intj,i;inta;/字符串個(gè)數(shù)charstr100;floatave;/平均尋道長度B:coutstr;/對(duì)輸入數(shù)據(jù)進(jìn)行有效性判斷a=decide(str);if(a=0)cout輸入數(shù)據(jù)的類型錯(cuò)誤,請(qǐng)重新輸入! endl;gotoB;/輸入

11、錯(cuò)誤,跳轉(zhuǎn)到B,重新輸入elsebeginnumber二trans(str,a);/輸入開始的磁道號(hào)sum+=abs(cidao0-beginnumber);cout磁盤請(qǐng)求序列為:;for(i=0;im;i+)/按先來先服務(wù)的策略輸出磁盤請(qǐng)求序列(coutcidaoi;coutendl;cout磁盤掃描序列為:;for(i=0;im;i+)/輸出磁盤掃描序列(coutcidaoi;for(i=0,j=1;jm;i+,j+)/求平均尋道長度(sum+=abs(cidaoj-cidaoi);ave=(float)(sum)/(float)(m);coutendl;cout移動(dòng)的總磁道數(shù)為:sum

12、endl;cout ”平均尋道長度:aveendl;voidmain()(coutendl;cout 計(jì)算機(jī)科學(xué)與技術(shù)”endl;cout cout 張?jiān)耕恊ndl;coutendl;inta;intcidaomaxsize;inti=0,number;intn;coutn;coutendl;intm;coutm;coutendl;charstr100;A:cout請(qǐng)輸入磁道序列(0結(jié)束):str;/對(duì)輸入數(shù)據(jù)進(jìn)行有效性判斷 a=decide(str);if(a=0)(cout輸入數(shù)據(jù)的類型錯(cuò)誤,請(qǐng)重新輸入! str;/對(duì)輸入數(shù)據(jù)進(jìn)行有效性判斷a=decide(str);if(a=0)cout輸入數(shù)據(jù)的類型錯(cuò)誤,請(qǐng)重新輸入! endl;elsecidaoi=trans(str,a);i+;number=i-1;/要訪問的磁道數(shù)cout 您輸入的磁道序列為:;for(i=0;inumber;i+)(coutcidaoi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論