模擬電梯調(diào)度算法,實現(xiàn)對磁盤的驅(qū)動調(diào)度。.docx

模擬電梯調(diào)度算法,實現(xiàn)對磁盤的驅(qū)動調(diào)度。.docx

ID:49363484

大?。?46.13 KB

頁數(shù):16頁

時間:2020-02-29

模擬電梯調(diào)度算法,實現(xiàn)對磁盤的驅(qū)動調(diào)度。.docx_第1頁
模擬電梯調(diào)度算法,實現(xiàn)對磁盤的驅(qū)動調(diào)度。.docx_第2頁
模擬電梯調(diào)度算法,實現(xiàn)對磁盤的驅(qū)動調(diào)度。.docx_第3頁
模擬電梯調(diào)度算法,實現(xiàn)對磁盤的驅(qū)動調(diào)度。.docx_第4頁
模擬電梯調(diào)度算法,實現(xiàn)對磁盤的驅(qū)動調(diào)度。.docx_第5頁
資源描述:

《模擬電梯調(diào)度算法,實現(xiàn)對磁盤的驅(qū)動調(diào)度。.docx》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、操作系統(tǒng)實驗(第三次)一、實驗內(nèi)容模擬電梯調(diào)度算法,實現(xiàn)對磁盤的驅(qū)動調(diào)度。二、實驗目的磁盤是一種高速、大容量、旋轉(zhuǎn)型、可直接存取的存儲設(shè)備。它作為計算機系統(tǒng)的輔助存儲器,擔負著繁重的輸入輸出任務(wù)、在多道程序設(shè)計系統(tǒng)中,往往同時會有若干個要求訪問磁盤的輸入輸出請求等待處理。系統(tǒng)可采用一種策略,盡可能按最佳次序執(zhí)行要求訪問磁盤的諸輸入輸出請求。這就叫驅(qū)動調(diào)度,使用的算法稱為驅(qū)動調(diào)度算法。驅(qū)動調(diào)度能降低為若干個輸入輸出請求服務(wù)所需的總時間,從而提高系統(tǒng)效率。本實驗要求學生模擬設(shè)計一個驅(qū)動調(diào)度程序,觀察驅(qū)動調(diào)度程序的動態(tài)運行過程。通過實驗使學生理解和掌握驅(qū)動調(diào)度的職

2、能。三、實驗題目模擬電梯調(diào)度算法,對磁盤進行移臂和旋轉(zhuǎn)調(diào)度。[提示]:(1)磁盤是可供多個進程共享的存儲設(shè)備,但一個磁盤每時刻只能為一個進程服務(wù)。當有進程在訪問某個磁盤時,其他想訪問該磁盤的進程必須等待,直到磁盤一次工作結(jié)束。當有多個進程提出輸入輸出要求而處于等待狀態(tài)時,可用電梯調(diào)度算法從若干個等待訪問者中選擇一個進程,讓它訪問磁盤。選擇訪問者的工作由“驅(qū)動調(diào)度”進程來完成。由于磁盤與處理器是可以并行工作的、所以當磁盤在作為一個進程服務(wù)時,占有處理器的另一進程可以提出使用磁盤的要求,也就是說,系統(tǒng)能動態(tài)地接收新的輸入輸出請求。為了模擬這種情況,在本實驗中設(shè)置

3、了一個“接收請求”進程?!膀?qū)動調(diào)度”進程和“接收請求”進程能否占有處理器運行,取決于磁盤的結(jié)束中斷信號和處理器調(diào)度策略。在實驗中可用隨機數(shù)來模擬確定這兩個進程的運行順序,以代替中斷四、處理和處理器調(diào)度選擇的過程。因而,程序的結(jié)構(gòu)可參考圖3—1(2)“接收請求”進程建立一張“請求I/O”表,指出訪問磁盤的進程要求訪問的物理地址,表的格式為:假定某個磁盤組共有200個柱面,由外向里順序編號(0—199),每個柱面上有20個磁道,編號為0—19,每個磁道分成8個物理記錄,編號0—7。進程訪問磁盤的物理地址可以用鍵盤輸入的方法模擬得到。圖3—2是“接收請求”進程的模

4、擬算法。在實際的系統(tǒng)中必須把等待訪問磁盤的進程排入等待列隊,由于本實驗模擬驅(qū)動調(diào)度,為簡單起見,在實驗中可免去隊列管理部分,故設(shè)計程序時可不考慮“進程排入等待隊列”的工作。(3)“驅(qū)動調(diào)度”進程的功能是查“請求I/O”表,當有等待訪問磁盤的進程時,按電梯調(diào)度算法從中選擇一個等待訪問者,按該進程指定的磁盤物理地址啟動磁盤為其服務(wù)。對移動臂磁盤來說,驅(qū)動調(diào)度分移臂調(diào)度和旋轉(zhuǎn)調(diào)度。電梯調(diào)度算法的調(diào)度策略是與移動臂的移動方向和移動臂的當前位子有關(guān)的,所以每次啟動磁盤時都應(yīng)登記移動臂方向和當前位子。電梯調(diào)度算法是一種簡單而實用的驅(qū)動調(diào)度方法,這種調(diào)度策略總是優(yōu)先選擇與

5、當前柱面號相同的訪問請求,從這些請求中再選擇一個能使旋轉(zhuǎn)距離最短的等待訪問者。如果沒有與當前柱面號相同的訪問請求,則根據(jù)移臂方向來選擇,每次總是沿臂移動方向選擇一個與當前柱面號最近的訪問請求,若沿這個方向沒有訪問請求時,就改變臂的移動方向。這種調(diào)度策略能使移動臂的移動頻率極小,從而提高系統(tǒng)效率。用電梯調(diào)度算法實現(xiàn)驅(qū)動調(diào)度的模擬算法如圖3-3。(4)圖3-1中的初始化工作包括,初始化“請求I/O”表,置當前移臂方向為里移;置當前位置為0號柱面,0號物理記錄。程序運行前可假定“請求I/O”表中已經(jīng)有如干個進程等待訪問磁盤。在模擬實驗中,當選中一個進程可以訪問磁盤

6、時,并不實際地啟動磁盤,而用顯示:“請求I/O”表;當前移臂方向;當前柱面號,物理記錄號來代替圖3-3中的“啟動磁盤”這項工作。(1)程序中使用的數(shù)據(jù)結(jié)構(gòu)及其說明。constintPCB=100;//定義100個進程intpcbs_num=0;//記錄當前io表的進程個數(shù)typedefstructprocess//請求io表{charpname[10];//進程名intCylinder;//柱面號intTrack;//磁道號intRecord;//物理記錄號intWay;}PROCESS;PROCESSpcbs[PCB];PROCESSa;//記錄當前位置(

7、柱面號、物理記錄號)采用帶頭節(jié)點的循環(huán)鏈表存(1)打印一份源程序并附上注釋。(2)#include(3)#include(4)#include(5)#include(6)#include(7)usingnamespacestd;(8)constintPCB=100;//定義100個進程(9)intpcbs_num=0;//記錄當前io表的進程個數(shù)(10)typedefstructprocess//請求io表(11){(12)charpname[10];//進程名(13

8、)intCylinder;//柱面號(14)intT

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。