模擬程序排程程式

2022-11-28 12:33:03 字數 2265 閱讀 7147

一實驗目的

程序及程序管理是作業系統最重要的內容之一。本實驗要求學生選用某種程序排程演算法用「c」語言編制模擬程序排程的程式,並在機器上執行通過。通過本實驗,使學生對程序排程的演算法、資料結構及其實現程式有乙個較為深入具體的了解。

二實驗題

第一題設計乙個按時間片輪轉演算法排程的模擬程式。

1,設系統中有若干個(3—5)程序,每個程序由程序控制塊(pcb)來標識。程序控制塊的內容有:程序名、鏈結指標、到達時間、執行時間、完成時間和程序狀態等。

2,程序個數,每個程序的程序名、到達時間、執行時間由設計者確定,並從鍵盤輸入:程序名為字元或字串,到達時間和執行時間均為整數型;程序狀態:為簡單起見,假定只有2種狀態,即「就緒」和「完成」。

「就緒」用r表示,「完成」用c表示。程序的初始狀態為「r」,執行完成後為「c」;完成時間:根據程序的實際完成時間進行登記;鏈結指標:

用於將各個程序按到達時間的先後次序排序,到達時間相同的次序可隨意。

3,排程是在每個程序都到達後的下一時刻開始。排程時,總是選擇當前排在佇列最前面且「執行時間」不為0的程序執行。

4,乙個程序被排程執行一次,只需且必須列印一行字元,例如:「第*個程序執行一次」。程序執行一次後,其執行時間減1,並將其pcb插入pcb佇列的末尾;當其執行時間等於0時,將其狀態置為「c」;並登記其完成時間。

乙個狀態為「c」的程序,此後不再被排程到執行。

5,執行結果:根據每個程序的到達時間和完成時間算出並輸出其周轉時間和帶權周轉時間,算出並輸出所有程序的平均周轉時間和平均帶權周轉時間。

第二題設計乙個按優先順序演算法排程的模擬程式。

1, 設系統中有若干個(3—5)程序,每個程序由程序控制塊(pcb)來標識。程序控制塊的內容有:程序名、鏈結指標、到達時間、執行時間、完成時間、程序優先數和程序狀態等。

程序優先數為整數型,優先數小優先順序高。

2, 程序個數,每個程序的程序名、到達時間、執行時間和優先數由設計者確定,並從鍵盤輸入:程序名為字元或字串,到達時間、執行時間和優先數均為整數型;程序狀態:為簡單起見,假定只有2種狀態,即「就緒」和「完成」。

「就緒」用r表示,「完成」用c表示。程序的初始狀態為「r」,執行完成後為「c」;完成時間:根據程序的實際完成時間進行登記;鏈結指標:

用於將各個程序按優先數從小到大的順序排序,優先數相同的按到達時間先後排序,兩者都相同的次序可隨意。

3, 排程是在每個程序都到達後的下一時刻開始。排程時,總是選擇當前排在佇列最前面且「執行時間」不為0的程序執行。

4, 程序每執行一次,其優先數加1,執行時間減1;當其執行時間等於0時,將其狀態置為「c」;乙個狀態為「c」的程序,此後不再被排程到執行。和上一題一樣,乙個程序被排程到執行一次,只需且必須列印一行字串,例如:「第*個程序執行一次」。

一次排程後,要將所有程序按上述方法重新排序。

4,執行結果:根據每個程序的到達時間和完成時間算出並輸出其周轉時間和帶權周轉時間,算出並輸出所有程序的平均周轉時間和平均帶權周轉時間。

第三題設計乙個按最長剩餘時間優先演算法排程的模擬程式。

1,設系統中有若干個(3—5)程序,每個程序由程序控制塊(pcb)來標識。程序控制塊的內容有:程序名、鏈結指標、到達時間、執行時間、完成時間和程序狀態等。

2, 程序個數,每個程序的程序名、到達時間、執行時間由設計者確定,並從鍵盤輸入:程序名為字元或字串,到達時間和執行時間均為整數型;程序狀態:為簡單起見,假定只有2種狀態,即「就緒」和「完成」。

「就緒」用r表示,「完成」用c表示。程序的初始狀態為「r」,執行完成後為「c」狀態;完成時間:根據程序的實際完成時間進行登記;鏈結指標:

用於將各個程序按剩餘執行時間從大到小排序,剩餘時間相同的,按到達時間先後排序,兩者都相同的次序可隨意。

3, 排程是在每個程序都到達後的下一時刻開始。排程時,總是選擇當前排在佇列最前面且「執行時間」不為0的程序執行。

4, 程序每執行一次,執行時間減1,當其「執行時間」等於0時,將其「狀態」置為「c」;乙個狀態為「c」的程序,此後不再被排程到執行。和上兩題一樣,程序被排程到執行一次,只需且必須列印一行字串,例如:「第*個程序執行一次」。

一次排程後,要將所有程序按上述方法重新排序。

5, 執行結果:根據每個程序的到達時間和完成時間算出並輸出其周轉時間和帶權周轉時間,算出並輸出所有程序的平均周轉時間和平均帶權周轉時間。

三實驗報告

1,給出程式流程圖;

2,給出源程式及源程式中的注釋;

3,給出程式中使用的資料結構和符號變數的說明;

4,給出不同演算法下的某一次排程的程序完成順序,每個程序的周轉時間,帶權周轉時間,平均周轉時間和平均帶權周轉時間。

5,收穫體會及對該題的改進意見。

程序排程演算法

執行緒函式返回是確保所有執行緒資源被正確地清除的唯一辦法。4 程序排程常用演算法的相關知識參考課堂 計算機作業系統 教材 5 mfc棧 queue 鍊錶 list 向量 vector 相關知識參考msdn 或光碟 實驗指導 1 程序相關的資料結構 程序狀態 enum procstatus 程序優先順...

作業系統磁碟排程程式模擬

實驗4 磁碟排程程式模擬 實驗目的 編寫程式來模擬計算機的兩種排程方式 1 先來先服務排程演算法 2 最短尋道優先排程演算法 程式設計 1.先來先服務演算法 fcfs 先來先服務 fcfs 排程 按先來後到次序服務,未作優化。最簡單的移臂排程演算法是 先來先服務 排程演算法,這個演算法實際上不考慮訪...

作業系統實驗報告 程序排程 作業排程等

作業系統實驗報告 1 程序排程 2 作業排程 3 主存空間的分配和 4 檔案系統 學生學院 計算機學院 專業班級 網路工程 3 班 學號 3107007062 學生姓名 張菲 指導教師 胡欣如 2009 年 12 月 20 日 計算機學院網路工程專業 3 班 組 學號 3107007062 姓名張菲...