1 / 36
文档名称:

优先级法、最高响应比优先调度算法.doc

格式:doc   大小:29KB   页数:36页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

优先级法、最高响应比优先调度算法.doc

上传人:wz_198614 2017/11/19 文件大小:29 KB

下载得到文件列表

优先级法、最高响应比优先调度算法.doc

文档介绍

文档介绍:优先级法、最高响应比优先调度算法
课程设计
题目
学院
专业
班级
姓名
指导教师
吴利军
2013 年 1 月 15 日
课程设计任务书
学生姓名:
:阅读操作系统的处理机管理章节内容,对进程调度的功能以及进程调度算法有深入的理解。
:掌握一种计算机高级语言的使用。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
,能够处理以下的情形:
⑴能够选择不同的调度算法(要求中给出的调度算法);
⑵能够输入进程的基本信息,如进程名、优先级、到达时间和运行时间等; ⑶根据选择的调度算法显示进程调度队列;
⑷根据选择的调度算法计算平均周转时间和平均带权周转时间。
:
⑴需求分析;
⑵功能设计(数据结构及模块说明);
⑶开发平台及源程序的主要部分;
⑷测试用例,运行结果与运行情况分析;
⑸自我评价与总结:
i)你认为你完成的设计哪些地方做得比较好或比较出色;
ii)什么地方做得不太好,以后如何改正;
iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训); iv)完成本题是否有其他方法(如果有,简要说明该方法);
时间安排:
设计安排一周:周1、周2:完成程序分析及设计。
周2、周3:完成程序调试及测试。
周4、周5:验收、撰写课程设计报告。
(注意事项:严禁抄袭,一旦发现,一律按0分记)
指导教师签名: 年月日系主任(或责任教师)签名: 年月日
进程调度模拟设计

模拟进程调度,使程序能够完成:能够输入若干进程,包括进程的一些基本信息,如进程名、优先级、到达时间和运行时间等,选择不同的调
度算法(优先级法或者最高响应比法),选择算法后,根据选择的调度算法显示进程调度队列;根据选择的调度算法计算平均周转时间和平均带权周转时间。


最高响应比优先算法(HRN):最高响应比是对先来先服务和最短进程优先法德一种综合平衡。HRN调度策略同时考虑每个进程的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的进程投入执行。响应比R定义如下:
R=(W+T)/T=1+W/T
其中T为该进程的估计需要的执行时间,W为进程在后备状态队列的等待时间。每当要进行进程调度是,系统计算每个进程的响应比,选择其中R最大者投入执行。
优先级法:系统和用户按某种原则为进程制定一个优先级来表示该进程所享有的调度优先权。根据优先级的高低来对进程加以调度。
3. 数据结构

struct timer //时间类型
{
byte hour;
byte minute;
}
typedef struct process//进程结构
{
char name[20]; //进程名
byte rank; //进程等级
timer time_in; //进程到达的时间
byte use_time; //运行需要消耗时间
timer time_start;//开始运行时刻
byte used_time; //已经运行的时间
timer time_end; //进程结束时刻
bool flag; //进程运行完成标志,完成true
}process,*process_ptr;
bool search(process process_n[])//查看是否所有进程都执行完
pare(timer time1,timer time2) //比较两个时间类型的大小
void paixv(process process_n[])//进程按优先级有大到小排序,规定rank越小优先级越高 void printf_last(process process_n[])//打印结果
void grade_first(process process_n[])//抢占式优先级调度算法
void HRN(process process_n[])//最高响应比优先算法
优先级调度的思路:
这里设计的是一个抢占式优先级调度设一个标志位作为时钟,时间一分分地走,通过每次扫描各个进程的状态,确定这一分钟该哪个进程执行,在这之间要记录某个进程的开始时间、已运行时间和结束最后,到每个进程都执行过,完成优先级调度。
最高响应比优先调度的思路:
每次调度前都计算每个作业的响应比,从而选择其中最大者投入运行。

4. 源程序的主要部分