ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:48.75KB ,
资源ID:12718893      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12718893.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(先来先服务调度和最短作业优先调度算法实验报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

先来先服务调度和最短作业优先调度算法实验报告.docx

1、先来先服务调度和最短作业优先调度算法实验报告实验概述:【实验目的及要求】理解并掌握处理机调度算法【实验原理】基于先来先服务调度和最短作业优先调度算法思想用C语言编程实现【实验环境】(使用的软件)Visual C+6.0实验内容:本实验模拟在单处理机情况下处理机调度,用C语言编程实现先来先服务和最短作业优先调度算法。【实验方案设计】FCFS流程图:SJF流程图:试验总设计流程图:进程等待时间进程开始运行时间进程提交时间(即进程处于就绪态时间) 进程周转时间进程结束时间进程提交时间【实验过程】(实验步骤、记录、数据、分析)测试用例1:屏幕显示:Please input the total numb

2、er of jobs输入:4 屏幕显示:Please input job number, submit time and run time 输入:1 9.0 0.22 8.5 0.53 8.0 1.04 9.1 0.1屏幕显示:What kind of algorithm do you want? Please input 1 to select FCFS, or 2 to select SJF.输入:3 屏幕显示:You have input a wrong number, please input again.输入:1屏幕输出结果: submit run starting final wa

3、it turnaround3 8.0 1.0 8.0 9.0 0.0 1.02 8.5 0.5 9.0 9.5 0.5 1.01 9.0 0.2 9.5 9.7 0.5 0.74 9.1 0.1 9.7 9.8 0.6 0.7屏幕显示:The average turnaround time is 0.85What kind of algorithm do you want? Please input 1 to select FCFS, or 2 to select SJF, or 0 to exit.测试数据二: submit run 1 6 0.52 5 0.93 6.3 0.1FCFS和S

4、JF算法结果一样:submit run starting final wait turnaround2 5 0.9 5 5.9 0 0.91 6 0.5 6 6.5 0 0.53 6.3 0.1 6.5 6.6 0.2 0.3The average turnaround time is 0.567测试数据三: submit run1 5 0.22 4.2 0.33 5.1 0.34 5.2 0.1FCFS:submit run starting final wait turnaround2 4.2 0.3 4.2 4.5 0 0.31 5 0.2 5 5.2 0 0.23 5.1 0.3 5.

5、2 5.5 0.1 0.44 5.2 0.1 5.5 5.6 0.3 0.4The average turnaround time is 0.325SJF:submit run starting final wait turnaround2 4.2 0.3 4.2 4.5 0 0.31 5 0.2 5 5.2 0 0.24 5.2 0.1 5.2 5.3 0 0.13 5.1 0.3 5.3 5.6 0.2 0.5The average turnaround time is 0.275源程序:#include stdio.h#includestdlib.h#includestring.h#de

6、fine M 50struct sjf int jobnumber; float submittime; float runtime; float starttime; float finishtime; float waittime; float turnaroundtime;temp;static struct sjf stM;void input(struct sjf *p,int N) int i; printf(Please input the job number,submit time and run time:nFor exmple:1 8.5 2.0n); for(i=0;i

7、N;i+) scanf(%d%f%f,&pi.jobnumber,&pi.submittime,&pi.runtime); void print(struct sjf *p,int N) int k; float h,g; printf(run order:); printf(%d,p0.jobnumber); for(k=1;k%d,pk.jobnumber); printf(nThe processs information:n); printf(njobnumtsubmittruntstarttfinaltwaittturnaroundn); for(k=0;kN;k+) h+=pk.t

8、urnaroundtime; printf(%dt%-.1ft%-.1ft%-.1ft%-.1ft%-.1ft%-.1ftn,pk.jobnumber,pk.submittime,pk.runtime,pk.starttime,pk.finishtime,pk.waittime,pk.turnaroundtime); g=h/N; printf(nThe average turnaround time is %-.2fn,g);/*按提交时间从小到大排序*/void sort1(struct sjf *p,int N) int i,j; for(i=0;iN;i+) for(j=0;j=i;j

9、+) if(pi.submittimepj.submittime) temp=pi; pi=pj; pj=temp; /*运行*/void deal(struct sjf *p,int N) int k; for(k=0;kpk-1.finishtime) pk.starttime=pk.submittime; pk.finishtime=pk.submittime+pk.runtime; else pk.starttime=pk-1.finishtime; pk.finishtime=pk-1.finishtime+pk.runtime; for(k=0;kN;k+) pk.turnarou

10、ndtime=pk.finishtime-pk.submittime; pk.waittime=pk.starttime-pk.submittime; void sort2(struct sjf *p,int N) int next,m,n,k,i; float min; sort1(p,N); for(m=0;mpm-1.finishtime) pm.finishtime=pm.submittime+pm.runtime; else pm.finishtime=pm-1.finishtime+pm.runtime; for(n=m+1;nN;n+) if(pn.submittime=pm.f

11、inishtime)/*判断内存中每次完成之后又多少到达的进程*/ i+; min=pm+1.runtime; next=m+1; for(k=m+1;km+i;k+)/*找出到达后的进程中运行时间最小的进程*/ if(pk+1.runtimemin) min=pk+1.runtime; next=k+1; temp=pm+1; pm+1=pnext; pnext=temp; deal(p,N); print(p,N); void main() int N,i; printf(Please input the total number of jobs:); scanf(%d,&N); inpu

12、t(st,N);loop2: printf(What kind of algorithm do you want? Please input 1 to select FCFS, or 2 to select SJF or 0 to exit:);loop: scanf(%d,&i); if(i=0) exit(1); else if(i=1) sort1(st,N); deal(st,N); print(st,N); goto loop2; else if(i=2) sort2(st,N); goto loop2; else printf(You have input a wrong numb

13、er, please input again:); goto loop; 【结论】(结果)测试1:测试二:测试三:【小结】实验中产生的错误及原因分析:测试用例1的结果:错误1:错误解决方式:主要是子函数sort2()中出的错:i的作用域,程序修改:将原来:int next,m,n,k,i=0; float min; sort1(p,N); for(m=0;mN;m+) 改为:int next,m,n,k,i; float min; sort1(p,N); for(m=0;mpm-1.finishtime) pm.finishtime=pm.submittime+pm.runtime; else

14、 pm.finishtime=pm-1.finishtime+pm.runtime; 测试用例3的结果:错误1:错误分析:同2 一样,未在子函数sort()中未考虑到“提交时间(submittime)大于上个进程的结束时间”的情况:解决方法:将原来的: else pm.finishtime=pm-1.finishtime+pm.runtime;修改为:else if(pm.submittimepm-1.finishtime) pm.finishtime=pm.submittime+pm.runtime; else pm.finishtime=pm-1.finishtime+pm.runtime

15、; 实验的体会及收获:通过这次试验,我对处理机的调度算法特别是FCFS和SJF有了更深的理解,而且锻炼了我的思维能力,使我能更全面地思考问题,以后还需要多做些这方面的练习。试验不足之处:试验未考虑同一时间提交多个进程的情况,如:测试数据: submit run1 7 0.22 7.2 0.53 7 0.1结果应该是:FCFS:submit run start final wait turnaround1 7 0.2 7.0 7.5 0.0 0.53 7 0.1 7.5 7.6 0.5 0.62 7.2 0.5 7.6 7.8 0.4 0.6The average turnaround time

16、 is 0.57.SJF:Jobnum submit run starting final wait turnaround3 7 0.1 7.0 7.1 0.0 0.11 7 0.5 7.1 7.6 0.1 0.62 7.2 0.2 7.6 7.8 0.6 0.6The average turnaround time is 0.43.而程序运行结果是:程序结果表明该程序还是存在不足之处的。这是需要继续改进的地方。指导教师评语及成绩:评语:成绩: 指导教师签名: 批阅日期:实验报告说明 1实验项目名称:要用最简练的语言反映实验的内容。要求与实验指导书中相一致。2实验类型:一般需说明是验证型实验还

17、是设计型实验,是创新型实验还是综合型实验。3实验目的与要求:目的要明确,要抓住重点,符合实验指导书中的要求。4实验原理:简要说明本实验项目所涉及的理论知识。5实验环境:实验用的软硬件环境(配置)。6实验方案设计(思路、步骤和方法等):这是实验报告极其重要的内容。概括整个实验过程。对于操作型实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。对于设计型和综合型实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。对于创新型实验,还应注明其创新点、特色。7实验过程(实验中涉及的记录、数据、分析):写明具体上述实验方案的具体实施,包括实验过程中的记录、数据和相应的分析。8结论(结果):即根据实验过程中所见到的现象和测得的数据,做出结论。9小结:对本次实验的心得体会、思考和建议。10指导教师评语及成绩:指导教师依据学生的实际报告内容,用简练语言给出本次实验报告的评价和价值。注意: 实验报告将记入实验成绩; 每次实验开始时,交上一次的实验报告,否则将扣除此次实验成绩。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1