单道批处理系统设计一个作业调度模拟程序28页

上传人:文库****9 文档编号:173780614 上传时间:2021-03-13 格式:DOC 页数:28 大小:242.50KB
返回 下载 相关 举报
单道批处理系统设计一个作业调度模拟程序28页_第1页
第1页 / 共28页
单道批处理系统设计一个作业调度模拟程序28页_第2页
第2页 / 共28页
单道批处理系统设计一个作业调度模拟程序28页_第3页
第3页 / 共28页
单道批处理系统设计一个作业调度模拟程序28页_第4页
第4页 / 共28页
单道批处理系统设计一个作业调度模拟程序28页_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《单道批处理系统设计一个作业调度模拟程序28页》由会员分享,可在线阅读,更多相关《单道批处理系统设计一个作业调度模拟程序28页(28页珍藏版)》请在金锄头文库上搜索。

1、操 作 系 统课程设计说明书题目:为单道批处理系统设计一个作业调度模拟程序 院 系: 计算机科学与工程学院 专业班级: 计算机 学 号: 学生姓名: 指导教师: 计算机科学与工程学院 计算机科学与技术系 学 号学生姓名专业(班级)计算机09-3班设计题目为单道批处理系统设计一个作业调度模拟程序设计技术参数使用Microsoft Visual C+ 6.0编辑器编写,利用c语言开发的基于单道批处理系统的一个作业调度模拟程序,完成该课程设计需要掌握先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。设计要求作业调度算法分别采用先来先服务(FCFS),最短作业优先(S

2、JF)、响应比高者优先(HRN)的调度算法。对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,以比较各种算法的优缺点。工作量1 源代码程序不少于400行2 附有各种图示4张3 课程设计任务书不少于3500字工作计划1.10月23日-10月28日:查询相关资料,初步确定课程设计的语言,进一步明确其所要实现的功能2.10月29日-11月10日:根据所学知识及搜集的相关信息进行概要设计3.11月11日-11月25日:进行详细设计,完成相应源代码的编写4.11月26日-12月2日:对源代码进行调试、运行5.12月3日-12月1

3、0日:完善课程设计说明书并提交参考资料1 梁小丹,梁红兵,哲凤屏,汤子赢计算机操作系统.第三版西安:西安电子科技大学出版社,200722 袁捷、沈俊、 袁晴晴. 计算机操作系统基础与应用.第二版.北京: 清华大学出版社,2009.073杨振山、龚培增. 计算机操作系统教程.第三版. 北京:清华大学出版社, 2007.94谭浩强. C程序设计.第四版.北京:清华大学出版社, 2010.065王敬华,林萍,张清国等C语言程序设计教程.第二版北京:清华大学出版社,200910指导教师签字系主任签字2011年9月 26日学生姓名: 学号: 专业班级: 计算机09-3班 设计题目: 为单道批处理系统设计

4、一个作业调度模拟程序 指导教师评语:成绩: 指导教师: 年 月 日安徽理工大学课程设计(论文)成绩评定表摘要 本次课程设计要求用高级语言编写和调试一个单道批处理系统的作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解。作业调度算法分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,以比较各种算法的优缺点。 关键词:作业调度,先来先服务(FCFS),最短作业优先(SJF),响应比高者优先(HRN)I目 录

5、1需求分析11.1问题描述11.2功能分析及描述11.3 开发语言选择12概要设计22.1功能模块划分22.2功能模块的描述22.3功能模块结构图示23详细设计43.1作业控制块JCB的数据结构类型43.2先来先服务算法设计43.3最短作业优先算法设计53.4响应比高者优先算法设计64代码实现84.1高响应比算法84.2最短作业优先算法84.3先来先服务算法95运行结果与分析115.1选择操作的界面115.2选择先来先服务算法进行作业调度115.3选择最短作业优先算法进行作业调度125.4选择高响应比优先算法进行作业调度136结束语157附录16参考文献II操作系统课程设计说明书1需求分析 1

6、.1问题描述为单道批处理系统设计一个作业调度模拟程序。作业调度算法分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,以比较各种算法的优缺点。1.2功能分析及描述在批处理系统中,作业进入系统后,先驻留在外存上,通过作业调度算法,将它们分批装入内存。作业调度程序用于决定把外存上处于后备队列中的哪些作业调入内存,并为他们创建进程、分配必要的资源,然后,再将新创建的进程加入就绪队列中,准备执行。应将哪些作业从外存调入内存,取决于所采用的

7、调度算法。最简单的是先来先服务调度算法,这是指讲最早进入外存的作业最先调入内存;较常用的一种是短作业优先调度算法,这是将外存上最短的作业最先调入内存;此外,还有基于响应比高者优先的调度算法,根据作业的等待时间和要求服务时间的和与要求服务时间之比可计算出响应比。1.3 开发语言选择 本课程设计采用C语言实现。2概要设计 2.1功能模块划分根据功能描述,单道批处理程序作业调度的模拟程序要求实现如下功能:建立作业、选择作业、运行作业、计算作业周转时间和带权周转时间,以及这组作业的平均周转时间和带权平均周转时间、显示运行结果(包括每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平

8、均周转时间及带权平均周转时间等)、退出程序。 2.2功能模块的描述各模块的功能介绍如下:(1)建立作业:输入作业数,建立一组作业,并对所建立的这组作业进行初始化,用以模拟作业调度。初始化的内容包括作业名,作业要求运行的时间,其中,作业进入系统的时间由系统默认设置。(2)选择作业:程序通过先来先服务调度算法、短作业优先调度算法和高响应比优先调度算法对建立的一组作业进行选择,决定把哪个作业从外存调入内存中。(3)运行作业:根据初始化中设置的作业要求运行时间来模拟作业的运行。(4)计算:作业完成计算作业周转时间和带权周转时间,以及这组作业的平均周转时间和带权平均周转时间。(5)显示结果:将计算所得的

9、结果输出。(6)退出程序:当实验结束,不再需要模拟作业调度的时候,用来退出程序。2.3功能模块结构图示作业调度模拟程序的系统功能结构如图2-1所示。作 业 调 度 系 统 退出程序高响应比优先算短作业优先算法先来先服务算法输出运行结果运行作业初始化初始化运行作业输出运行结果初始化运行作业输出运行结果 图2-1 作业调度模拟程序系统功能结构图3详细设计 3.1作业控制块JCB的数据结构类型由于在单道批处理系统中,不必考虑作业所需要的资源是否得到满足,它所占用的 CPU时限等因素。每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名、提交时间、所需的服务时间、所需的资源、作业状态、链

10、指针等等。作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作业的最初状态总是等待W。对每种调度算法都要求输出每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间。从以上分析可见,在这个模拟程序中作业控制块JCB的数据结构类型可定义为:struct jcb /作业控制块 char name10; /作业名 int reachtime; /作业到达时间 int starttime; /作业开始时间 int needtime; /作业需要运行的时间 float super; /作业的响应比 int fini

11、shtime; /作业完成时间 float cycletime; /作业周转时间 float cltime; /作业带权周转时间 char state; /作业状态 struct jcb *next; /结构体指针*ready=NULL,*p,*q; typedef struct jcb JCB; 3.2先来先服务算法设计先来先服务算法:按照作业提交给系统的先后顺序来挑选作业,先提交的先被执行。流程图如图3-1所示。空结 束计算并打印这组作业的平均周转时间及带权平均周转时间等待队列空?更改时间量times的值;times:=times+服务时间计算并打印运行作业i的完成时刻finishtime

12、,周转时间cycletime,带权周转时间cltime;完成时间:=开始运行时间+服务时间周转时间:=完成时间到达时间带权周转时间:=周转时间/服务时间调度队首的作业投入运行;更改队首指针,使作业的状态为R,记住作业运行的时刻starttime等初始化所有的JBC使JBC按作业提交的时刻的先后顺序排队时间量times:=0开 始不空图3-1 先来先服务调度算法流程图3.3最短作业优先算法设计最短作业优先算法:是以进入系统的作业所要求的服务时间为标准,总是优先选取执行时间最短的作业。流程图如图3-2所示。空结 束计算并打印这组作业的平均周转时间及带权平均周转时间等待队列空?更改时间量times的值;times:=times+服务时间计算并打印运行作业i的完成时刻finishtime,周转时间cycletime,带权周转时间cltime;完成时间:=开始运行时间+服务时间周转时间:=完成时间到达时间带权周转时间:=周转时间/服务时间调度队首的作业投入运行;更改队首指针,使所要求服务时间最短的作业排在队首,使作业的状态为R,记住作业运行的时刻starttime等初始化所有的JBC使JBC按作业提交的时刻的先后顺序排队时

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号