魔力学堂礼包内容:操作系统进程调度算法(数组)c++

来源:百度文库 编辑:中财网 时间:2024/04/29 18:40:25
1.程序算法struct   PCB {       int   pname;     int   pri;     int   runtime;     int   waitting;     struct   PCB*next; } pcb[7]; struct   PCB*running,ready,wait; int   sin=0; main() {   创建PCB[3]--PCB[9]并插入ready队列;/*pname分别为3--9, pri=0,runtime=10,waittime=0   */ for(;;)/*系统程序,完成初始化和处理机分派功能 */ {cast{sig=0:swtch; sig=1:waiter; sig=3:proc3; sig=4:proc4; sig=5:proc5; sig=6:proc6; sig=7:proc7; sig=8:proc8; sig=9:proc9;} } } 2.进程调度程序swtch() {       while(ready==NULL)wakeup();     移出就绪队列第一个PCB; 送running指针; 若pri=1,则runntime=4,否则runtime=10; 将running→pname 送sig } 3。  将进程等待函数 wait() {将运行进程插入wait队列,优先数置1;     sig=0; } 4。进程唤醒函数 wakeup() {   将wait队列中所有的PCB中waittime减1; 将wait队列中的所有的waittime=0的PCB揭除; 插入到ready队列中第一个优先级为0的PCB前面 }