课程设计:采用高响应比算法的进程调度程序.docVIP

课程设计:采用高响应比算法的进程调度程序.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘要 高相应比算法是综合先来先服务和最短作业优先既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点短作业与先后次序的兼顾,且不会使长作业长期得不到服务响应比计算系统开销,增加系统开销短作业优先调度算法 + 动态优先权机制该算法中的响应比是指作业等待时间与运行比值,响应比公式定义如下: 响应比 =(等待时间+要求服务时间)/ 要求服务时间,即RR=(w+s)/s=1+w/s,因此响应比一定是大于1的 目录 1.概述 4 2. 课程设计任务及要求 5 2.1 设计任务 5 2.2设计要求(多道、单处理机): 5 3. 算法及数据结构 7 3.1算法的总体思想 7 3.2进程控制块 7 3.3 主函数模块 9 3.4界面模块 10 4. 程序设计与实现 13 4.1 程序流程图 13 4.2 程序代码(要注释) 13 4.3 实验结果 23 5. 结论 26 6. 收获、体会和建议。 27 7. 参考文献。 28 1.概述 2. 课程设计任务及要求3. 算法及数据结构 3.2.2 数据结构 typedef struct PCB //进程控制块 { CString id; //进程号 CString state; //状态 int atime; //到达时间 int intime; //输入时间 int ctime; //剩余计算时间 int otime; //输出时间 int finitime; //完成时间 int stime; //开始运行时间 int comtime; //计算时间 CString samepace; struct PCB *next; }PCB; 队列类内的一些主要成员和成员函数: class CLinkqueue { void DeleteP(PCB *p); //删除进程 void EnQueue(PCB * p); //将队列加入进程 PCB * FrontPointer();// void CLinkqueue::GetHRN(); //得到高响应比较高的进程 int QueueEmpty()const; //判断队列是否为空 void EnQueue(CString id,int loadtime,int intime,int ctime,int otime,CString samepace,CString state); //进程控制信息加入队列 PCB *GetFrontPointer() const; //得到队头结点 PCB *CheckId(CString id); //查找进程号为ID的进程 int GetquequeLength() const; //得到队列长度 检查运行状态时的流程不便用流程图显示,所以文字说明如下 If 未到达 则 进程未装入 else if 进程未完成 if 有同步并且同步未完成 加入阻塞队列 if 进程输入完成 把进程从阻塞队列中删除 If 正在输入 检查输入情况 else 删除运行结束的进程 if 进程在运行 检查运行情况 Else 删除输出结束的进程 If 在输出 检查输出情况 else 进程调度结束加入完成队列 输入输出执行等情况的流程图如下:(仅以输入情况的例子为代表) 显示进程的流程图如下: 3.3 主函数模块 主要用于计算实现高相应比算法 void COsHRNDlg::OnBUTTONsubmit() //提交进程 void COsHRNDlg::ShowLoadQueue()//显示装入队列的信息 void COsHRNDlg::OnBUTTONstart() //开始执行 void COsHRNDlg::OnBUTTONclear() //清除进程 void COsHRNDlg::OnBUTTONpause() //暂停进程 void COsHRNDlg::OnCancel() //退出系统 void COsHRNDlg::OnTimer(UINT nIDEvent)//调用时钟函数 void COsHRNDlg::CheckState()//检查状态 void COsHRNDlg::StartP(PCB *p)//装入进程后,查看进程运行状态; void COsHRNDlg::CheckC(PCB *p)//输入时间完成 void COsHRNDlg::DeleteIn(PCB *p)

您可能关注的文档

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档