{ int index = i; for(int j=i+1;j int dest=0; for(i=1;i index = j; if(index!=i) { int w = r[i]; r[i] = r[index]; r[index] = w; } //按排序后的作业序继续执行 index = r[i]; job[index].start = job[dest].end; hour = job[index].requesttime / 60; minute = job[index].requesttime % 60; job[index].end.minute = (job[index].start.minute + minute) % 60; carry = (job[index].start.minute + minute) / 60; job[index].end.hour = job[index].start.hour + hour + carry; job[index].Ttime = Differ(job[index].enter,job[index].end); job[index].WTtime = ((double)job[index].Ttime) / job[index].requesttime; dest = index; } } }; 五、测试数据及其结果分析 从文本文件中读取数据(书上的例子): 1 800 120 2 2 850 50 3 3 900 10 1 4 950 20 4 输出的平均周转时间、平均带权周转时间结果正确。 六、调试过程中的问题 调试过程中,对于MFC里面许多函数不熟悉,所以经常编译失败,我通过老 师的帮助以及上网查询解决方法来不断修改错误,完善代码。这个程序没有考虑一些特殊情况,如:若有作业5的到达时间为11:10,执行时间是5分钟,则是否先于其它作业调入内存执行。 七、参考文献和查阅的资料 (1)黄刚、徐小龙、段卫华 《操作系统教程》 人民邮电出版社 (2)陈向群、杨芙清 《操作系统教程》 北京大学出版社 (3)沈显君、杨进才、张勇 《C++语言程序设计教程》 清华大学出版社 八、程序设计总结 1、首先要学会打开一个MFC文件,打开VC环境左上角“文件”-->“打开工作空间”,搜寻文件夹里面的.daw文件,直接打开就行。 2、在以往的程序设计实验中我一直都只能局限于DOS界面,这次在老师的帮助下我终于摆脱了编程的黑框框,进入了图形界面设计,对与我来是这是我编程领域的一个新的开始,对MFC简单操作的了解是我这次实验最大的收获。 3、进一步加深了对作业调度的理解,基本掌握了批处理作业调度算法的核心思想。同时,加强了自己的算法设计能力和编码能力。
作业调度算法-实验报告(2)
2019-08-30 15:39
作业调度算法-实验报告(2).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!