版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统实习报告先来先服务算法的实现一、设计目的加深对进程调度工作的理解,了解其优点缺点。二、设计内容设计一个按先来先服务算法实现处理器调度的程序。三、开发环境windows环境,VC6.0平台。四、分析设计(一)实验原理1.每个进程由一个进程控制块来识别,进程控制块的内容如下所示:进程名到达时间服务时间开始时间结束时间进程名:进程表示。到达时间:进程创建时的系统时间或者用户指定,调度时选择到达时间最早的进程。服务时间:进程运行所需的时间。开始时间:进程开始执行的时间。结束时间:进程执行结束时的时间。2.设置一个数组,用来存放进入系统的进程。3.处理机调度时,总是选择通过冒泡排序选出的到达时间靠前的进程投入运行。4.在所设计的程序中应该有显示或打印语句显示或者打印正在运行的进程的进程名进程到达时间、进程服务时间、进程开始执行时间、进程完成时间、进程周转时间、进程带权周转时间。(二)程序结构通过输入函数input创建进程后,送入数组中,通过冒泡排序对数组中各进程的到达时间进行排序,到达时间小的会优先得到处理机的分配。进行进程调度前,进程的各个信息如下:arriveti,serviceti,startti,finishti,zzti,dqzzti假设进程K的到达比进程1提前到达,得到分配处理机后,通过deal函数处理:p[k].startti=p[k].arriveti;p[k].finishti=p[k].arriveti+p[k].serviceti;p[k].zzti=p[k].finishti-p[k].arriveti;p[k].dqzzti[k].zzti/p[k].serviceti;最后调用输出函数Print()对进程的各个信息进行输出。(三)数据结构1.主函数2.进程控制块的内容如下:3.创建进程算法,根据输入的个数存储到数组中,创建时信息包括进程名、到达时间、服 务时间,创建进程后可在主函数调用FCFS()函数进行处理。4.输出函数,输出信息包括:进程名、到达时间、服务时间、开始时间、完成时间、周转时间、带权周转时间以及进程执行顺序。5.排序函数,对到达时间进行排序,对先来的进程进行调度6.运行函数,处理进程开始执行时间、完成时间、周转时间、带权周转时间。7.调用处理函数(四)程序流程图开始初始化进程控制块,让进程控制块按进程到达先后顺序让进程排队调度数调度数组中首个进程,并让数组中的下一位移到首位计算并打印进程k的完成时刻、周转带权周转时间其中:周转时间=完成时间-到达带权周转时间=周转时间务时间更改计时器的当前时间,即下一刻进程的当前时间=K-1的完成时间+K的服务时间N数组为空时间开始时间Y结束五、运行实例与结果分析如下表,输入一下三个进程A、B、C作业名到达时间服务时间A14B52C25实验结果如下:根据先来先服务的算法,进程A到达时间为1,服务时间为4,进程A开始执行后,随后的作业先到的就能够排在前面,而B的到达时间为5,C的到达时间则为2,所以B在C之后执行,知道执行完。这个算法和进程的运行所需的时间无关,只和先后到达顺序有关。六、实验心得通过这次实习,让我对进程作业先来先服务和进程调度的概念和算法,有了更深入的认识步理解了操作系统对于作业处理的基本思想时这次实习也是自己编程能力的一种考验深了理论知识的实际应用!在实验的过程中遇到了很多困难,感谢同学们的帮助。七、实验源代码#include<stdio.h>structfcfs{charname[10]; /进程名floatarrivetime; /到达时间floatservicetime; /服务时间floatstarttime; /开始时间floatfinishtime; /完成时间floatzztime; /周转时间floatdqzztime; /带权周转时间};fcfsa[100];////////////入////////////////voidinput(fcfs*p,intN){inti;printf("请输入进程名 到达时间服务时间:;for(i=0;i<=N-1;i{printf("请输入第%d个进程:\n",i+1);scanf("%s%f%f",&p[i].name,&p[i].arrivetime,&p[i].servicetime);}}////////////出////////////////voidPrint(fcfs*p,floatarrivetime,floatservicetime,floatstarttime,floatfinishtime,floatzztime,floatdqzztime,intN){intk;printf("运行顺序为:");printf("%s",p[0].name);for(k=1;k<N;k++){printf("-->%s",p[k].name);}printf(进程信息如下:;printf("\nnamerrivervice\tstaniqzz;for(k=0;k<=N-1;k{printf("%-.2-.2-.2f\t%-.2-.2-.2f\t\n",p[k].name,p[k].arrivetime,p[k].servicetime,p[k].starttime,p[k].finishtime,p[k].zztime,p[k].dqzztime);}}/////////序函数////////////voidsort(fcfs*p,intN){for(inti=0;i<=N-1;i++)for(intj=0;j<=i;jif(p[i].arrivetime<p[j].arrivetime){fcfstemp;temp=p[i];p[i]=p[j];p[j]=temp;}}////////////行函数//////////voiddeal(fcfs*p,floatarrivetime,floatservicetime,floatstarttime,floatfinishtime,float&zztime,float&dqzztime,intN){intk;for(k=0;k<=N-1;k++){if(k==0) /第一个到达的进程{p[k].starttime=p[k].arrivetime;p[k].finishtime=p[k].arrivetime+p[k].servicetime;}else/第一个以后到达的{p[k].starttime=p[k-1].finishtime;p[k].finishtime=p[k-1].finishtime+p[k].servicetime;}}for(k=0;k<=N-1;k++) /周转时间和带权周转时间的计算{p[k].zztime=p[k].finishtime-p[k].arrivetime;p[k].dqzztime=p[k].zztimek].servicetime;}}/////////用处理////////voidFCFS(fcfs*p,intN){floatarrivetime=0,servicetime,starttime=0,finishtime=0,zztime=0,dqzztime=0;sort(p,N);deal(p,arrivetime,servicetime,starttime,finishtime,zztime,dqzztime,N);Print(p,arrive
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 洗车设备运输合同三篇
- 2025年四川省南充市高考地理一诊试卷
- 2021年云南省昭通市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2021年安徽省淮南市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2022年广东省潮州市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2022年广西壮族自治区防城港市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2024年吉林省松原市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 陕西省安康市(2024年-2025年小学六年级语文)统编版随堂测试(下学期)试卷及答案
- 2024年给皂液机项目投资申请报告代可行性研究报告
- 2025年中小型电动机项目规划申请报告
- 主题班会记录表20篇
- 2024年北京通建信息系统有限公司招聘笔试参考题库含答案解析
- 秦代建筑配色特征研究报告
- 安徽省建设工程工程量清单计价依据说明
- 冷库安全操作规程培训
- 省级非急救医疗转运管理规范
- 课程设计DLP4-13型锅炉中硫烟煤烟气袋式除尘湿式脱硫系统设计
- 煤泥综合利用的可行性研究报告
- 三年级《剪窗花》课件
- 四川省自贡市2022-2023学年八年级上学期期末语文试题
- 中国各省省会-地级市-县级市明细表-
评论
0/150
提交评论