1 / 13
文档名称:

多级反馈队列调度算法的实现(共13页).doc

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

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

分享

预览

多级反馈队列调度算法的实现(共13页).doc

上传人:ogthpsa 2022/5/29 文件大小:413 KB

下载得到文件列表

多级反馈队列调度算法的实现(共13页).doc

相关文档

文档介绍

文档介绍:精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
学生实****报告
数功能:主函数
void InitQueue(LinkQueue& HQ):队列的初始化
void EnQueue(LinkQueue& HQ,ElemType item)
函数功能:向队列中插入一个元素
ElemType OutQueue(LinkQueue& HQ)
函数功能:从队列中删除一个元素
ElemType *PeekQueue(LinkQueue& HQ)
函数功能:读取队首元素
bool EmptyQueue(LinkQueue& HQ)
函数功能:检查队列是否为空
void ClearQueue(LinkQueue& HQ)
函数功能:清除链队中的所有元素,使之变为空队
void create(LinkQueue* x,Job job)
函数功能:创建任务。
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
void function(LinkQueue* x, int timing)
函数功能:任务运行。
输入输出
输入:任务号 到达时间 运行时间
输出:任务号 响应时间 离开时间 周转时间、
文件介绍
:主函数的存放,功能函数的调用。
:队列的各个基本功能函数,任务的创建函数与运行函数。
3 详细设计

struct Job {
int jobnum; //任务号
int arrivetime; //到达时间
int burst; //运行时间
int retime; //响应时间
int leavetime; //离开时间
int roundtime; //周转时间
int runtime; //已运行时间
};//任务的存储结构
typedef Job ElemType;//任务的类型定义
struct LNode{
ElemType data;//值域
LNode* next;//链接指针域
};
struct LinkQueue{
LNode* front;//队首指针
LNode* rear;//队尾指针
};
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
参数说明
timing是时刻,时间轴;
Job *jobing:任务数组(动态分配)
int leatime[4];//时间片大小
到达时间:任务请求的时刻
运行时间:任务运行完需要的时间
响应时间:任务从到达时间到任务第一次执行的时间差
周转时间:任务从开始请求(到达时间)到任务完成离开的时间
已运行时间:任务已运行的时间
离开时间:任务运行完后离开队列的时刻
具体算法
void InitQueue(LinkQueue& HQ)
算法:队首队尾设置为空。
void EnQueue(LinkQueue& HQ,ElemType item)
算法:得到一个新结点,把item的值赋给新结点的值域,再把新结点的指针域置空,若链队为空,则新结点既是队首又是队尾,若链队非空,则新结点被链接到队尾并修改队尾指针。
ElemType OutQueue(LinkQueue& HQ)
算法:若链队为空则中止运行,暂存队首元素以便返回,暂存队首指针以便收回队首节点,使队首指针指向下一个结点,若删除后链队为空,则使队尾指针为空,然后回收原队首节点,返回被删除的队首元素。
ElemType *PeekQueue(LinkQueue& HQ)
算法:若链队为空则中止运行,返回队首元素指针(Job*)。
bool EmptyQueue(LinkQueue& HQ)
算法:判断队首或队尾任一个指针是否为空即可。
void ClearQueue(LinkQueue& HQ)
算法:队首指针赋给p,依次删除队列中的每个结点,然后循环结束后队首指针已经变空,置队尾指针为空。
void cre