1 / 10
文档名称:

短作业优先调度和时间片轮转调度算法.doc

格式:doc   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

短作业优先调度和时间片轮转调度算法.doc

上传人:w3332654 2016/1/16 文件大小:0 KB

下载得到文件列表

短作业优先调度和时间片轮转调度算法.doc

文档介绍

文档介绍:专业专心专注专业资料参考首选实验报告学生姓名:学号:指导教师:一、实验室名称:二、实验项目名称:进程调度算法的设计三、实验原理:短作业(进程)优先调度算法:短作业调度算法是从后备队列中选择一个或者若干个估计运行时间最短的作业,将他们调入内存运行。而短进程优先调度算法则是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或者发生某事件而被阻塞放弃处理机时再重新调度。时间片轮转法:系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片。当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序便据此信号来停止该进程的执行,并将它送往就绪队列的队尾;然后,再把处理机分配给就绪队列中的新的队首进程,同时也让它执行一个时间片。这样就可以保证就绪队列中的所有进程在一个给定的时间内均能获得一时间片的处理机执行时间。四、实验目的:通过对进程调度算法的设计,深入理解进程调度的原理五、实验内容:(P)、实验器材(设备、元器件):装有VC++、实验步骤:,:#include""structsjf{charname[10];floatarrivetime;floatservicetime;floatstarttime;floatfinishtime;floatzztime;floatdqzztime;};sjfa[100];voidinput(sjf*p,intN){inti;printf("intputtheprocess'sname&arrivetime&servicetime:\nforexmple:a0100\n");for(i=0;i<=N-1;i++){printf("inputthe%dthprocess'sinformation:\n",i+1);scanf("%s%f%f",&p[i].name,&p[i].arrivetime,&p[i].servicetime);}}voidPrint(sjf*p,floatarrivetime,floatservicetime,floatstarttime,floatfinishtime,floatzztime,floatdqzztime,intN){intk;printf("runorder:");printf("%s",p[0].name);for(k=1;k<N;k++){printf("-->%s",p[k].name);}printf("\ntheprocess'sinformation:\n");printf("\nname\tarrive\tservice\tstart\tfinish\tzz\tdqzz\n");for(k=0;k<=N-1;k++){printf("%s\t%-.2f\t%-.2f\t%-.2f\t%-.2f\t%-.2f\t%-.2f\t\n",p[k].name,p[k].arrivetime,p[k].servicetime,p[k].star