操作系统原理短作业优先算法报告附源代码.docxVIP

操作系统原理短作业优先算法报告附源代码.docx

  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、 2、 实习人员: 学号 姓名(组长) 学号 姓名 中国地质大学(北京) 课程名称:操作系统原理 一、题目分析  成绩: 在批处理系统中,短作业优先算法是一种比较好的算法,其主要的不足 之处是长作业的运行得不到保证。于是我们想到了一种办法解决这个问题, 就是引用动态优先权、并使作业的优先级随着等待时间的增加而以速率 a 提 高,长作业在等待一定的时间后,必然有机会分配到处理机,这样长作业也 得到了运行。 设计并实现一个采用高响应比算法的进程调度演示程序,响应比 R 定义 如下:RWT/T1W/T 其中 T 为该作业估计需要的执行时间, 为作业在后备状 态队列中的等待时 W 间。 每当要进行作业调度时,系统计算每个作业的响 应比,选择其中 R 最大者投入执行。这样,即使是长作业,随着它等待时间 的增加,W/T 也就随着增加,也就有机会获得调度执行。 这种算法是介于 FCFS 和 SJF 之间的一种折中算法。由于长作业也有机会投入运行,在同一 时间内处理的作业数显然要少于 SJF 法,从而采用 HRRN 方式时其吞吐量将 小于采用 SJF 法时的吞吐量。另外,由于每次调度前要计算响应比,系统开 销也要相应增加。 二、数据结构 结构体数组 path[k] 实现对进程响应比的计算 Path[max] 实现对进程响应比的排序 Path[ii] 实现程序的各阶段运行状况的输出 三、算法流程图 任课教师:  刘传平  日期:  年  月  日 对响应比排序高 对响应比排序高的 进程先运行 结束 是 是 等待 中国地质大学(北京) 课程名称:操作系统原理  成绩: 程序设计流程图 开始 读取进程 判断进 程是否进 入内存 任课教师:  刘传平  日期:  年  月  日 开 始当前作业为依编 开 始 当前作业为依编号 找到的第一个还未执行的 当前作业和下一个 还没执行的作业比较 返回这 一次要执行的 当前 作业取较早 达到且响应 比较高的一 当前作业 取相应比较高的 当前作业 取较早到达的一 中国地质大学(北京) 课程名称:操作系统原理  成绩: 高响应比函数执行过程流程图 作业 当前作 业是最后一个 作业 当前作业在上次 作业被执行完之前到达 同时 到达 个  一个  个 作业 任课教师:  刘传平  日期:  年  月  日 中国地质大学(北京) 课程名称:操作系统原理  成绩: 四、重难点分析 计算每一个进程的动态优先权,需要在每执行一个进程之后计算一遍未执行进程的优先权,从 中选出优先权最高的一个执行。 五、运行测试(截图) 六、分工 编码 : 实验报告: 七、总结 本次演算实验主要对最高响应比算法的理解和对进程调度的功能以及进程调度 算法有了深入的理解。在这次的课程设计中,计算每一个进程的动态优先权,需要在每 执行一个进程之后计算一遍未执行进程的优先权,从中选出优先权最高的一个执行,因为疏忽 任课教师:  刘传平  日期:  年  月  日 中国地质大学(北京) 课程名称:操作系统原理  成绩: 导致了响应比的计算错误,从而加大了完成代码的时间量。对于这次出现的这个问 题,使我有了对程序设计的严谨性,课本基础知识的理解程度上有了更深刻的认识, 也让我明白到了基础知识的重要性。完成此次课程实际之后,我对进程调度模拟设 计的各种算法有了更进一步的理解,在编写程序中所遇到的问题让我有了对操作系 统有了迫切要更深层次的掌握,并且感受到操作系统这门课程实在是很重要的一门 课程。 通过本次实验对用高响应比算法的优先调度算法有了更深入的理解和掌握, 进一步巩固和复习操作系统的基础知识,更进一步的了解了结构化模块化程序设计 的方法,提高了调试程序的技巧。 八、附件:源代码 #include iostream #include cstring #include algorithm #define MAXN 1500 using namespace std; struct node { bool vis;//是否已执行 char name;//进程名称 int come;//到达时间 int ser;//服务时间 int st;//开始时间 int end;//结束时间 int zhouzhuan;//周转时间 double right, youxianji;//带全周转时间,动态优先权, } path[MAXN]; int main() { int n; int ans[MAXN]; cout 请输入进程的数目: ; cin n; cout 请依次输入每个进程的名字、到达时间、服务时间: endl; for(int i =

文档评论(0)

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

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

1亿VIP精品文档

相关文档