时间片轮转、最高响应比优先调度算法

来源:网络收集 时间:2025-07-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

课 程 设 计

题 目 时间片轮转、最高响应比优先调度

算法

学 院 计算机科学与技术

专 业

班 级 姓 名

指导教师

吴利军

2013 年 1 月 14 日

1

学 号:

课程设计任务书

学生姓名:

指导教师: 吴利军 工作单位: 计算机科学与技术学院

题 目: 进程调度模拟设计——时间片轮转、最高响应比优先调度算法

初始条件:

1.预备内容:阅读操作系统的处理机管理章节内容,对进程调度的功能以及进程调度算法有深入的理解。

2.实践准备:掌握一种计算机高级语言的使用。

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写

等具体要求)

1.模拟进程调度,能够处理以下的情形:

⑴ 能够选择不同的调度算法(要求中给出的调度算法);

⑵ 能够输入进程的基本信息,如进程名、到达时间和运行时间等; ⑶ 根据选择的调度算法显示进程调度队列;

⑷ 根据选择的调度算法计算平均周转时间和平均带权周转时间。 2.设计报告内容应说明: ⑴ 需求分析;

⑵ 功能设计(数据结构及模块说明); ⑶ 开发平台及源程序的主要部分;

⑷ 测试用例,运行结果与运行情况分析; ⑸我评价自与总结:

i)你认为你完成的设计哪些地方做得比较好或比较出色; ii)什么地方做得不太好,以后如何改正;

iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训); iv)完成本题是否有其他方法(如果有,简要说明该方法); v)对实验题的评价和改进意见,请你推荐设计题目。

时间安排:

设计安排一周:周1、周2:完成程序分析及设计。

周2、周3:完成程序调试及测试。 周4、周5:验收、撰写课程设计报告。

(注意事项:严禁抄袭,一旦发现,一律按0分记)

指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日

2

1. 需求分析

1.1.模拟进程调度,能够处理以下的情形:

⑴ 能够选择不同的调度算法(要求中给出的调度算法);

⑵ 能够输入进程的基本信息,如进程名、到达时间和运行时间等; ⑶ 根据选择的调度算法显示进程调度队列;

⑷ 根据选择的调度算法计算平均周转时间和平均带权周转时间。

1.2这个实验主要是进程调度模拟设计,进程调度有很多方法,这个课程设计要

求我要使用时间片轮转和最高响应比两中算法,来实现对进程的模拟。 首先他要求能够用两种方法实现进程调度,我们需要首先输出一个选择程序,来选择一个调度算法,入数据来进行运算,这是我们首先要解决的问题。其次,我们要接近输入数据的存放问题,毕竟我还需要数据来进行操作和调度。我们要用结构体来存放一个进程的相关信息,例如:进程名字,进程到达时间,进程的运行时间。但是我们在出来进程的时候,还必须要按照一定的顺序来处理,所以我们必须要对结构体里存放的进程相关信息来进行排序。只有经过处理过后,才能更容易的实现进程的调度,同时当不只一个进程的 时候,我们还必须设置用多个地址单元来实验对输入的数据进行存储,多个输入就相当于的链表的插入处理,因此我们又必须要对链表之间的指针进行处理,这涉及到指针的跳转,我们 必须要运用我们所学的知识进行。

我们还必须要对程序的输出进行处理,因为按照实验要求,我们必须显示进程调度队列;根据选择的调度算法计算平均周转时间和平均带权周转时间。这要求我们要设计算法,将进程的调度顺序给输出,从输出就可以检查自己的设计是否是正确的,而响应比其实进程的等待时间加上执行时间,在除以执行时间,得到的结果就是响应比。而最高响应比就是没当一个进程执行完成后,在这个时间比较各个时间各个进程的响应比,响应比最大的就会执行,而其他的进程则继续等待,一直循环做这个操作,这就是所谓的是最高响应比调度算法。时间片轮转法就是将CPU的执行时间分成一个个大小相等的时间片,将这些时间片分别执行就绪队列中的进程,时间片用完的进程就会回答就绪队列的队尾,等待CPU的再次执行。 而周转时间则是完成时间减去提交时间,平均周转时间就是几个进程的周转时间的平均值。而带权周转时间就是周转时间除以执行时间。

2. 功能设计

2.1最高响应比的功能设计

2.1.1最高响应比的结构体

struct zgxyb{ char name[10]; float arrivetime; float servicetime;

3

float starttime; float finishtime; float zztime; float dqzztime; };

2.2.1时间片的结构体

typedef struct node {

datatype Num,runtime; char Name[10];//定义成字符串 struct node *next; }linknode;

3. 开发平台及源程序的主要部分

3.1实验的开发平台

Visual C++ 6.0

3.2实验的主要代码

void input(zgxyb *p,int N) { int i;

printf(\); for(i=0;i<=N-1;i++) {

printf(\,i+1); scanf(\,&p[i].name,&p[i].arrivetime,&p[i].servicetime); } }

void Print(zgxyb *p,float arrivetime,float servicetime,float starttime,float finishtime,float zztime,float dqzztime,int N) {int k;

printf(\); printf(\,p[0].name); for(k=1;k

{printf(\,p[k].name); }

printf(\);

printf(\); for(k=0;k<=N-1;k++)

{ printf(\,p[k].name,p[k].arrivetime,p[k].servicetime,p[k].starttime,p[k].finishtime,p[k].zztime,p[k].dqzztime); }

4

}

//按到达时间排序

void sort(zgxyb *p,int N) {

for(int i=0;i<=N-1;i++) for(int j=0;j<=i;j++)

if(p[i].arrivetime

zgxyb temp; temp=p[i]; p[i]=p[j]; p[j]=temp; } }

//yun xing jieduan

void deal(zgxyb *p,float arrivetime,float servicetime,float starttime,float finishtime,float &zztime,float &dqzztime,int N) { int k;

for(k=0;k<=N-1;k++) {

if(k==0) {

p[k].starttime=p[k].arrivetime;

p[k].finishtime=p[k].arrivetime+p[k].servicetime;} else {

p[k].starttime=p[k-1].finishtime;

p[k].finishtime=p[k-1].finishtime+p[k].servicetime;} }

for(k=0;k<=N-1;k++) {

p[k].zztime=p[k].finishtime-p[k].arrivetime; p[k].dqzztime=p[k].zztime/p[k].servicetime; } }

void ZGXYB(zgxyb *p,int N) {

float arrivetime=0,servicetime=0,starttime=0,finishtime=0,zztime=0,dqzztime=0; sort(p,N);

for(int m=0;m

5

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库时间片轮转、最高响应比优先调度算法在线全文阅读。

时间片轮转、最高响应比优先调度算法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/338667.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219