




已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
磁盤調(diào)度算法的模擬實(shí)現(xiàn) 學(xué) 院 專 業(yè) 學(xué) 號(hào) 學(xué) 生 姓 名 指導(dǎo)教師姓名 2014年3月19日 目錄一、 課設(shè)簡(jiǎn)介21.1 課程設(shè)計(jì)題目21.2 課程設(shè)計(jì)目的21.3 課程設(shè)計(jì)要求2二、 設(shè)計(jì)內(nèi)容32.1功能實(shí)現(xiàn)32.2流程圖3 2.3具體內(nèi)容. 3三、 測(cè)試數(shù)據(jù).43.3 測(cè)試用例及運(yùn)行結(jié)果4四、 源代碼5五、 總結(jié)12 5.1 總結(jié).一、課設(shè)簡(jiǎn)介1.1 課程設(shè)計(jì)題目 磁盤調(diào)度算法的模擬實(shí)現(xiàn)11.2 程序設(shè)計(jì)目的操作系統(tǒng)課程設(shè)計(jì)是計(jì)算機(jī)專業(yè)重要的教學(xué)環(huán)節(jié),它為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦,將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái),獨(dú)立分析和解決實(shí)際問(wèn)題的機(jī)會(huì)。 1)進(jìn)一步鞏固和復(fù)習(xí)操作系統(tǒng)的基礎(chǔ)知識(shí)。 2)培養(yǎng)學(xué)生結(jié)構(gòu)化程序、模塊化程序設(shè)計(jì)的方法和能力。 3)提高學(xué)生調(diào)試程序的技巧和軟件設(shè)計(jì)的能力。 4)提高學(xué)生分析問(wèn)題、解決問(wèn)題以及綜合利用C語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力。1.3 設(shè)計(jì)要求1)磁頭初始磁道號(hào),序列長(zhǎng)度,磁道號(hào)序列等數(shù)據(jù)可從鍵盤輸入,也可從文件讀入。 2)最好能實(shí)現(xiàn)磁道號(hào)序列中磁道號(hào)的動(dòng)態(tài)增加。3)磁道訪問(wèn)序列以鏈表的形式存儲(chǔ)4)給出各磁盤調(diào)度算法的調(diào)度順序和平均尋道長(zhǎng)度二、設(shè)計(jì)內(nèi)容2.1 功能實(shí)現(xiàn)設(shè)計(jì)并實(shí)現(xiàn)一個(gè)本別利用下列磁盤調(diào)度算法進(jìn)行磁盤調(diào)度的模擬程序。1) 先來(lái)先服務(wù)算法FCFS 2) 最短尋道時(shí)間優(yōu)先算法SSTF 2.2流程圖開始選擇算法SSTFFCFS結(jié)束2.3具體內(nèi)容1)先來(lái)先服務(wù)算法FCFS 這是一種比較簡(jiǎn)單的磁盤調(diào)度算法。它根據(jù)進(jìn)程請(qǐng)求訪問(wèn)磁盤的先后次序進(jìn)行調(diào)度。此算法的優(yōu)點(diǎn)是公平、簡(jiǎn)單,且每個(gè)進(jìn)程的請(qǐng)求都能依次得到處理,不會(huì)出現(xiàn)某一進(jìn)程的請(qǐng)求長(zhǎng)期得不到滿足的情況。此算法由于未對(duì)尋道進(jìn)行優(yōu)化,在對(duì)磁盤的訪問(wèn)請(qǐng)求比較多的情況下,此算法將降低設(shè)備服務(wù)的吞吐量,致使平均尋道時(shí)間可能較長(zhǎng),但各進(jìn)程得到服務(wù)的響應(yīng)時(shí)間的變化幅度較小。 2)最短尋道時(shí)間優(yōu)先算法SSTF 該算法選擇這樣的進(jìn)程,其要求訪問(wèn)的磁道與當(dāng)前磁頭所在的磁道距離最近,以使每次的尋道時(shí)間最短,該算法可以得到比較好的吞吐量,但卻不能保證平均尋道時(shí)間最短。其缺點(diǎn)是對(duì)用戶的服務(wù)請(qǐng)求的響應(yīng)機(jī)會(huì)不是均等的,因而導(dǎo)致響應(yīng)時(shí)間的變化幅度很大。在服務(wù)請(qǐng)求很多的情況下,對(duì)內(nèi)外邊緣磁道的請(qǐng)求將會(huì)無(wú)限期的被延遲,有些請(qǐng)求的響應(yīng)時(shí)間將不可預(yù)期。三、 測(cè)試數(shù)據(jù)3.1 先來(lái)先服務(wù)算法輸入磁道序列:55 58 39 18 90 160 150 38 184當(dāng)前磁道號(hào):1003.2 最短尋道時(shí)間優(yōu)先算法(1)當(dāng)前磁道號(hào)大于磁道序列中的最大的磁道號(hào)時(shí) 輸入磁道序列:55 58 39 18 90 160 150 38 184當(dāng)前磁道號(hào):100 3.3 測(cè)試結(jié)果 四、源代碼#include#include#includeusing namespace std;typedef struct nodeint data;struct node *next;Node,*Linklist;void main()void Create_Linklist(Node *); void fcfs();/聲明先來(lái)先服務(wù)函數(shù)FCFSvoid sstf();/聲明最短尋道時(shí)間優(yōu)先函數(shù)SSTF void print(Node *); /輸出鏈表函數(shù)int s; /s是選擇哪個(gè)算法printf(*磁盤調(diào)度算法*n); printf(t*1,先來(lái)先服務(wù)算法FCFSn); printf(t*2,最短尋道時(shí)間優(yōu)先算法SSTFn); printf(t*0,退出n); printf(t*請(qǐng)選擇:); scanf(%d,&s);while(s!=0) switch(s) case 1:printf(tt*你選擇了:先來(lái)先服務(wù)算法FCFSn);fcfs();break; case 2:printf(tt*你選擇了:最短尋道時(shí)間優(yōu)先算法SSTFn);sstf(); break; printf(tt*退出請(qǐng)選0,繼續(xù)請(qǐng)選1,2,n); scanf(%d,&s);/*/void fcfs()/先來(lái)先服務(wù)算法void Create_Linklist(Node *);void print(Node *); int Length_Linklist(Node *);Node *l,*head;/*m,*n;*/float num=0; /num為平均尋道長(zhǎng)度 int c,f;head=(Node *)malloc(sizeof(Node);head-next=NULL;printf(*新建一個(gè)單鏈表,以0作為結(jié)束標(biāo)志:*n); Create_Linklist(head);c=Length_Linklist(head); printf(tt*從幾號(hào)磁道開始:*); scanf(%d,&f); /f為磁道號(hào)print(head); printf(t*鏈表長(zhǎng)度為:%dn,c);l=head-next; for(int i=0;idata-f);f=l-data;l=l-next;num=num/c; printf(tt*先來(lái)先服務(wù)的尋道順序是:n);print(head);printf(tt*平均尋道長(zhǎng)度:%fn,num);/*/void sstf()/最短尋道時(shí)間優(yōu)先算法void Create_Linklist(Node *);void print(Node *); int Length_Linklist(Node *);Node *p,*q,*r,*s,*l,*m,*head;int c,f; head=(Node *)malloc(sizeof(Node);head-next=NULL;printf(*新建一個(gè)單鏈表,以0作為結(jié)束標(biāo)志:*n); Create_Linklist(head);c=Length_Linklist(head); printf(tt*從幾號(hào)磁道開始:*); scanf(%d,&f); /f為磁道號(hào)print(head); printf(t*鏈表長(zhǎng)度為:%dn,c);l=(Node *)malloc(sizeof(Node);l-next=NULL;m=l;q=head;p=head-next;s=head;r=head-next;float num=0;for(int i=0;idata);for(int j=0;jnext;q=q-next;if(abs(f-p-data)data);r=p;s=q;num+=abs(f-r-data);f=r-data;s-next=r-next;r-next=NULL;m-next=r;m=r;q=head; p=head-next;s=head;r=head-next;num=num/c;printf(tt*最短尋道時(shí)間優(yōu)先順序是:n);print(l);printf(tt*平均尋道長(zhǎng)度:%fn,num);/*/void print(Node *head) /輸出鏈表Node *p;p=head-next;coutnext=NULL) printf(%dt,p-data);printf(n);elsewhile(p-next!=NULL)printf(%dt,p-data);p=p-next;printf(%dt,p-data);printf(n);/*/void Create_Linklist(Node *head)/創(chuàng)建鏈表Node *p,*q; int i; scanf(%d,&i); q=head;while(i!=0)p=(Node *)malloc(sizeof(Node);p-next=NULL;p-data=i;q-next=p;q=p;cini;/*c+;*/*/int Length_Linklist(Node *head)/計(jì)算鏈表長(zhǎng)int l;Node *p;p= head-next;l=1;while(p-next)p=p-next;l+;return l;五、總結(jié)通過(guò)此次課程設(shè)計(jì),我對(duì)操作系統(tǒng)的基礎(chǔ)知識(shí)了解得更透徹了
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 消化內(nèi)科晨間護(hù)理規(guī)范
- 肺纖維化病人護(hù)理常規(guī)
- 頤和園英文介紹課件
- 頰癌護(hù)理課件
- 頸椎病中醫(yī)理論課件
- 小兒重癥肺炎的護(hù)理要點(diǎn)
- 顱骨骨折護(hù)理
- 預(yù)防職業(yè)危害課件
- 國(guó)家2030健康規(guī)劃實(shí)施綱要
- 預(yù)防小學(xué)生沉溺網(wǎng)絡(luò)課件
- vcm音圈馬達(dá)制造工藝
- 喘息性肺炎護(hù)理查房
- 暖氣片購(gòu)銷合同
- 人教版八年級(jí)上冊(cè)物理期末試卷(含答案)
- 【特崗】2017-2019年云南省特崗教師化學(xué)真題全解析版
- 夏季防暑降溫科普課件
- 背膠作業(yè)指導(dǎo)書
- 農(nóng)村小學(xué)基于國(guó)家中小學(xué)智慧教育平臺(tái)下的雙師課堂研究
- 遙感地質(zhì)學(xué)復(fù)習(xí)題(完整版)
- 中藥濕敷技術(shù)
- 2023年上海市教師招聘考試《教育心理學(xué)》考前模擬題及答案
評(píng)論
0/150
提交評(píng)論