处理机调度实验报告

处理机调度实验报告

ID:30798704

大小:315.20 KB

页数:14页

时间:2019-01-03

处理机调度实验报告_第1页
处理机调度实验报告_第2页
处理机调度实验报告_第3页
处理机调度实验报告_第4页
处理机调度实验报告_第5页
资源描述:

《处理机调度实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、操作系统实验报告学院:计算机与信息工程学院专业:10级网络工程姓名:孙康丽学号:1008324067操作系统设计性实验报告学号1008324067姓名孙康丽专业网络工程类型设计性学时8实验时间12月22日一、实验题目处理机调度二、实验目的(1)通过编写程序实现进程或作业先来先服务、高优先权、按时间片轮转调度算法,进一步掌握进程调度的概念和算法,加深对处理机分配的理解。(2)了解Linux中进程(线程)的调度机制。(3)学习使用Linux中进程(线程)调度算法,掌握相应的与调度有关的函数。三、实验内容与步骤:程序说明:1)先来先服务算法:如果早就绪的进程排在就绪队列的前面,迟就绪

2、的进程排在就绪队列的后面,那么先来先服务(FCFS:firstcomefirstservice)总是把当前处于就绪队列z首的那个进程调度到运行状态。2)轮转法就是按一定时间片(记为q)轮番运行各个进程。如果q是一个定值,则轮转法是-•种对各进程机会均等的调度方法。3)优先级调度的基本思想是,把当前处于就绪队列中优先级最高的进程投入运行,而不管各进程的卜•一个CPU周期的长短和其他因素。具体步骤:分析问题,提出解决问题的算法编制程序程序调试记录实验结果,以及思考是否能够改善算法程序及运行结果#include〈stdio.h>^include#defineP_N

3、UM4#defineP_TIME50cnumstate{ready,execute,block,finish};structpcbb{charname[4];intpriority;intcputime;intneedtime;intarrivetime;intcount;enumstateprocess;structpcbb*noxt;};typedefstructpcbbpcb;voiddisplay_menu(){printf("CHOOSETHEALGORITHM:z/);printfflPRIORITY、/);printff2R0UNDR0BIN,z);pri

4、ntf(z/3FCFS〃);printf(z/4SPF〃);printf(,z5EXIT");pcb*get_process(){pcb*q;pcb*p;pcb*t;inti二0;printf("inputnameandtime〃);while(iname);scanf("%d:&q-〉needtime);q->cputime=0;q->priority=PTTME-q->needtime;q->process=ready;q->next=NULL;if(i=0)

5、p二q;t二q;}else{t->next=q;t=q;}i++;returnp;voidfrec_process(pcb*p){pcb*q;while(p!=NULL)q二P;p=p->next;free(q);voiddisplay(pcb*p){state,z);printf("namecputimeneedtimeprioritywhile(p){printfp->name);printf("“);printfp>cputime);printff〃);printfp->needtime);printf(z/”);printf("%d",p->priority);pr

6、intf(”〃);switch(p->process){caseready:printf(/zready,z);break;caseexecute:printf(,zexecute,z);break;caseblock:printf(z,block〃);break;casefinish:printf(,zfinishrT);break;}p=p->next;intproccss_finish(pcb*q){intbl=1;whi1e(b1&&q)IIbl=bl&&cr>needtime==O;q=q->next;}returnbl;voidcpuexe(pcb*q

7、){pcb*t=q;inttp=0;while(q){if(q->process!=finish){q->process=ready;if(q->needtime==0){q->process=finish;}}if(tppriority&&q->process!=finish){tp=q-〉priority;t二q;}q=q->next;}if(t->needtime!=0){t->priority-=3;t->needtime--;t->process=execute;t->cp

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

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

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