时间片轮转法调度程序.doc_第1页
时间片轮转法调度程序.doc_第2页
时间片轮转法调度程序.doc_第3页
时间片轮转法调度程序.doc_第4页
全文预览已结束

下载本文档

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

文档简介

时间片轮转法调度#define M 200#include conio.h#include stdio.htypedef struct pcb /*进程控制块的定义*/ char ProcessnameM; /*进程名*/ int runtime; /*运行时间*/ int arrivetime; /*到达时间*/ char state; /*进程状态*/ struct pcb*next; /*链接指针*/PCB;PCB head_input;PCB head_run;PCB*pcb_input;static char R=r,C=c;unsigned long current; /*记录系统当前时间的变量*/int Processready(); /*建立就绪队列函数*/int Dataready(); /*判断进程是否就绪函数*/void inputprocess(); /*建立进程函数*/int runprocess(); /*运行进程函数*/int Processready() while(1) if(Dataready()=0) return 1; else runprocess(); int Dataready() if(head_input.next=NULL) if(head_run.next=NULL) return 0; else return 1;PCB *p1,*p2,*p3;p1=head_run.next;p2=&head_run;while(p1!=NULL) p2=p1; p1=p2-next;p1=p2;p3=head_input.next;p2=&head_input;while(p3!=NULL) if(unsigned long)p3-arrivetimestate=R) printf(n); printf(时间片是:%d(时间:%d),进程%s开始 n,current,(current+500)/1000,p3-Processname); printf(n); p2-next=p3-next; p3-next=p1-next; p1-next=p3; p3=p2;p2=p3;p3=p3-next;return 1;void inputprocess() PCB *p1,*p2; int num; unsigned long max=0; printf(n); printf( 你要运行多少个进程:n); printf(); scanf(%d,&num); p1=&head_input; p2=p1; p1-next=new PCB; p1=p1-next; for(int i=0;iProcessname); printf(n); printf( 输入运行时间:n); printf(); scanf(%d,&(p1-runtime); printf(n); printf( 输入到达时间:n); printf(); scanf(%d,&(p1-arrivetime); p1-runtime=(p1-runtime)*1000; p1-arrivetime=(p1-arrivetime)*1000; p1-state=R; if(unsigned long)(p1-arrivetime)max) max=p1-arrivetime; p1-next=new PCB; p2=p1; p1=p1-next; delete p1; p1=NULL; p2-next=NULL;int runprocess() PCB *p1,*p2; if(head_run.next=NULL) current+; return 1; else p1=head_run.next; p2=&head_run; while(p1!=NULL) p1-runtime-; current+; if(p1-runtimeProcessname); printf(n); p1-state=C; p2-next=p1-next; delete p1; p1=NULL;else p2=p1; p1=p2-next; return 1;/这样做,设定一个周期的联系来解决问题void main() printf(tn); printf(t按时间片轮转

温馨提示

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

评论

0/150

提交评论