下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统实验四设计先来先服务进程调度模拟算法实验提示:进程个数至少5个以上(动态),也可让用户动态输入,每个进程由一个进程控制块来标识,进程控制块的内容根据情况自己设计,但至少要有进程名、进程状态、到达时间、估计运行时间信息;设计一个先进先出队列和系统时间,调度时,总是选择队列头部(到达时间最早)的进程;当进程到达时间小于系统时间时,进程执行,当在当前时间没有到达的进程时,可安排延时来模拟闲逛进程。由于本实验为模拟实验,所以被选中调度进程并不实际启动运行,而仅执行按估计运行时间延时,并输出进程的开始和结束运行信息模拟进程的运行,而且省去进程的现场保护和现场恢复工作。在所设计的程序中应有显示或打印语句,能显示或打印就绪队列中的进程、正运行进程的进程名、开始运行时间、结束运行时间等,给出各进程的周转时间和平均周转时间。实验要求:实验报告中要给出流程图和源程序,源程序中要附有详细的注释,给出程序运行时的输入值和运行结果总结收获或对该题的改进意见和见解。流程图:
P->STATE==’F’?i<n?Q->ARRIVETIME>TIMEYYYNNNQ->STARTTIME=ARRIVETIMEQ->STATE=,TP->STATE==’F’?i<n?Q->ARRIVETIME>TIMEYYYNNNQ->STARTTIME=ARRIVETIMEQ->STATE=,T,Q->STARTTIME=TIMEQ->STATE=,TP=Q;P=P->NEXT;P=P->NEXT;i++;输出执行进程信息|P=HEAD;4=0—. 开始结束源程序:#includeb|stdiQ.hb,#includeHstdlib.hp,typedefstructpcbM井吞斥制出<charm[3];Mil程与charname[l.o];FALL程•凸charstate;"运行M.态intarrlvetlme;//tiJhAbJ问i「rstarrtlme:"11程开始日、」回mrfinlshtimr;Z/.Ui*呈土盲未uJ|可mrscrvicetime;//^R11-J|'n]floatrijrnarouncltlme;IJf^]floatwelghrpdrurnarojndtlme;//带』况JAH与IJi可structPCB*next;〃:IB向下个迥3三?pcb;mttime;//计时器mtn; //i井片T抵pcb*head=NULL*p*q;/点井方井voidruntcfs(pcb*pl)/牛、们木无成的拼&<time—p1---arrivetime::-Lime?pl-:-anivetime;Lime;pl->staiLtime—Lime;pi'intfC\n现在时间是"Mid,开梁二运行作业IM>s\n"JSnie,pl->nanie3;time-l-—p1->seivicetime;pl->state—,T1;pl->flnlslitlme-Llme;pl-^Lumaroundtlme=pL->flnlilitlime-pL^arrivetime;pl-?welghtedcurnarojndcime=pl->turnaroundtlme/pl->servlcetlme;pnntFflD到达时问开始时问服务时间完成时间用转日寸问带权周转时间VO;|]riinf(""<%s<%6dc^Lad^iad^sd*^ >TirjT|]i->arrivetime,p】->staiTtime,pl->servicetime,.pl-inishtimerpl->turnaraurdtime,.pl-*bvsightedturnaraundtime);Eidrcrs()■'iML^TLhzr-^llfZ<irLbj;p—head;for(i=O;i<rji—)<if(p>state——T'Jq=p; 株记、“宙w穴-L.们沮程run_fcfs(q);>p-p->next;veingetinfoQ "就号li迫伯血并:d建.'ll程liiLnuiT;p『int(n谁业个数:,scanf("%d,,&n)jfor(num:O;num<n;mjm--)p—(pch*JmaIIdc(sizeof(pchJ];「5廿(节*场."\pllD沮程岩"到:1U.:□床与」.「i可W);seanf("%s\t%s\mdd”,&p->ioz&p->nane?&p->aoivetime^>servicetme);iffhead——null){head-p;q-p;time—p->arrivetime;}if[p->arriwetime<time)time-p->arrivetime;q->next=p;p->starttime=0;p->nmshtime=o;p->turnai_|oundtime=0;p->weightedturnaroundtime=0;p->riext=NULL;p->state='Ff;q=p;}voidmain()piinLC先末先IIW「尊.:夫模拟,getrnfoO;phead;}输入值:到达时间服务时间34到达时间服务时间345TOC\o"1-5"\h\zABC3名••:程A个输雯11)1运行结果:3名••:程A个输雯11)1到诂时间脂务时间343C 4 5IE到到时间开始时同服苗时间完成时间周转时间带权周转时间122353100£334S6150344E14102.00总结收获:通过本次实验,我了解到如果早就绪的进程排在就绪队列的前面,迟就绪的进程排在就绪队列的后面,那么先来先服务总是把当前处于就绪队列之首的那个进程调度到运行状态。也就说,它只考虑进程进入就绪队列的先后,而不考虑它的下一个CPU周期的长短及其他因素。FCFS算法简单易行,是一种非抢占式策略,但性能却不大好。先来先服务的调度算法:最简单的调度算法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 函数的表示(第2课时)课件2025-2026学年人教版八年级数学下册
- 借用公司名义买车险协议书
- 中国妇女十二大精神进基层宣讲工作纲要
- 快充协议书芯片好做
- 口腔科口腔溃疡患者饮食护理建议
- 私募基金合作框架协议书
- 合伙协议书范本
- 头条许可使用协议书
- 休克疗法玻利维亚
- 妇科常见超声检查诊断技巧
- 校园防溺水安全教育课件
- 5.1 人要自强(课件) 2025-2026学年统编版道德与法治七年级下册
- 2026年智能科学与技术专业发展规划
- 2026春季安徽黄山东海景区开发有限公司东海索道分公司招聘49人考试备考试题及答案解析
- 2026年湖北国土资源职业学院单招职业技能考试题库及答案详细解析
- 广东粤财投资控股有限公司招聘笔试题库2026
- 肺癌诊治中心建设与管理指南
- 建筑工程起重吊装监理实施细则
- 房屋建筑维修保养方案
- GB/T 2829-2025周期检验计数抽样程序及表(适用于对过程稳定性的检验)
- 2025成人破伤风诊疗及预防中国急诊专家共识解读
评论
0/150
提交评论