




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告课程名称:操作系统课程设计题目:对处理机的调度姓 名:系:信息与机电工程系专 业:计算机科学与技术年 级:学 号:指导教师: 职 称: 2013年12月31日目 录1设计目的42设计要求43设计方案43.1先到先服务算法 43.2短进程优先算法 64设计内容84.1输入进程信息 84.2先到先服务算法输出 94.3短进程优先算法输出 95总结106参考文献109对处理机的调度1.设计目的进程是操作系统最重要的概念之一,进程调度是操作系统内核的重要功能,本实验要求用C语言编写一个进程调度模拟程序,使用短作业优先调度算法,高响应比调度算法,先到先服务算法实现进程调度。可以手动阻塞与唤醒。本实验可加深对进程调度算法的理解。在OS中,调度的实质是一种资源分配,调度算法即指:根据系统的资源分配策略所规定的资源分配算法。对于不同的系统和系统目标,通常采用不同的调度算法,如在批处理系统中,为照顾为数众多的短作业,采用短作业有限调度算法;把当前处于就绪队列之首的那个进程调度到运行状态,采用先到先服务算法。采用算法时,则要考虑多方面因素,以便达到最佳效果。2.设计要求对处理机的调度设计一个有多个进程共行的进程调度程序。进程调度算法:先到先服务算法,短作业优先调度算法每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:到达时间,服务时间,完成时间,周转时间,帯权周庄时间,平均周转时间,平均帯权周转时间。int ArrivalTimeMax;/到达时间int ServiceTimeMax;/服务时间int FinishTimeMax;/完成时间int WholeTimeMax;/周转时间double WeightWholeTimeMax;/帯权周转时间double AverageWT_FCFS,AverageWT_SJF; /平均周转时间double AverageWWT_FCFS,AverageWWT_SJF;/平均帯权周转时间3.设计方案3.1 先到先服务算法采用先来先服务FCFS调度进程运行,计算每个进程的周转时间,带权周转时间,并且计算所有进程的平均周转时间,带权平均周转时间void FCFS()/找最早到达的。coutendl先到先服务算法(FCFS)endlendl;for(i=0;iNowTime)/假如进程到达的时间比现在已经运行的时间NowTime大,说明在NowTime时刻进程未到达NowTime=ArrivalTimei;/把进程的到达时间赋给NowTimeNowTime+=ServiceTimei;/把进程的服务时间加到NowTime上FinishTimei=NowTime;/计算完成时间WholeTimei=FinishTimei-ArrivalTimei;/计算周转时间=完成时间-到达时间WeightWholeTimei=(double)WholeTimei/ServiceTimei;/计算带权周转时间=周转时间/服务时间SumWT+=WholeTimei;/计算总的周转时间SumWWT+=WeightWholeTimei;/计算总的帯权周转时间AverageWT_FCFS=SumWT/Num;/平均周转时间AverageWWT_FCFS=SumWWT/Num;/平均帯权周转时间for(i=0;iNum;i+)/依次输出结果cout时刻FinishTimei-ServiceTimei: 进程i+1开始运行 其完成时间:FinishTimei 周转时间:WholeTimeisetprecision(3) 帯权周转时间:WeightWholeTimeisetprecision(3)endl;cout平均周转时间:AverageWT_FCFSendl;cout平均帯权周转时间:AverageWWT_FCFSendl;3.2短进程优先算法void SJF()/找已经到达的且服务时间最短的进程(假定输入的进程是按照到达时间先后输入的)coutendl短进程优先算法(SJF)endl;int min=0;NowTime=ArrivalTime0+ServiceTime0;/计算第一次的NowTImeFinishTime0=NowTime;/计算第一个进程的完成时间ServiceTime_SJF0=1000;/赋初值。cout时刻FinishTime0-ServiceTime0: 进程1开始运行。;int allin=0,j,k;for(i=1;iNum;i+)/进入循环,从第二个到达的进程开始k=1;min=0;if(allin=0)/找到已经到达的进程个数j=0;while(ArrivalTimej=NowTime & j=Num)allin=1;elsej=Num;j=j-1;/j是已经到达的进程数while(kServiceTime_SJFk)/比较,找到服务时间最短的进程min=k;k+;ServiceTime_SJFmin=0;/找完后置零,便于下一次循环时使用NowTime+=ServiceTimemin;/累加当前时间FinishTimemin=NowTime;/完成时间for(i=0;iNum;i+)/计算周转时间,带权周转时间,总的周转时间和总的带权周转时间WholeTimei=FinishTimei-ArrivalTimei;WeightWholeTimei=(double)WholeTimei/ServiceTimei;SumWT+=WholeTimei;SumWWT+=WeightWholeTimei;AverageWT_SJF=SumWT/Num;/平均周转时间AverageWWT_SJF=SumWWT/Num;/平均带权周转时间cout 其完成时间:FinishTime0 周转时间:WholeTime0setprecision(3) 帯权周转时间:WeightWholeTime0setprecision(3)endl;for(i=1;iNum;i+)/输出结果cout时刻FinishTimei-ServiceTimei: 进程i+1开始运行 其完成时间:FinishTimei 周转时间:WholeTimeisetprecision(3) 帯权周转时间:WeightWholeTimeisetprecision(3)endl;cout平均周转时间:AverageWT_SJFendl;cout平均帯权周转时间:AverageWWT_SJFendl;4.设计内容4.1 输入进程信息4.2 先到先服务算法输出4.3 短进程优先算法输出5.总结通过此次课程设计,更深入的理解了各个进程调度算法,及实现过程。增进了VC编程的水平。对进程或作业先来先服务、短作业优先算法以及进程调度的概念和算法,有了更深入的认识!初步理解了操作系统对于作业处理的基本思想!并加深了我对于操作系统理论的理解。在此过程中,遇到了困难,能及时请教同学,查询相关资料,及时解决了问题,但仍有不足之处,将会在今后学习中更加努力。参考文献1 张尧学主编计算机操作系统教程(第三版)北京:清华大学出版社,2006 2 张尧学编计算机操作系统教程(第三版)习题解答与实验指导北京:清华大学出版社,2006 3 汤子瀛主编计算机操作系统(第三版)西安:西安电子科技大学出版社,2001 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年数字艺术展览虚拟现实技术与观众深度参与深度解析研究报告
- 2025年厂房购置中介服务费及佣金协议范本
- 2025版全屋定制家居设计与安装及家具定制合同
- 2025年度户外LED灯箱广告制作与安装服务合同
- 2025年吊车租赁及吊装作业风险评估合同
- 2025年度电脑系统安全防护与维护合同
- 2025版跨境离婚协议与子女抚养权及财产分割专项合同
- 2025年高新技术企业研发成果转化服务合同模板
- 2025版建筑工程节能合同模板
- 2025年保险客户关系管理与忠诚度提升协议
- 培训班校长述职报告课件
- 传染病信息报告管理规范2025年版培训试题及答案
- 临床患者身份识别管理标准
- 抗菌药物处方医师培训考核试题及答案
- 新时代班主任角色转型与实践案例
- 统编版二年级《语文》上册新教材解读课件
- 公务用车管理制度与车辆维护
- 医院二甲设备管理PDCA应用
- 江苏省苏州市2025年中考语文试卷(含答案解析)
- 河南大学河南戏剧学院招聘考试真题2024
- 《无人机结构与系统(第2版)》全套教学课件
评论
0/150
提交评论