计算机网络操作系统之时间片轮转算法_第1页
计算机网络操作系统之时间片轮转算法_第2页
计算机网络操作系统之时间片轮转算法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include #include typedef struct pcbint id;int intime;/进入时间int usetime;/估计运行时间int stime;/开始时间int rtime;/时间片int endtime;/结束时间int Ti;/周转时间struct pcb *next;pcb,*PCB;void main()int i,n;float T=0;PCB W;/就绪队列PCB E;/结束队列PCB head,p,tail,q;/控制进程在队列上的移动printf(-实现时间片轮转算法进程调度-n);printf(输入进程数:);scanf(%d,&n);W=(P

2、CB)malloc(sizeof(pcb);W-next=NULL;q=W;for(i=0;inext=NULL;p-id=i+1;printf(给进程P%d初始化如下:n,p-id);printf(输入进入时间:,p-id);scanf(%d,&p-intime);printf(输入估计运行时间:,p-id);scanf(%d,&p-usetime);printf(输入时间片:,p-id);scanf(%d,&p-rtime);printf(n);q-next=p;q=p;/初始化就绪队列printf(-进程调度开始-n);E=(PCB)malloc(sizeof(pcb);E-next=N

3、ULL;head=W;p=head-next;p-stime=p-intime;tail=W;while(tail-next)tail=tail-next;/创建W队尾指针tailq=E;while(p)if(p-usetimertime)printf(进程P%d完成,转到结束队列队尾!n,p-id);p-endtime=p-stime+p-usetime;p-Ti=p-endtime-p-intime;if(p-next) p-next-stime=p-endtime;/设置pcb中相应数据项head-next=p-next;q-next=p;q=q-next;q-next=NULL;p=h

4、ead-next;/从W中删除P,并插入到E中elseprintf(进程P%d中断,转到就绪队列队尾!n,p-id);p-endtime=p-stime+p-rtime;p-usetime-=p-rtime;if(p-next)p-next-stime=p-endtime;/设置pcb中相应数据项head-next=p-next;tail-next=p;tail=tail-next;tail-next=NULL;p=head-next;/进程时间片耗尽,中断调度到就绪队尾printf(-进程调度结束-n);printf(进程的结束队列及各进程对应周转时间如下:n);p=E-next;while(p)printf(P%d-%dn,p-id,p-Ti);T+=p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论