實驗一處理器調度
一、實習內容
選擇一個調度算法,實現處理器調度。
;
二、實習目的
在采用多道程序設計的系統中,往往有若干個進程同時處于就緒狀態。當就緒進程個數大于處理器數時,就必須依照某種策略來決定哪些進程優先占用處理器。本實習模擬在單處理器情況下的處理器調度,幫助學生加深了解處理器調度的工作。
三、實習題目
本實習有兩個題,學生可選擇其中的一題做實習。
第二題:設計一個按時間片輪轉法實現處理器調度的程序。
[提示]:
(1) 假定系統有五個進程,每一個進程用一個進程控制塊PCB來代表。進程控制塊的格式為:
Q1,Q2,Q3,Q4,Q5。
指針——進程按順序排成循環隊列,用指針指出下一個進程的進程控制塊的首地址,最后一個進程的指針指出第一個進程的進程控制塊首地址。
要求運行時間——假設進程需要運行的單位時間數。
!
已運行時間——假設進程已經運行的單位時間數,初始值為“0”。
狀態——有兩種狀態,“就緒”和“結束”,初始狀態都為“就緒”,用“R”表示。當一個進程運行結束后,它的狀態為“結束”,用“E”表示。
(2) 每次運行所設計的處理器調度程序前,為每個進程任意確定它的“要求運行時間”。
(3) 把五個進程按順序排成循環隊列,用指針指出隊列連接情況。另用一標志單元記錄輪到運行的進程。例如,當前輪到P2執行,則有:
標志單元
,
K1
K2 K3 K4 K5