欢迎来到天天文库
浏览记录
ID:30798704
大小:315.20 KB
页数:14页
时间:2019-01-03
《处理机调度实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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
此文档下载收益归作者所有