操作系统实验处理机调度C语言实现.docx

操作系统实验处理机调度C语言实现.docx

ID:52698119

大小:231.83 KB

页数:8页

时间:2020-03-29

操作系统实验处理机调度C语言实现.docx_第1页
操作系统实验处理机调度C语言实现.docx_第2页
操作系统实验处理机调度C语言实现.docx_第3页
操作系统实验处理机调度C语言实现.docx_第4页
操作系统实验处理机调度C语言实现.docx_第5页
资源描述:

《操作系统实验处理机调度C语言实现.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include#include#include#include#defineN20#defineMAX100typedefstructPCB//pcb进程控制块定义{intnum[N];//进程序号charname[10];//进程名charstate;//进程状态inttijiaotime;//进程到达时间intruntime;//进程开始时间intfinishtime;//进程结束时间intneedtime;//服务时间intpro;//进程优先级structPCB*next;//链接指

2、针指向下个作业的}pcb;structPCB*head_input;structPCB*head_run;structPCB*head_run_pre;unsignedlongcurrent;//记录系统当前时间的变量inttime=10000,n;//计时器pcb*head=NULL,*p,*q;voidgetInfo()//创建进程{intnum;printf("请输入要建立的进程个数:");scanf("%d",&n);for(num=0;num

3、ad=p;q=p;}printf("依次输入:进程号进程名到达时间服务时间");scanf("%st%st%dt%d",&p->num,&p->name,&p->tijiaotime,&p->needtime);if(p->tijiaotimetijiaotime;q->next=p;p->runtime=0;p->finishtime=0;p->next=NULL;p->state='W';q=p;}}//*********************1.先来先服务调度算法**************************

4、*****voidrun_fcfo(pcb*p1)//定义先来先到服务的算法{time=p1->tijiaotime>time?p1->tijiaotime:time;p1->runtime=time;printf("现在时间是%d,开始运行进程%s",time,p1->name);time+=p1->needtime;p1->state='F';p1->finishtime=time;printf("进程名开始时间所需时间结束时间");printf("%s%d%d%d",p1->name,p1->runtime,p1->needtime,p1->fi

5、nishtime);}voidfcfo()//定义运行进程函数{inti,j,t;for(j=0;jtijiaotimestate=='W'){t=p->tijiaotime;q=p;//标记当前未完成的进程}p=p->next;}run_fcfo(q);}}//************************2.优先级调度服务算法************************************intreadydata(){//

6、建立就绪队列if(head_input->next==NULL){return0;}structPCB*p1=head_input->next,*pmax,*p2;intmaxpro=0xffff;pmax=p1;p2=head_input;while(p1!=NULL){if(p1->propro;head_run_pre=p2;pmax=p1;}p2=p1;p1=p1->next;}head_run=pmax;head_run_pre->next=head_run->next;return1;}voidrunproces

7、s()//运行进程函数{head_run->runtime-=10;head_run->pro++;structPCB*p1,*p2;printf("时间片的大小%d",current);current+=10;printf("%s开始",head_run->name);printf("时间片的大小%d",current);printf("%s结束",head_run->name);if(head_run->runtime<=0){//判断进程是否运行结束}else{p1=head_input;p2=head_input->next;p1->next=he

8、ad_ru

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。