-
大小: 7KB文件類型: .c金幣: 1下載: 0 次發(fā)布日期: 2021-01-07
- 語言: 其他
- 標(biāo)簽:
資源簡介
1.設(shè)計進(jìn)程控制塊PCB的結(jié)構(gòu),通常應(yīng)包括如下信息:
進(jìn)程名、進(jìn)程優(yōu)先數(shù)(或輪轉(zhuǎn)時間片數(shù))、進(jìn)程已占用的CPU時間、進(jìn)程到完成還需要的時間、進(jìn)程的狀態(tài)、當(dāng)前隊列指針等。
2.編寫三種調(diào)度算法程序:
優(yōu)先數(shù)調(diào)度算法程序
循環(huán)輪轉(zhuǎn)調(diào)度算法程序
先來先服務(wù)調(diào)度算法程序
代碼片段和文件信息
#include?????
#include?????
#include?????
typedef?struct?node????
{????
??char?name[20];????/*進(jìn)程的名字*/????
??int?prio;?????/*進(jìn)程的優(yōu)先級*/????
??int?round;?????/*分配CPU的時間片*/????
??int?cputime;????/*CPU執(zhí)行時間*/????
??int?needtime;????/*進(jìn)程執(zhí)行所需要的時間*/????
??char?state;?????/*進(jìn)程的狀態(tài),W——就緒態(tài),R——執(zhí)行態(tài),F(xiàn)——完成態(tài)*/????
??int?count;?????/*記錄執(zhí)行的次數(shù)*/????
??struct?node?*next;???/*鏈表指針*/????
}PCB;????
PCB?*ready=NULL*run=NULL*finish=NULL;?/*定義三個隊列,就緒隊列,執(zhí)行隊列和完成隊列*/????
int?num;????
void?GetFirst();????/*從就緒隊列取得第一個節(jié)點*/????
void?Output();?????/*輸出隊列信息*/????
void?InsertPrio(PCB?*in);??/*創(chuàng)建優(yōu)先級隊列,規(guī)定優(yōu)先數(shù)越小,優(yōu)先級越高*/????
void?InsertTime(PCB?*in);??/*時間片隊列*/????
void?InsertFinish(PCB?*in);??/*時間片隊列*/????
void?PrioCreate();????/*優(yōu)先級輸入函數(shù)*/????
void?TimeCreate();????/*時間片輸入函數(shù)*/???
評論
共有 條評論