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