2022年网络操作系统课程设计之多级反馈队列算法 .pdf





《2022年网络操作系统课程设计之多级反馈队列算法 .pdf》由会员分享,可在线阅读,更多相关《2022年网络操作系统课程设计之多级反馈队列算法 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、#include#include#define M 3/队列总数#define N 5/进程总数typedef struct pcb int id;/进程号int intime;/提交时间int priority;/优先级int starttime;/开始执行时间int length;/进程长度大小int endtime;/结束时间char state;/状态int ptime;/时间片struct pcb*next;*PCB,pcb;/进程控制块PCB CreatReady(PCB R,int i)R=(PCB)malloc(sizeof(pcb);R-id=i+1;R-priority=5
2、-i;R-ptime=i+1;R-state=R;R-next=NULL;printf(第%d 级:t%dt%dn,R-id,R-priority,R-ptime);return R;PCB CreatWait(PCB W)int i;pcb*p,*q;q=W;printf(给进程初始化如下(tab 键隔开):n);printf(进程 tin 时间 t 优先级 t 长度 n);for(i=0;inext=NULL;p-id=i+1;printf(P%dt,p-id);scanf(%dt%dt%d,&p-intime,&p-priority,&p-length);q-next=p;q=p;ret
3、urn W;名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 7 页 -void Insert(PCB R,pcb*cp)pcb*tail;tail=R;while(tail-next)tail=tail-next;tail-next=cp;cp-next=NULL;int FindQuery(PCB RM)int i,j;for(i=0;inext)j=i;break;else printf(第%d 级就绪队列为空n,Ri-id);return j;int Dispatch(PCB R,pcb*cp,PCB W,int time,pcb*tp)int s;pcb*p,*phead
4、;phead=W;p=W-next;cp-starttime=time;cp-length-=R-ptime;cp-endtime=cp-starttime+R-ptime;if(cp-lengthendtime+=cp-length;/当进程在时间片内就完成,则应减去cp-length 多减的部分 else if(p)while(p)if(p-intimeendtime)&(p-prioritycp-priority)tp-id=p-id;tp-intime=p-intime;tp-length=p-length;名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 7 页 -tp-
5、priority=p-priority;tp-state=p-state;/将抢占进程p 备份到 tp 中phead-next=p-next;/从后备队列中删除抢占的进程cp-length+=cp-endtime-tp-intime;cp-endtime-=cp-endtime-tp-intime;s=-1;/表示被抢占break;else if(p-intime=cp-endtime)s=0;/在后备队列中没有可以抢占的进程时break;p=p-next;phead=phead-next;/查找可以抢占cpu 的优先级高的进程tp else s=0;/在后备队列没有进程时 return s;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年网络操作系统课程设计之多级反馈队列算法 2022 网络 操作系统 课程设计 多级 反馈 队列 算法

限制150内