歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

操作系統(tǒng)實驗頁面置換算法先來先服務最短尋道優(yōu)先

  • 資源ID:104009444       資源大小:220.78KB        全文頁數(shù):11頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

操作系統(tǒng)實驗頁面置換算法先來先服務最短尋道優(yōu)先

學號P71514032 專業(yè) 計算機科學與技術 姓名 實驗日期2017/12/7 教師簽字 成績 實驗報告【實驗名稱】 磁盤調度先來先服務策略 最短尋道策略 【實驗目的】磁盤調度中尋道時間直接影響到數(shù)據(jù)訪問的快慢,通過本次實驗學習如何處理好磁盤尋道時間?!緦嶒炘怼?. 先來先服務算法先來先服務算法根據(jù)進程請求訪問磁盤的先后次序進行調度。2. 最短尋道時間優(yōu)先算法最短尋道時間優(yōu)先算法要求訪問的磁道與當前磁頭所在的磁道距離最近,以使每次的尋道時間最短?!緮?shù)據(jù)結構和符號說明】ypedef struct Track int id;/磁道序列 int state=0;/是否訪問過,未被訪問置狀態(tài)為0 Track;Track trackN;/最大磁道數(shù)為100Track track1N;int stepN;/移動距離int num,i,current_track,num1;/需要訪問的次數(shù)函數(shù)說明:void init()/初始化程序void input()/輸入函數(shù)void FCFS()/先來先服務int abs(int a,int b)/相減的絕對值int Serch_min_pos()/尋找到當前磁道最短的需求磁道void SSTF()/最短尋道優(yōu)先void output(Track a)/輸出函數(shù)void output_average_track()/輸出平均尋道時間int show()/顯示用戶界面先來先服務(FCFS)最短尋道時間優(yōu)先(SSTF)代碼:#include<stdio.h>#define N 100typedef struct Track int id;/磁道序列 int state=0;/是否訪問過,未被訪問置狀態(tài)為0 Track;Track trackN;/最大磁道數(shù)為100Track track1N;int stepN;/移動距離int num,i,current_track,num1;void init()/初始化程序 num=0; for (i=0; i<num; i+) tracki.state=-1;/id置為1 track1i.state=-1; stepi=-1;/移動距離為-1 void input()/輸入函數(shù) printf("輸入當前磁道n"); scanf("%d",&current_track); num1=current_track; printf("輸入要訪問的磁道數(shù)目n"); scanf("%d",&num); printf("輸入要訪問磁道序列n"); for(i=0; i<num; i+) scanf("%d",&tracki.id);void FCFS()/先來先服務 for(i=0; i<num; i+) if(current_track-tracki.id)<0)/求移動距離 stepi=tracki.id-current_track; else stepi=current_track-tracki.id;/取絕對值 tracki.state=1;/狀態(tài)置為1 current_track=tracki.id;/更新當前磁道 int abs(int a,int b)/相減的絕對值 return a-b>0?a-b:b-a;int Serch_min_pos()/尋找到當前磁道最短的需求磁道 int min=45536;/最小距離標志 int pos; for(int i=0; i<num; i+) if(tracki.state=1) continue; else if(min>abs(tracki.id,current_track)/尋找最小距離 min=abs(tracki.id,current_track); pos=i; trackpos.state=1; return pos;/返回在數(shù)組中的位置void SSTF()/最短尋道優(yōu)先 for(i=0; i<num; i+)/計數(shù)器 track1i=trackSerch_min_pos();/更新到要輸出的數(shù)組中 stepi=abs(track1i.id,current_track);/移動距離 current_track= track1i.id;/標志 void output(Track a)/輸出函數(shù) printf("nn <從%d號磁道開始>n",num1); printf("=n");/排班 printf("被訪問的下一個磁道tt移動距離(磁道數(shù))n"); for(i=0; i<num; i+) printf("t%4dtt|t%4dn",ai.id,stepi); printf("=n");void output_average_track()/輸出平均尋道時間 double sum=0;/和 for(i=0; i<num; i+) sum+=stepi; printf(" 平均尋道長度%3.2fnnn",sum/num);/輸出int show()/顯示用戶界面 int choose;/選擇 printf("n*早期的磁盤調度算法*n"); printf("tt1、先來先服務(FCFS)n"); printf("tt2、最短尋道時間優(yōu)先(SSTF)n"); printf("tt3、退出(EXIT)n"); scanf("%d",&choose); return choose;int main() do init(); switch(show()/返回值是選擇 case 1:/FCFS input(); FCFS(); output(track); output_average_track(); break; case 2:/最短尋道 input(); SSTF(); output(track1); output_average_track(); break; case 3:/退出 return 0; default: break; while(1); return 0;截圖:主界面開始,輸入選擇先來先服務還是最短尋道優(yōu)先,輸入當前磁道,輸入要訪問的磁道,輸入要訪問的磁道序列。先來先服務(FCFS)最短尋道優(yōu)先(SSTF)【小結與討論】1、先來先服務算法是一種簡單的磁盤調度算法。它根據(jù)進程請求訪問磁盤的先后次序進行調度。此算法的優(yōu)點是較為公平與簡單,并且每個進程的請求都能依次得到處理,不會出現(xiàn)某一進程的請求長期得不到滿足的情況。但此算法由于未對尋道進行優(yōu)化,致使平均尋道時間可能較長;而最短尋道時間優(yōu)先算法要求每次訪問的磁道與當前磁頭所在的磁道距離最近,以使每次的尋道時間最短,但這種調度算法卻不能保證平均尋道時間最短,因為只能做到局部最優(yōu)。2、本實驗用數(shù)組就可以很方便簡潔地解決問題,唯一需要注意的就是在算法中,每一次尋道需要對之前的磁道號進行暫存設置一個current_track(當前磁道),如果已查詢到,需將狀態(tài)置為1,這樣才方便尋找和計算尋道距離。3、FCFS算法根據(jù)磁道號需要被訪問的順序依次訪問磁道,所以磁道被訪問順序在磁道需要順序確定時,即被確定,然后用依次減法即可算出移動距離,相對來說實驗的復雜度較低,易于實現(xiàn)。4、SSTF算法則相較于FCFS算法復雜得多。在確定被訪問的下一個磁道號時,需要計算后面每一個磁道號與當前磁道號的距離,然后取最小距離的磁道號作為被訪問的下一個磁道號。即實現(xiàn)SSTF算法需找到最小距離的磁道號再寫入。 5、本次實驗通過編寫程序讓我對磁盤的相關調度有了更深入的理解,對計算機內部原理也有了更深的認識,代碼能力也有所提高。

注意事項

本文(操作系統(tǒng)實驗頁面置換算法先來先服務最短尋道優(yōu)先)為本站會員(豬**)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!