单道批处理系统:作业调度模拟程序设计与比较

版权申诉
0 下载量 135 浏览量 更新于2024-06-19 收藏 1.03MB PDF 举报
本篇文档是关于计算机科学与工程专业的一份课程设计说明书,主要目标是为单道批处理系统设计一个作业调度模拟程序。作业调度在操作系统中起着关键作用,它决定了系统的效率和资源利用率。在这个项目中,学生需要熟练掌握三种常见的作业调度算法:先来先服务(FCFS)、最短作业优先(SJF)和响应比最高者优先(HRN)。 首先,设计者将使用Microsoft Visual C++ 6.0编辑器和C语言进行开发。这个程序需要实现的基本功能包括: 1. 作业调度算法:学生需要实现FCFS、SJF和HRN三种调度算法,根据它们的规则来决定作业的执行顺序。例如,FCFS按照作业到达的时间顺序执行,SJF优先选择预计执行时间最短的作业,而HRN则考虑作业等待时间和执行时间的加权组合。 2. 性能指标计算:程序需要记录每个作业的开始运行时刻、完成时刻、周转时间(从提交到完成的时间)和带权周转时间(考虑作业优先级的周转时间)。这些数据用于分析不同调度算法的效果。 3. 报告输出:最后,学生需要编写一份详细的课程设计说明书,其中包括每种调度算法下的性能比较,通过平均周转时间和带权平均周转时间展示出各算法的优缺点。 整个项目的工作计划分为五个阶段: - 前期准备阶段(10月23日-10月28日):学生会查阅相关资料,确定编程语言和功能需求。 - 概要设计阶段(10月29日-11月10日):基于所学知识和收集的信息,制定项目的大纲和设计概要。 - 详细设计与编码阶段(11月11日-11月25日):深入设计程序结构,编写源代码。 - 测试与调试阶段(11月26日-12月2日):确保代码正确无误,进行功能测试。 - 撰写报告与提交(12月3日-12月10日):整理课程设计说明书,附上参考文献,完成项目的最终提交。 完成这个项目有助于学生深入了解操作系统内部运作机制,增强实际编程和算法设计能力,同时也能培养他们的问题解决和文档撰写技巧。
2013-06-11 上传
1. 课程设计的目的 操作系统课程的一个非常重要的环节是培养计算机专业学生的系统程序设计能力。通过操作系统课程设计,可以培养程序设计的方法和技巧,提高编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。使我们更好地掌握操作系统的基本概念、基本原理、及基本功能,具有分析实际操作系统、设计、构造和开发现代操作系统的基本能力。 本次课程设计要求用高级语言编写和调试一个单道批处理系统的作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解 2. 课程设计的开发语言 C语言 3. 功能描述 在批处理系统中,作业进入系统后,是先驻留在外存上的,因此需要有作业调度的过程,以便将它们分批装入内存。作业调度用于决定把外存上处于后备队列中的哪些作业调入内存,并为他们创建进程、分配必要的资源,然后,再将新创建的进程排在就绪队列上,准备执行。 应将哪些作业从外存调入内存,取决于所采用的调度算法。最简单的是先来先服务调度算法,这是指讲最早进度外存的作业最先调入内存;较常用的一种是短作业优先电镀算法,这是将外存上最短的作业最先调入内存;此外,还有基于响应比高者优先的调度算法,根据作业的响应时间和要求运行时间可计算出响应比。 4. 方案论证 4.1概要设计 根据功能描述,单道批处理程序作业调度的模拟程序要求实现如下功能:建立作业、选择作业、运行作业、计算作业周转时间和带权周转时间,以及这组作业的平均周转时间和带权平均周转时间、显示运行结果,退出程序。各模块的功能介绍如下: (1)建立作业:输入作业数,建立一组作业,并对所建立的这组作业进行初始化,用以模拟作业调度。初始化的内容包括作业名,作业要求运行的时间。 (2)选择作业:程序通过先来先服务调度算法、短作业优先调度算法和高响应比优先调度算法对建立的一组作业进行选择,决定把哪个作业从外存调入内存中。 (3)运行作业:根据初始化中设置的作业要求运行时间来模拟作业的运行。 (4)计算:计算作业周转时间和带权周转时间,以及这组作业的平均周转时间和带权平均周转时间。 (5)显示结果:将计算所得的结果输出。 (6)退出程序:当实验结束,不再需要模拟作业调度的时候,用来退出程序。