設(shè)計(jì)一個(gè)按時(shí)間片輪轉(zhuǎn)法實(shí)現(xiàn)處理器調(diào)度的程序 (1)假定系統(tǒng)有5個(gè)進(jìn)程,每個(gè)進(jìn)程用一個(gè)PCB來代表。PCB的結(jié)構(gòu)為: • 進(jìn)程名——如Q1~Q5。 • 指針——把5個(gè)進(jìn)程連成隊(duì)列,用指針指出下一個(gè)進(jìn)程PCB的首地址。 • 要求運(yùn)行時(shí)間——假設(shè)進(jìn)程需要運(yùn)行的單位時(shí)間數(shù)。 • 已運(yùn)行時(shí)間——進(jìn)程已運(yùn)行的單位時(shí)間數(shù),初始值為0。 • 狀態(tài)——假設(shè)兩種狀態(tài),就緒和結(jié)束,用R表示就緒,用E表示結(jié)束。初始狀態(tài)都為就緒狀態(tài)。 (2) 每次運(yùn)行之前,為每個(gè)進(jìn)程任意確定它的“要求運(yùn)行時(shí)間”。 (3) 把5個(gè)進(jìn)程按順序排成循環(huán)隊(duì)列,用指針指出隊(duì)列連接情況。用一個(gè)標(biāo)志單元記錄輪到運(yùn)行的進(jìn)程。處理器調(diào)度總是選擇標(biāo)志單元指示的進(jìn)程運(yùn)行,對(duì)所指的進(jìn)程,將其“已運(yùn)行時(shí)間”加1。 (4) 進(jìn)程運(yùn)行一次后,若“要求運(yùn)行時(shí)間”等于“已運(yùn)行時(shí)間”,則將狀態(tài)改為“結(jié)束”,退出隊(duì)列,否則將繼續(xù)輪轉(zhuǎn)。 (5) 若就緒隊(duì)列為空,結(jié)束,否則轉(zhuǎn)到(3)重復(fù)。
標(biāo)簽:
處理器
調(diào)度
程序
上傳時(shí)間:
2013-12-13
上傳用戶:asddsd