版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南昌大学卖脍报告■一(4J进程惆盛算法的实现学生姓名:学号:专业班级:实验类型:口验证□综合■设计口创新实验日期:实验成绩:一、实验目的通过实验加强对进程调度算法的理解和掌握。二、实验内容编写程序实现进程调度算法,具体可以编写程序实现先来先服务算法或优先度高者调度算法。三、实验规定1、需写出设计说明;2、设计实现代码及说明;3、运营结果;四、重要实验环节1、分析实验内容,画出算法流程图;2、根据流程图写出实验代码;3、编译代码,验证结果对的与否;4、对程序进行修改,得到最后结果。流程图如下:诳牙M至u虫nJntr-不出I匕色」代力工:,诳牙M至u虫nJntr-不出I匕色」代力工:,JN五、实验数据及解决结果
H:\DocunentsandSettingsXfldninistratorMlyDocunents\C>fcfsFCFS算法开始DesignedbyZhangHong转名^^^周程达1鬟进错完—6348138751.6C64291671033.6转名^^^周程达1鬟进错完—6348138751.6C64291671033.6D92522191272.4E97432621653.8平均106.82.5继续募入,,退嵯
输入薮建还是由索籁嚅疆数据蓟入:1露入5个进程的到达时间:01234端入5个进住对应的服务时间:572可可晌间同同间转名周程达1曩进招完,可可晌间同同间转名周程达1曩进招完,继续输入1,退出输入。。请输入:0FCFS算法结束,谢谢使用n:\DocunentsandSettings\/idninistratorXMyDocunents\C>六、实验体会或对改善实验的建议在做这个实验的时候,一开始认为很简朴,只要做简朴的加减乘除就行了,但是仔细做过以后发现需要考虑很多情况。比如说输入进程到达时间的时候,要是乱序的该怎么办?尚有到达时间和服务时间等等定义的都是整型变显,但是带权周转时间确会得到小数,此时就需要用到强制转换。在做系统产生随机数的时候也要考虑随机数的范围,如到达时间可认为0,但是服务时间却不能为0,否则带权周转时间的计算会犯错。七、参考资料《计算机操作系统》《计算机操作系统实验指导书》《C程序设计》《C语言程序设计—现代方法》八、实验代码include<stdio,h>include<stdlib.h>inc1ude<time.h>defineN5//进程个数,可改变inirt[N];〃到达时间intst[N];〃服务时间intct[N];〃完毕时间intcyt[N];//周转时间floatrct[N];〃带权周转时间floatav[2];intn,m,c=l,which;void1ine()//美化程序,使程序运营时更加明朗美观{°prinlf(---—————~——-----————--—--―—---\n");)voidstart()//表达FCFS算法开始{Mine();printf('rFCFS算法开始\n”);printf("DesignedbyZhangHong\n'*);line();voidend()〃表达FCFS算法结束Nine。;-Printf("FCFS算法结束,谢谢使用\n");line();)voidinput()|叩rintf("请输入%d个进程的到达时间二N):for(n=0;n<N;n++)oscanf("%d",&rt[n]);Printf("请输入%d个进程相应的服务时间二N);for(n=0;n<N;n++)。scanf("%d",&stln]);)voidrandom(){srand((unsigned)time(NULL));ofor(n=0:n<N;n++)»rt[nj=rand()%l00;afor(m=0;mvn;m++)if(n!=0&&rt[n]==rt[m])000|rt[n]=rand()%100;m=0;
st[n]=rand()%98+l;。fbr(m=O;m<n;m++)»if(n!=0&&st[n]==st[ml)gst[n]=rand()%98+1;皿m=0;。}))voidordination()〃重新排序,应对出现输入的到达时间为乱序的情况(Anttemp;for(n=0;n<N;n++)ofor(m=0;m<N-n-1;m++)f(rt[m+1]<rt[m])0ggtemp=rt[m+1];grt[m+l]=rt[m];。rt[m]=temp;。»tcmp=st[m+1];st[m+l]=st[m];®st[m]=temp;。)voidfcfs()voidfcfs()voidfcfs()〃执行fcfsvoidfcfs()〃执行fcfs算法»av[l]=0;•ct[O]=rt[0]+st[01;for(n=1;n<N;n++){-if(ct[n-l]>=rt[n])//考虑当前一个进程完毕而后一个进程还没有到达的情况®®ct[n]=ct[n-l]+st[n];elset[n]=rt[n]+st[n];afor(n=();n<N;n++)cyl[nl=ct[nl-rt[n];®for(n=0;n<N;n++)ret[n]=(float)cyt[n]/(fIoal)st[n];for(n=0;n<N;n++)0{««av[0]+=(f1oat)cyt[n]/N;»av[1]+=rct[n]/N;)voidoutput()〃输出结果{line();printf("进程名\t”);fbr(n=0;n<N;n++)printf(\t%c",65+n);•printf("\t平均'n到达时间");for(n=0;n<N;n++)叩rintf("\t%d",rt[nl);oprintf("\n服务时间”):for(n=0;n<N:n++)ooprintf("\t%d",st[n]);prinlf(”\n完毕时间)afor(n=0;nvN;n++)gprintf("\t%d",ct[nJ);print一"\11周转时间”);®for(n=0;n<N;n++)-prinlf("\t%d",cylfn]);printf(u\t%0.1f",av[0J);primf(”\n带权周转时间)for(n=0;n<N;n++)叩%0.1f",rct[n]);printf("\t%0.1f",av[l]);printf("\n");Mine();1voidinain()(start();for(;c==l;)°{Mfor(;;)叩rinif(”输入数据还是由系统随机产生数据?\nl、输入数据M2、系统随机产生数据\n请输入:");w>scanf("%d",&which);gif(which==1)g{°°input();gbreak;»elsegif
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 县域公办幼儿园新建项目规划选址论证报告
- 物业绿化设备应急处置预案
- 《应用文写作》教学课件
- 机床日常保养与维修技术手册
- 人防工程防汛防护处置实施方案
- 校园文化长廊环境设计方案
- 人教版生物必修二第7章第1节 现代生物进化理论的由来 教学设计
- 上海市杨浦区九级第一期期末一模考试2027届物理九上期末预测试题含解析
- 2027届湖北省宜昌西陵区五校联考化学九年级第一学期期中质量跟踪监视模拟试题含解析
- 湖北省黄州思源实验学校2027届九年级化学第一学期期末统考模拟试题含解析
- 2026年跨境电商海外仓建设与运营管理
- 2026年秋季开学第一课:强国复兴有我
- 压力容器检验专项施工方案
- 2026年云南高考(历史)考试试卷真题及答案
- 2026年医师定期考核业务水平测评理论考试(人文医学)练习题及答案
- 踔厉奋发 2026-2027学年第一学期初中一年级道德与法治教学工作计划
- 2025年高校教学统计分析岗笔试试题(附答案)
- 2026年四川成都市初中学业水平考试生物试卷真题(含答案详解)
- 高考志愿填报数据特征与分布规律研究
- 福建省物业管理师职业技能鉴定考试(技能实操中级、四级)题库及答案
- PEF热收缩膜应力分析技术
评论
0/150
提交评论