进程调度模拟-优先级和最高相应比

上传人:bin****86 文档编号:49704673 上传时间:2018-08-01 格式:DOC 页数:30 大小:457.51KB
返回 下载 相关 举报
进程调度模拟-优先级和最高相应比_第1页
第1页 / 共30页
进程调度模拟-优先级和最高相应比_第2页
第2页 / 共30页
进程调度模拟-优先级和最高相应比_第3页
第3页 / 共30页
进程调度模拟-优先级和最高相应比_第4页
第4页 / 共30页
进程调度模拟-优先级和最高相应比_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《进程调度模拟-优先级和最高相应比》由会员分享,可在线阅读,更多相关《进程调度模拟-优先级和最高相应比(30页珍藏版)》请在金锄头文库上搜索。

1、学学 号:号: 课课 程程 设设 计计题题 目目进程调度模拟设计进程调度模拟设计优先级优先级法、最高响应比优先调度算法法、最高响应比优先调度算法学学 院院计算机科学与技术计算机科学与技术专专 业业计算机科学与技术计算机科学与技术班班 级级计算机计算机 班班姓姓 名名指导教师指导教师2012 年1月12日武汉理工大学计算机操作系统课程设计说明书1目目 录录1课程设计目的与功能描述 31.1 目的描述 .3 1.2 功能描述 .32.需求分析 .42.1 基本原理 .4 2.1.1 优先级调度算法.4 2.2.2 最高响应比调度算法.4 2.2 基本需求设计 .53程序设计 53.1 数据结构 .

2、5 3.2 模块说明 .6 3.2.1 主要函数模块及功能.6 3.2.2 模块框图.6 3.2.4 程序流程图74. 开发平台及源程序的主要部分 .104.1 开发平台 10 4.2 源程序的主要部分 105. 程序测试 .175.1 测试用例 17 5.2 程运行结果及分析 18 5.2.1 对测试用例的验证.18 5.2.2 对基本错误处理.20 5.2.3 其他功能.226. 自我评价与总结 .256.1 自我评价 25 6.2 经验与收获 25 6.3 对算法改进的想法 27本科生课程设计成绩评定表 28武汉理工大学计算机操作系统课程设计说明书2课程设计任务书课程设计任务书学生姓名:

3、学生姓名: 专业班级:专业班级: 指导教师:指导教师: 工作单位:工作单位: 计算机科学与技术学院计算机科学与技术学院 题题 目目: : 进程调度模拟设计进程调度模拟设计优先级法、最高响应比优先调度算法优先级法、最高响应比优先调度算法 初始条件:初始条件:1预备内容:阅读操作系统的处理机管理章节内容,对进程调度的功能以及进程调度算法 有深入的理解。 2实践准备:掌握一种计算机高级语言的使用。要求完成的主要任务要求完成的主要任务: : (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1模拟进程调度,能够处理以下的情形: 能够选择不同的调度算法(要求中给出的调度算法) ; 能够输入进

4、程的基本信息,如进程名、优先级、到达时间和运行时间等; 根据选择的调度算法显示进程调度队列; 根据选择的调度算法计算平均周转时间和平均带权周转时间。 2设计报告内容应说明: 课程设计目的与功能; 需求分析,数据结构或模块说明(功能与框图); 源程序的主要部分; 测试用例,运行结果与运行情况分析; 自我评价与总结: i)你认为你完成的设计哪些地方做得比较好或比较出色; ii)什么地方做得不太好,以后如何改正; iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训) ; iv)完成本题是否有其他方法(如果有,简要说明该方法) ; v)对实验题的评价和改进意见,请你推荐设计题目。时间安排

5、:时间安排:设计安排一周:周 1、周 2:完成程序分析及设计。 周 2、周 3:完成程序调试及测试。 周 4、周 5:验收、撰写课程设计报告。(注意事项:严禁抄袭,一旦发现,抄与被抄的一律按(注意事项:严禁抄袭,一旦发现,抄与被抄的一律按 0 0 分记)分记)指导教师签名:指导教师签名: 年年 月月 日日系主任(或责任教师)签名:系主任(或责任教师)签名: 年年 月月 日日武汉理工大学计算机操作系统课程设计说明书3进程调度模拟设计进程调度模拟设计优先级法、最高响应比优先调度算优先级法、最高响应比优先调度算法法1课程设计目的与功能描述1.1 目的描述学习完计算机操作系统这门专业课后,对计算机操作

6、系统的组成和功能有了一定的了解;基于此,在掌握操作系统实现进程调度以及对进程调度算法了解的基础上,编写一个程序,来模拟计算机操作系统进程的调度过程,从而加深对计算机操作系统进程调度各算法的在认识和理解;我抽到的题目为:进程调度模拟设计优先级法、最高响应比优先调度算法。1.2 功能描述此次我编写程序为 C+语言模拟进程调度的程序,主要功能有:1 选择不同的调度算法,主要为选择优先级法、最高响应比优先调度算法;2 输入进程的基本信息,如进程名、优先级、到达时间和运行时间;3 根据选择的调度算法显示进程调度队列;4 根据选择的调度算法计算平均周转时间和平均带权周转时间并显示。5 对基本的输入错误进行

7、处理,如:输入进程信息时要求进程名不能相同,到达时间、运行时间和优先级必须为正等输入错误。武汉理工大学计算机操作系统课程设计说明书42.需求分析2.1 基本原理2.1.1 优先级调度算法优先级法可被用作作业或进程的调度策略。首先,系统或用户按某种原则为作业或进程指定一个优先级来表示该作业或进程所享有的调度优先权。该算法的核心是确定进程或作业的优先级,此次课程设计采用静态优先级。作业调度中的静态优先级大多按以下原则确定: 1 由用户自己根据作业的紧急程度输入一个适当的优先级。为防止各用户都将自己的作业冠以高优先级,系统应对高优先级用户收取较高的费用。 2 由系统或操作员根据作业类型指定优先级。作

8、业类型一般由用户约定或由操作员指定。可将作业分为: IO 繁忙的作业、CPU 繁忙的作业、IO 与 CPU 均衡的作业、一般作业等,系统或操作员可以给每类作业指定不同的优先级。 3 系统根据作业要求资源情况确定优先级。例如根据估计所需处理机时间、内存量大小、IO 设备类型及数量等,确定作业的优先级。 进程的静态优先级确定原则可以是: 按进程的类型给予不同的优先级。例如,在有些系统中,进程被划分为系统进程和用户进程。系统进程享有比用户进程高的优先级。对于用户进程来说,则可以分为: IO 繁忙的进程、CPU 繁忙的进程、IO 与 CPU 均衡的进程、其他进程。对系统进程,也可以根据其所要完成的功能

9、划分为不同的类型,例如,调度进程、IO 进程、中断处理进程、存储管理进程等。 将作业的静态优先级作为它所属进程的优先级。2.2.2 最高响应比调度算法最高响应比优先法(HRN)是对 FCFS 方式和 SJF 方式的一种综合平衡。HRN 调度策略同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入执行。 响应比 R 定义: R=(W+T)/T=1+W/T武汉理工大学计算机操作系统课程设计说明书5其中 T 为该作业估计需要的执行时间,W 为作业在后备状态队列中的等待时间。 每当要进行作业调度时,系统计算每个作业的响应比,选择其中 R 最大者投入执行。这样,即使是长作

10、业,随着它等待时间的增加,W/T 也就随着增加,也就有机会获得调度执行。2.2 基本需求设计程序实现模拟进程调度的优先级调度算法和最高响应比调度算法;基本需求设计如下:进程信息的输入、输出采用命令行界面;程序执行过程如下:首先 输入进程信息,可连续添加;其次 选择调度算法:优先级和最高响应比调度算法;然后 根据选择的调度算法,执行相关函数,显示进程调度序列,输出总进程周转时间、总带权周转时间、平均周转时间、平均带权周转时间;最后 可再次选择调度算法、重新创建进程链、销毁进程链,如果选择销毁进程队列,则退出程序。3程序设计3.1 数据结构此次课程设计的存储结构采用链表的数据结构,用链表的各个接点

11、保存进程的相关信息,可实现对进程链的排序、删除、比较查找等。存储结构如下:struct ProcessProcess *pNext; string name; /进程名double readytime; /进程提交时间double runtime; /运行时间double priority; /进程的优先级;武汉理工大学计算机操作系统课程设计说明书63.2 模块说明3.2.1 主要函数模块及功能主要函数模块及功能如下:Process * Add( Process * pHead)功能:主要完成要求用户输入进程的相关信息:进程名、进程提交时间、进程运行时间、进程优先级;按输入的提交时间的先后顺序

12、组织进程链,同时对用户的一些简单的错误输入进行处理。Process * Copy(Process * pHead) 功能:实现对用户创建的进程链的深复制,由于要进行多次的进程调度,而每次的调度均会删除进程链中的各个接点,直至链表为空,因此要将原进程链保存,每次只是对复制链进行操作。Process* Destroy(Process *pHead) 功能:实现对进程各个接点的销毁回收。void Hrn(Process*pHead,int n) 功能:最高响应比调度算法执行函数,采用最高响应比的调度算法,实现对进程链的执行,并输出周转时间、带权周转时间、平均周转时间、平均带权周转时间。void Hi

13、ghpriority(Process*pHead,int n)功能:优先级调度算法执行函数,采用高优先级调度算法,实现对进程链的执行,并输出周转时间、带权周转时间、平均周转时间、平均带权周转时间。int main()功能:程序的入口,提供人机交互函数,提示用户创建进程序列,选择调度算法。3.2.2 模块框图主函数模块输入进程模块优先级调度模块最高响应比调度模块销毁进程链模块武汉理工大学计算机操作系统课程设计说明书7图 3 - 13.2.4 程序流程图本次程序流程图如下武汉理工大学计算机操作系统课程设计说明书8其他输入YN cpHead-pnext31优先级调度算法24选择操作:优先级 1、最高

14、响应比 2、重新创建进程链 3、销毁进程链 4开始选择 1、2、3、4最高响应比优先算法重新创建进程链销毁进程链创建进程链继续?Y/N结束退出图 3 - 2优先级调度算法流程图:武汉理工大学计算机操作系统课程设计说明书9否是否是否是开始复制进程链取 cpHeadtime =头接点提交时间从所有提交时间不大于time 中选取一个优先级最大进程 flagtimereadytime ?cpHead 是否为空?time = flag-readytime 输出 flag 执行信息删除 flagFlag = c pHead ?输出周转时间和带权周转时间完毕返回cpHead = cpHead-pnext图

15、3 - 3最高响应比调度算法流程图:武汉理工大学计算机操作系统课程设计说明书10否是否是否是开始复制进程链取 cpHeadtime =头接点提交时间从提交时间不大于time 进程中选取一个响应比最大进程 flagtimereadytime ?cpHead 是否为空?time = flag-readytime 输出 flag 执行信息删除 flagFlag = c pHead ?输出周转时间和带权周转时间完毕返回cpHead = cpHead-pnext图 3 - 44. 开发平台及源程序的主要部分4.1 开发平台开发环境:Windows7 平台开发平台:VC+6.04.2 源程序的主要部分输入进程信息源程序: Process * Add( Process * pHead) int mksure=1,i=1; /用来判断是否继续输入的标志 cout*n“; while(mksure=1) Process *p,*q; p=new Process; c

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

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