磁碟排程演算法實驗報告

2022-05-17 15:19:35 字數 1401 閱讀 7254

作業系統實驗報告

實驗三: 磁碟排程演算法 .

學生: 俞澤濤

學號: 201206090131

學院: 電氣與資訊工程學院

系別: 計算機系

專業: 網路工程

實驗時間: 2023年5月21日

報告時間: 2023年5月25日

一、實驗內容

模擬電梯排程演算法,實現對磁碟的驅動排程。

二、實驗目的

磁碟是一種高速、大量旋轉型、可直接訪問的儲存裝置。它作為計算機系統的輔助儲存器,負擔著繁重的輸入輸出任務,在多道程式設計系統中,往往同時會有若干個要求訪問磁碟的輸入輸出請示等待處理。系統可採用一種策略,盡可能按最佳次序執行要求訪問磁碟的諸輸入輸出請求,這就叫驅動排程,使用的演算法稱驅動排程演算法。

驅動排程能降低為若干個輸入輸出請求服務所須的總時間,從而提高系統效率。本實驗要求學生模擬設計乙個驅動排程程式,觀察驅動排程程式的動態執行過程。

三、實驗原理

模擬電梯排程演算法,對磁碟排程。

磁碟是要供多個程序共享的儲存裝置,但乙個磁碟每個時刻只能為乙個程序服務。

當有程序在訪問某個磁碟時,其他想訪問該磁碟的程序必須等待,直到磁碟一次工作結束。

當有多個程序提出輸入輸出請求處於等待狀態,可用電梯排程演算法從若干個等待訪問者中選擇乙個程序,讓它訪問磁碟。當訪問臂僅需移到乙個方向最遠的所請求的柱面後,如果沒有訪問請求了,訪問臂就改變方向。

假設磁碟有200個磁軌,用c語言隨機函式隨機生成乙個磁軌請求序列(不少於15個)放入模擬的磁碟請求佇列中,假定當前磁頭在100號磁軌上,並向磁軌號增加的方向上移動。請給出按電梯排程演算法進行磁碟排程時滿足請求的次序,並計算出它們的平均尋道長度。

四、實驗報告

(1) 畫出演算法流程圖。

五、源程式及注釋

#include<>

#include<>

#include<>

void moni(int *cd,int ct,int n)

printf("\n總路徑為:%d\n",sum);

}int main()

moni(cd,ct,num);

}else

printf("輸入有誤!\n");

}return 0;

}六、列印的程式執行時初值和執行結果

七、實驗小結

本次試驗是在乙個熄了燈的夜晚完成的,因為程式本身並無難題,只是模擬執行,可以用乙個一維陣列就能解決問題,所以技術上不是問題,但是還是弄到熄燈之後半個小時才完成,並且心中依舊有疑問,那就是cscan這個演算法的距離到底如何計算,是否要把讀取移動和從最大位置到最小位置的不讀取移動做區分?因此我在網上查閱了一些資料,但是各執一詞的說法然我也無從定論,於是我就把它們做了區分,不把後者計算在內。經過這次試驗,我也更加確切地區分了scan與cscan的區別。

中南大學演算法實驗報告

中南大學 演算法分析與設計 實驗報告 實驗一 歸併排序 編寫乙個簡單的程式,實現歸併排序 1 實驗目的 了解並熟練掌握歸併排序 2 實驗內容 給定乙個陣列,並使其按照所要求的顯示輸出 3 演算法思想分析 遞迴是簡單的方法,但是其不能很好的表示出歸併 非遞迴的方法能比較好的從底層開始顯示整個歸併排序的...

排序演算法實驗報告USTC

實驗報告 一 實驗目的 在電腦科學與數學中,排序演算法是一種基本並且常用的演算法,乙個排序演演算法是一種能將一串資料依照特定排序方式的一種演演算法。有效的排序演演算法在一些演演算法中是重要的,如此這些演演算法才能得到正確解答。排序演演算法也用在處理文字資料以及產生人類可讀的輸出結果。由於實際工作中處...

貪心演算法 實驗報告

1 設計分析 問題描述 鍵盤輸入乙個高精度的正整數n n不超過240位 去掉其中任意s個數字後剩下的數字按原左右次序將組成乙個新的正整數。程式設計對給定的n和s,尋找一種方案使得剩下的數字組成的新數最小。設計思路 在位數固定的前提下,讓高位的數字盡量小其值就較小,依據此貪心策略解決此問題。刪除高位較...