




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、磁盤調度算法的模擬實現(xiàn) 學 院 專 業(yè) 學 號 學 生 姓 名 指導教師姓名 2014年3月19日 目錄一、 課設簡介21.1 課程設計題目21.2 課程設計目的21.3 課程設計要求2二、 設計內容32.1功能實現(xiàn)32.2流程圖3 2.3具體內容. 3三、 測試數(shù)據(jù).43.3 測試用例及運行結果4四、 源代碼5五、 總結12 5.1 總結.一、課設簡介1.1 課程設計題目 磁盤調度算法的模擬實現(xiàn)11.2 程序設計目的操作系統(tǒng)課程設計是計算機專業(yè)重要的教學環(huán)節(jié),它為學生提供了一個既動手又動腦,將課本上的理論知識和實際有機的結合起來,獨立分析和解決實際問題的機會。 1)進一步鞏固和復習操作系統(tǒng)的
2、基礎知識。 2)培養(yǎng)學生結構化程序、模塊化程序設計的方法和能力。 3)提高學生調試程序的技巧和軟件設計的能力。 4)提高學生分析問題、解決問題以及綜合利用C語言進行程序設計的能力。1.3 設計要求1)磁頭初始磁道號,序列長度,磁道號序列等數(shù)據(jù)可從鍵盤輸入,也可從文件讀入。 2)最好能實現(xiàn)磁道號序列中磁道號的動態(tài)增加。3)磁道訪問序列以鏈表的形式存儲4)給出各磁盤調度算法的調度順序和平均尋道長度二、設計內容2.1 功能實現(xiàn)設計并實現(xiàn)一個本別利用下列磁盤調度算法進行磁盤調度的模擬程序。1) 先來先服務算法FCFS 2) 最短尋道時間優(yōu)先算法SSTF 2.2流程圖開始選擇算法SSTFFCFS結束2.
3、3具體內容1)先來先服務算法FCFS 這是一種比較簡單的磁盤調度算法。它根據(jù)進程請求訪問磁盤的先后次序進行調度。此算法的優(yōu)點是公平、簡單,且每個進程的請求都能依次得到處理,不會出現(xiàn)某一進程的請求長期得不到滿足的情況。此算法由于未對尋道進行優(yōu)化,在對磁盤的訪問請求比較多的情況下,此算法將降低設備服務的吞吐量,致使平均尋道時間可能較長,但各進程得到服務的響應時間的變化幅度較小。 2)最短尋道時間優(yōu)先算法SSTF 該算法選擇這樣的進程,其要求訪問的磁道與當前磁頭所在的磁道距離最近,以使每次的尋道時間最短,該算法可以得到比較好的吞吐量,但卻不能保證平均尋道時間最短。其缺點是對用戶的服務請求的響應機會不
4、是均等的,因而導致響應時間的變化幅度很大。在服務請求很多的情況下,對內外邊緣磁道的請求將會無限期的被延遲,有些請求的響應時間將不可預期。三、 測試數(shù)據(jù)3.1 先來先服務算法輸入磁道序列:55 58 39 18 90 160 150 38 184當前磁道號:1003.2 最短尋道時間優(yōu)先算法(1)當前磁道號大于磁道序列中的最大的磁道號時 輸入磁道序列:55 58 39 18 90 160 150 38 184當前磁道號:100 3.3 測試結果 四、源代碼#include<iostream>#include<cmath>#include<stdio.h>usi
5、ng namespace std;typedef struct nodeint data;struct node *next;Node,*Linklist;void main()void Create_Linklist(Node *); void fcfs();/聲明先來先服務函數(shù)FCFSvoid sstf();/聲明最短尋道時間優(yōu)先函數(shù)SSTF void print(Node *); /輸出鏈表函數(shù)int s; /s是選擇哪個算法printf("*磁盤調度算法*n"); printf("t*1,先來先服務算法FCFSn"); printf("
6、t*2,最短尋道時間優(yōu)先算法SSTFn"); printf("t*0,退出n"); printf("t*請選擇:"); scanf("%d",&s);while(s!=0) switch(s) case 1:printf("tt*你選擇了:先來先服務算法FCFSn");fcfs();break; case 2:printf("tt*你選擇了:最短尋道時間優(yōu)先算法SSTFn");sstf(); break; printf("tt*退出請選0,繼續(xù)請選1,2,n"
7、;); scanf("%d",&s);/*/void fcfs()/先來先服務算法void Create_Linklist(Node *);void print(Node *); int Length_Linklist(Node *);Node *l,*head;/*m,*n;*/float num=0; /num為平均尋道長度 int c,f;head=(Node *)malloc(sizeof(Node);head->next=NULL;printf("*新建一個單鏈表,以0作為結束標志:*n"); Create_Linklist(he
8、ad);c=Length_Linklist(head); printf("tt*從幾號磁道開始:*"); scanf("%d",&f); /f為磁道號print(head); printf("t*鏈表長度為:%dn",c);l=head->next; for(int i=0;i<c;i+)num+=abs(l->data-f);f=l->data;l=l->next;num=num/c; printf("tt*先來先服務的尋道順序是:n");print(head);printf
9、("tt*平均尋道長度:%fn",num);/*/void sstf()/最短尋道時間優(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("*新建一個單鏈表,以0作為結束標志:*n"); Create_Linklist(head);c=Length_Lin
10、klist(head); printf("tt*從幾號磁道開始:*"); scanf("%d",&f); /f為磁道號print(head); printf("t*鏈表長度為:%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;i<c;i+)int min=abs(f-r->data);for(int j=0;j&
11、lt;c-i-1;j+)p=p->next;q=q->next;if(abs(f-p->data)<min)min=abs(f-p->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*最短尋道時間優(yōu)先順序是:n");print(l);printf(&qu
12、ot;tt*平均尋道長度:%fn",num);/*/void print(Node *head) /輸出鏈表Node *p;p=head->next;cout<<"單鏈表顯示:"if(p=NULL)printf("單鏈表為空:n");else if(p->next=NULL) printf("%dt",p->data);printf("n");elsewhile(p->next!=NULL)printf("%dt",p->data);p=p-&
13、gt;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;cin>>i;/*c+;*/*/int Length_Linklist(Node *head)/計算鏈表長int l;Node *p;p= head->next;l=1;while(p->next)p=p->next;l+;retur
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 油氣田開發(fā)項目全過程咨詢、管理與技術服務模式創(chuàng)新考核試卷
- 燈具行業(yè)服務標準化建設考核試卷
- 建筑材批發(fā)商市場風險管理考核試卷
- 印刷過程中的環(huán)保措施考核試卷
- 小學教具趣味性研究考核試卷
- 植物園節(jié)能減排技術與環(huán)境保護考核試卷
- 勞務合同范例范例制作
- 產品長期采購合同范例
- 停止裝修合同標準文本
- 冰箱使用合同標準文本
- 第16課《有為有不為》公開課一等獎創(chuàng)新教學設計
- 2025年南京科技職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 重點時段及節(jié)假日前安全檢查表
- 引水隧洞施工中通風計算
- 醫(yī)古文部分課后練習題及課外閱讀試題及答案
- 職業(yè)健康檢查科室設置和分工
- 蘇教版四年級數(shù)學下冊《常見的數(shù)量關系》優(yōu)秀PPT課件
- 個人外匯管理辦法實施問答(一二三四期)(共5頁)
- ▲封頭重量計算
- 境外投資可行性研究報告(完整資料).doc
- 常見的體表腫物ppt課件
評論
0/150
提交評論