先来先服务调度算法 实验四报告_第1页
先来先服务调度算法 实验四报告_第2页
先来先服务调度算法 实验四报告_第3页
先来先服务调度算法 实验四报告_第4页
全文预览已结束

下载本文档

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

文档简介

1、操作系统实验四设计先来先服务进程调度模拟算法实验提示:进程个数至少5个以上(动态),也可让用户动态输入,每个进程由一个进程控制块来标识,进程控制块的内容根据情况自己设计,但至少要有进程名、进程状态、到达时间、估计运行时间信息;设计一个先进先出队列和系统时间,调度时,总是选择队列头部(到达时间最早)的进程当进程到达时间小于系统时间时,进程执行,当在当前时间没有到达的进程时,可安排延时来模拟闲逛进程。由于本实验为模拟实验,所以被选中调度进程并不实际启动运行,而仅执行按估计运行时间延时,并输出进程的开始和结束运行信息模拟进程的运行,而且省去进程的现场保护和现场恢复工作。在所设计的程序中应有显示或打印

2、语句,能显示或打印就绪队列中的进程、正运行进程的进程名、开始运行时间、结束运行时间等,给出各进程的周转时间和平均周转时间。实验要求:实验报告中要给出流程图和源程序,源程序中要附有详细的注释,给出程序运行时的输入值和运行结果总结收获或对该题的改进意见和见解。流程图:YNYNYNP-STATE=F?iARRIVETIMETIMEQ-STARTTIME=ARRIVETIMEQ-STATE=TQ-STARTTIME=TIMEQ-STATE=TP=Q;P=P-NEXT;P=P-NEXT;i+;输出执行进程信息P=HEAD;4=0.开始结束源程序:indudeTstdio.hincludeHstdlib.

3、hp,typedefstructpcb糾稈咛制书charm3;朋11程今charname10;/辻于呈冃charstate;/运庁比态intarrlvetlme;/tiJhAbJ问Inrstarrtlme:辿程幵蛤的问inffnlshrimr;/ZUi#呈却i来ui可inrscrvicetime;/R11-JfnfloatrurnarouncItlmej/Zi-ill-J问floatwelghrpdrurnarojndtlm已;/第!又IJfnstruct卩匚日*next;/JuIJ-FTjdlf?pcb;mttime;计时器mtn;/YtTpcb*head=NUL丰井一古寸h隹Ivoidru

4、ntcfs(pcb*pl)丿.认彳|禾片战的i井冲staiLtimeLime;piintfQp,i1现在吋间是Mitl幵绘扌运行作业IMsnJSnie,pl-nanie3;time-l-p1-seivicetime;pl-stateT1;pl-flnlslitlme-Llme;pl-Lumaroundtlme=pL-Pnlilitlime-pLarrivetime;pl-?welghtedcurnarojndcime=pl-turnaroundtlme/pl-servlcetlme;pnntFflD到达时间幵始时问服务时问亢云旳问周转旳问带权周轄日寸口VO;|riinf(%sTirjT|i-a

5、rrivetime,p:-staiTtime,pl-serviceitime,.pl-inishtimerpl-turnarciundtime,.pl-lveighrsdturnarciundtime);Midrcrs()luiTLhzr-llfZirlij;phead;for(i=O;irji)Bt3tPF1)q=pr”丘记可云亢-If门辺起run_fcfs(q);p-p-next;veingetinfoQr菇寻世老伎总幷也生11巨mtnum;printfn砸业个数:J;scanf(%d,&n)jfor(num:O;numID卸-a门am也&p-a*rivetlm已servicetlne);

6、iffheadnull)arrivetime;ifp-arriwetimearrivetime;q-next=p;p-starttime=0;p-nmshtime=Q;口-turnai_|oundtime=0;p-weightedturnaroundtirne=0;p-next=NULL;p-A:tmlZE=F;q=p;1voidmainOprintfU先来先服务算法模拟);geirnFo();p=head;输入值:ID进程名1A2B运行结果:3C到达时间服务时间345:3.bW叮到达时间胆务时间34IE到达时1目开皓时冋聽势时i目宾成时间周捋时i目帝权周挎时间122353100E33496150344E14102.00总结收获:通过本次实验,我了解到如果早就绪的进程排在就绪队列的前面,迟就绪的进程排在就绪队列的后面,那么先来先服务总是把当前处于就绪队列之首的那个进程调度到运行状态。也就说,它只考虑进程进入就绪队列的先后,而不考虑它的下一个CPU周期的长短及其他因素。FCFS算法简单易行,是一种非抢占式策略,但性能却不大好。先来先服务的调度算法:最简单的调度算法,既可以用于作业调度,也可以用于程序调度,当作业调度中采用该算法时,系统将按照作业到达的先后次序来进行调度,优先从后备队列中,选择一个或多个位于队列头部的作业,把他们调入内存,分配所需资

温馨提示

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

评论

0/150

提交评论