設計一個按優先數調度算法實現處理器調度的程序。
[提示]:
(1) 假定系統有5個進程,每個進程用一個PCB來代表。PCB的格式為:
進程名、指針、要求運行時間、優先數、狀態。
進程名——P1~P5。
指針——按優先數的大小把5個進程連成隊列,用指針指出下一個進程PCB的首地址。
要求運行時間——假設進程需要運行的單位時間數。
優先數——賦予進程的優先數,調度時總是選取優先數大的進程先執行。
狀態——假設兩種狀態,就緒,用R表示,和結束,用E表示。初始狀態都為就緒狀態。
(2) 每次運行之前,為每個進程任意確定它的“優先數”和“要求運行時間”。
(3) 處理器總是選隊首進程運行。采用動態改變優先數的辦法,進程每運行1次,優先數減1,要求運行時間減1。
(4) 進程運行一次后,若要求運行時間不等于0,則將它加入隊列,否則,將狀態改為“結束”,退出隊列。
(5) 若就緒隊列為空,結束,否則,重復(3)。
用c語言實現的模擬操作系統處理機調度過程的程序
標簽:
優先數
調度算法
處理器
調度
上傳時間:
2016-02-03
上傳用戶:龍飛艇