




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)報(bào)告【實(shí)驗(yàn)名稱】一磁盤調(diào)度(二)【實(shí)驗(yàn)?zāi)康摹看疟P調(diào)度中尋道時(shí)間直接影響到數(shù)據(jù)訪問的快慢,處理好磁盤尋道時(shí)間是關(guān)鍵。分別采用掃描策略、循環(huán)掃描策略處理?!緦?shí)驗(yàn)原理】1 .掃描算法(SCANT法)SCA心法,也就是很形象的電梯調(diào)度算法。先按照一個(gè)方向(比如從外向內(nèi)掃描),掃描的過程中依次調(diào)度經(jīng)過的磁道。當(dāng)掃描到最里層的一個(gè)磁道時(shí)反向掃描直至所有磁道都被調(diào)度。2 .循環(huán)掃描算法(CSCANJ法)CSCA湃法,循環(huán)掃描算法,它的思想是,訪問完最里面一個(gè)要求服務(wù)的序列之后,從最外層的序號(hào)開始往里走。也就是始終保持一個(gè)方向,故稱為循環(huán)掃描算法?!緮?shù)據(jù)結(jié)構(gòu)和符號(hào)說明】(1)數(shù)據(jù)結(jié)構(gòu)和符號(hào)說明編譯語百:C
2、+數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體數(shù)組符號(hào)定義:typedefstructTrack/磁道結(jié)構(gòu)體(intid;/磁道序列intstate=0;/是否訪問過,未被訪問置狀態(tài)為0Track;TracktrackN;/最大磁道數(shù)為100當(dāng)前磁道即部分中間變量Tracktrack1N;/復(fù)制的磁道數(shù)組用于輸出intstepN;/移動(dòng)距離intnum,i,current_track,num1;/函數(shù)說明:voidinit()/初始化程序voidinput()/輸入函數(shù)voidsort1()/從小到大排序intabs(inta,intb)/相減的絕對(duì)值intfind_first_bignum()/尋找第一個(gè)最大值intf
3、ind_first_smallnum()/尋找第一個(gè)最小值voidSCAN(intup_or_down)/掃描算法voidCSCAN(intup_or_down)/B環(huán)掃描算法voidoutput(Tracka口)輸出函數(shù)voidoutput_average_track()輸出平均尋道時(shí)間intshow()/顯示用戶界面/返回值為輸入的選擇項(xiàng)流程圖:SCA噂法:CSCAN#法(與SCANB法基本類似):結(jié)果找出離尸時(shí)近道墾近的51代碼:#include<stdio.h>#defineN100typedefstructTrack(intid;/磁道序列intstate=0;/是否訪問
4、過,未被訪問置狀態(tài)為0Track;TracktrackN;/最大磁道數(shù)為100Tracktrack1N;intstepN;/移動(dòng)距離intnum,i,current_track,num1;TN'我土里至土前詼盤最遠(yuǎn)且h于于亳的宙if我巴距離當(dāng)前運(yùn)言最近且大于它的強(qiáng)道逶道訪問mm恒道訪問國(guó)值voidinit()/初始化程序(num=0;for(i=0;i<num;i+)(tracki.state=-1;/id置為1track1i.state=-1;stepi=-1;/移動(dòng)距離為-1voidinput()/輸入函數(shù)(printf("輸入當(dāng)前磁道n");scanf(
5、"%d”,¤t_track);num1=current_track;printf("輸入要訪問的磁道數(shù)目n");scanf("%d",&num);printf("輸入要訪問磁道序列n");for(i=0;i<num;i+)scanf("%d",&tracki.id);voidFCFS()/先來先服務(wù)(for(i=0;i<num;i+)(if(current_track-tracki.id)<0)/求移動(dòng)距離stepi=tracki.id-current
6、_track;elsestepi=current_track-tracki.id;/取絕對(duì)值tracki.state=1;/狀態(tài)置為1current_track=tracki.id;/更新當(dāng)前磁道.intabs(inta,intb)/相減的絕對(duì)值(returna-b>0?a-b:b-a;intSerch_min_pos()/尋找到當(dāng)前磁道最短的需求磁道(intmin=45536;/最小距離標(biāo)志intpos;for(inti=0;i<num;i+)if(tracki.state=1)continue;elseif(min>abs(tracki.id,current_track)
7、/尋找最小距離min=abs(tracki.id,current_track);pos=i;trackpos.state=1;returnpos;/返回在數(shù)組中的位置voidSSTF()/最短尋道優(yōu)先for(i=0;i<num;i+)/計(jì)數(shù)器更新到要輸出的數(shù)組中移動(dòng)距離標(biāo)志track1i=trackSerch_min_pos();/stepi=abs(track1i.id,current_track);/current_track=track1i.id;/.voidoutput(Tracka)/輸出函數(shù)printf("nn<從陽磁道開始>n",num1);
8、printf("=n");/排班printf("被訪問的下一個(gè)磁道tt移動(dòng)距離(磁道數(shù))n");for(i=0;i<num;i+)printf("t%4dtt|t%4dn",ai.id,stepi);printf("=n");voidoutput_average_track()/輸出平均尋道時(shí)間一一doublesum=0;/和for(i=0;i<num;i+)sum+=stepi;printf("平均尋道長(zhǎng)度3.2fnnn",sum/num);/輸出intshow()/顯示用戶界面(
9、intchoose;/選擇printf("n*早期的磁盤調(diào)度算法*?)printf("tt1、先來先服務(wù)(FCFS)n");printf("tt2、最短尋道時(shí)間優(yōu)先(SSTF)n");printf("tt3、退出(EXIT)n");scanf("%d”,&choose);returnchoose;intmain()(do(init();switch(show()/返回值是選擇(case1:/FCFSinput();FCFS();output(track);output_average_track();bre
10、ak;case2:/最短尋道input();SSTF();output(track1);output_average_track();break;case3:/退出return0;default:break;while(1);return0;截圖:主界面開始,輸入選擇先來先服務(wù)還是最短尋道優(yōu)先,輸入當(dāng)前磁道,輸入要訪問的磁道,輸入要訪問的磁道序列。SCAN算法輸入當(dāng)前磁道100,9個(gè)磁道,分別為555839189016015038184,此時(shí)選擇方向向上結(jié)果正確。輸入當(dāng)前磁道100,9個(gè)磁道,分別為555839189016015038184,此時(shí)選擇方向向下結(jié)果正確。為39IB加1&Q
11、150381S402313:、向_L,向I'<M1W"傕道開始1被訪問的下個(gè)磁道go出55如3818150160184平均尋遒長(zhǎng)匹笛561辜*:串*0*早周的棲需訓(xùn)瞋林法*4*4*U掃描算法(2CAX)2,曾環(huán)掃CSC&O3、退Hl(EXITJCSCAN算法輸入當(dāng)前磁道100,9個(gè)磁道,分別為555839189016015038184,此時(shí)選擇方向向上結(jié)果正確。C+Uqe位,”土0a-口05:口2%作1好聲鼻在工2輸入要訶間磁道序列55曬加用船16013038184選擇方1向】、向上一2.向卜1從100號(hào)威道甲婦.MGOJ11S掰泅而SSW111±個(gè)破
12、道移動(dòng)距離(磁道城)50102416620116332,均J道匕度3378*+»*«*=1:*早期的I8盤調(diào)度黨法*+*+*¥*E打播算法(SC廊2、的環(huán)耳藉算法化SCAN)3.電出T)輸入當(dāng)前磁道100,9個(gè)磁道,分別為555839189016015038184,此時(shí)選擇方向向上結(jié)果正確?!拘〗Y(jié)與討論】1、掃描算法又稱為電梯算法,其原理與電梯運(yùn)行情況相似,即運(yùn)行方向上的請(qǐng)求優(yōu)先,若是訪問方向向上,則先依次訪問較大的磁道號(hào)至頂,再向下訪問嬌小的磁道號(hào);若是訪問方向向下,則先依次訪問較小的磁道號(hào)至底,再向上訪問嬌大的磁道號(hào)。2、循環(huán)掃描算法又稱為單向電梯算法,若是訪問方向向上,則向上依次訪問完較大的磁道號(hào)后,返回最低端,依次向上訪問較小的磁道號(hào);若是訪問方向向下,則向下依次訪問完較小的磁道號(hào)后,返回最頂端,依次向下訪問較大的磁道號(hào)。3、此次實(shí)驗(yàn)我用兩個(gè)數(shù)組分別存放了一個(gè)磁道表和復(fù)制的磁道表,根據(jù)兩個(gè)算法的原理,只要將其進(jìn)行排序,然后分別對(duì)兩個(gè)數(shù)組進(jìn)行正向和逆向的訪問即可。4、具體實(shí)現(xiàn)時(shí),我將兩種算法的兩種初始掃描方向?qū)懺诹艘粋€(gè)函數(shù)之中,調(diào)用時(shí)通過參數(shù)scan和參數(shù)up_or_down設(shè)置。并設(shè)置了尋找大于當(dāng)前數(shù)組的最近最小值和最近的大值進(jìn)行選擇結(jié)果,這是因?yàn)槌跏即诺捞?hào)將磁道數(shù)組分成上下
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 技術(shù)升級(jí)項(xiàng)目合同借款協(xié)議
- 合同管理培訓(xùn)與人才培養(yǎng)的建議
- 餐飲業(yè)原料采購(gòu)合同(安全食品專用)
- 勞動(dòng)合同范本:外來專業(yè)技術(shù)人才
- 商業(yè)地皮交易合同書
- 蘇州市模范勞動(dòng)合同樣本
- 四人合作創(chuàng)業(yè)股份分配合同范本
- 年度合作合同:速記服務(wù)條款
- 液化氣采購(gòu)框架合同
- 購(gòu)物中心投資合同樣本
- 中建建筑電氣工程施工方案
- 復(fù)變函數(shù)論 鐘玉泉 第四版 課后習(xí)題答案詳解解析
- 焊接與熱切割作業(yè)實(shí)操培訓(xùn)
- 《學(xué)習(xí)地圖》課件
- 《輕鋼建筑》課件
- 尿源性膿毒血癥護(hù)理
- 日本留學(xué)中介簽約合同
- 《地區(qū)智能電網(wǎng)調(diào)度技術(shù)支持系統(tǒng)應(yīng)用功能規(guī)范》
- 框架借款協(xié)議書(2篇)
- 鐵路安全應(yīng)急預(yù)案
- 《城市軌道交通車輛構(gòu)造》 課件 2.2 不銹鋼車體結(jié)構(gòu)認(rèn)知
評(píng)論
0/150
提交評(píng)論