进程调度模拟设计—优先级法非强占式短进程优先算法.docVIP

进程调度模拟设计—优先级法非强占式短进程优先算法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
进程调度模拟设计—优先级法非强占式短进程优先算法

附件1: 学 号: 课 程 设 计 题 目 进程调度 课程设计任务书 学生姓名: 专业班级: 计科 指导教师: 工作单位: 计算机科学与技术学院 题 目: 进程调度能够处理以下的情形:能够选择不同的调度算法(要求中给出的调度算法)显示进程调度队列i)你认为你完成的设计哪些地方做得比较好或比较出色; ii)什么地方做得不太好,以后如何改正; iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训); iv)完成本题是否有其他方法(如果有,简要说明该方法); v)对实验题的评价和改进意见,请你推荐设计题目。 时间安排: 设计安排一周:周1、周2:完成程序分析及设计。 周2、周3:完成程序调试及测试。 周4、周5:验收、撰写课程设计报告。 (注意事项:严禁抄袭,一旦发现,抄与被抄的一律按0分记) 指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 进程调度能够struct Time { int thour; int tminute; }; //时间 struct JinCheng { char name;//名称限字符 int precedence;//优先级限数字 Time In_time; Time Run_time; Time Zhouzhuan_time; int ChuliBiaozhi; //用来判断是否已经处理过了 未处理为0 int ShijianBiaozhi;//用来判断进程是否已经到达 }; 简要说明 两个标志ChuliBiaozhi和ShijianBiaozhi分别表示了进程是否已经处理,以及进程是否已经提交,有效都为1.这样设置方便了后面的算法设计。 2.3 模块说明 在此次课程设计中大体设置了四个模块。包括结构体定义、过程函数的构建、两种调度算法的实现、以及主函数。 结构体的定义如同2.2数据结构;此次课程设计中用到的过程函数有如下几个: char Compare_time(Time time1, Time time2) //时间之间的比较 返回大小用 =表示 Time ZhouZhuan_time(Time time1,Time time2) //计算两个时间之差 主要用于计算周转时间 返回值为时间 Time QiuHe_time(Time time1,Time time2) //用于计算时间的求和运算 返回值为时间 Time Div_time1(Time time1, int n) //时间除以一个整型变量 返回值为时间 主要用于求平均周转时间 float Div_time2(Time time1,Time time2) //时间之间的相除 返回值为浮点型 主要用于求带全周转时间 void BiaoJi_time(Time Sum, JinCheng a[],int n) //标记函数 用来标记进程中的ShijianBiaozhi 标记已经提交的进程 void PaiXu_shijian(JinCheng bb[],int n) //排序函数 对进程按照提交先后顺序排序 在此处使用了冒泡方法 void Print_answer(JinCheng bb[],int n) //打印函数 用于结果的标准化输出 void CopyJC(JinCheng a[],JinCheng b[],int n) //复制函数 把一个进程队列复制下来 在后面处理复制的进程队列 用于保护原始数据 两种调度算法的实现也是使用了函数的调用: void YouXianJiFa(JinCheng a[],int n)//优先级法 void DuanJinCheng(JinCheng a[],int n)//非强占式短进程优先法 程序流程图 源程序 具体源程序见附表1。 以下为优先级法函数: void YouXianJiFa(JinCheng a[],int n) { Time Sum_run; Sum_run.thour=0; Sum_run.tminute=0; JinCheng temp; JinCheng * bb= new JinCheng[n]; CopyJC(a,bb,n); PaiXu_shijian(bb,n); Sum_run=QiuHe_time(Sum_run,bb[0].In_time); Sum_run=QiuHe_time(Sum_run,bb[0].Run_time); bb[0].ChuliBiaozh

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档