




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二 间片轮转RR进程调度算法1、 实验目的通过这次实验,加深对进程概念的理解,进一步掌握进程状态的转变、进程调度的策略及对系统性能的评价方法。2、 试验内容问题描述:设计程序模拟进程的时间片轮转RR调度过程。假设有n个进程分别在T1, ,Tn时刻到达系统,它们需要的服务时间分别为S1, ,Sn。分别利用不同的时间片大小q,采用时间片轮转RR进程调度算法进行调度,计算每个进程的完成时间、周转时间和带权周转时间,并且统计n个进程的平均周转时间和平均带权周转时间。3、 程序要求:1)进程个数n;每个进程的到达时间T1, ,Tn和服务时间S1, ,Sn;输入时间片大小q。2)要求时间片轮转法RR调度进程运行,计算每个进程的周转时间和带权周转时间,并且计算所有进程的平均周转时间和带权平均周转时间;3)输出:要求模拟整个调度过程,输出每个时刻的进程运行状态,如“时刻3:进程B开始运行”等等;4)输出:要求输出计算出来的每个进程的周转时间、带权周转时间、所有进程的平均周转时间以及带权平均周转时间。4、 需求分析(1) 输入的形式和输入值的范围时间片真实进程数各进程的到达时间各进程的服务时间(2) 输出的形式模拟整个调度过程、周转时间、带权周转时间、所有进程的平均周转时间以及带权平均周转时间。(3)测试用例 作业情况时间片进程名ABCDE平均到达时间01234服务时间43524RRq=1完成时间1210181117周转时间1291681311.6带权周转时间333.243.253.29RRq=4完成时间47181317周转时间461610139.8带权周转时间123.253.252.895、 调试分析由于自己自编写代码方面与他人有一定的差距,因此在做实验的过程中我在网上搜了很多相关的资料,了解实现该算法的原理及各部分实现的代码,同时参考了几个别人写好的源代码,然后自己在理解的基础上不断的根据要求修改写程序,不过其中碰见的很多的问题。我已经自己调了好多错误,在一遍遍的调试和修改中,发现自己的经验在快速增长,这个感觉真的很不错。然而,实验的运行结果还不是很完美,每个进程在最后一个时间片的运行过程中,进程列表的更新总是修改错误。不过在在本次试验中学到了不少东西,一点点的在进步。6、 测试结果输入时间片,进程数,进程到达时间,服务时间输出输入时间片,进程数,进程到达时间,服务时间输出7、 附录(java)package experiment;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.util.Scanner;public class B_RR / 声明变量/ 时间片public static int q = 0;/ 允许的最大进程数public static int MaxNum = 100;/ 真正的进程数public static int realNum;/ order数组的一个下标public static int number;/ 当前时间public static int NowTime;/ 各进程的达到时间public static int ArrivalTime = new intMaxNum;/ 各进程的服务时间public static int ServiceTime = new intMaxNum;/ 各进程的服务时间(用于记录进程服务时间随时间片轮转减少的过程)public static int PServiceTime = new intMaxNum;/ 各进程的完成时间public static int FinishTime = new intMaxNum;/ 各进程的周转时间public static int WholeTime = new intMaxNum;/ 进程调度队列(存放的是各个进程的数字代号,如进程A数字代号为1)public static int order = new intMaxNum;/ 各进程的带权周转时间public static double WeightWholeTime = new doubleMaxNum;/ 平均周转时间、平均带权周转时间public static double AverageWT, AverageWWT;/ 周转时间总和public static int SumWT = 0;/ 带权周转时间总和public static double SumWWT = 0;/ 进程是否已经结束的标志public static boolean Finished = new booleanMaxNum;public static Scanner stdin;public static void main(String args) throws FileNotFoundException / 从文件中输入数据BufferedInputStream in = new BufferedInputStream(new FileInputStream(./file/02);System.setIn(in);stdin = new Scanner(System.in);q = stdin.nextInt(); / 时间片qrealNum = stdin.nextInt(); / 真实进程数for (int i = 0; i realNum; i+) / 各进程的服务时间ArrivalTimei = stdin.nextInt();for (int j = 0; j q) /进程还未完成PServiceTimeorder0 = PServiceTimeorder0 - q; /对应的进程的服务时间减去一个时间片NowTime += q; /现在时刻增加一个时间片System.out.println(时刻 + NowTime + :进程 + (char)(w + order0) + 停止运行,加入就绪序列尾;); else /进程剩一个时间片后结束NowTime += PServiceTimeorder0; /现在时间增加一个时间片PServiceTimeorder0 = 0; /对应进程的服务时间归零System.out.println(时刻 + NowTime + :进程 + (char)(w + order0) + 运行结束;);FinishTimeorder0 = NowTime;WholeTimeorder0 = NowTime - ArrivalTimeorder0;WeightWholeTimeorder0 = 1.0 * WholeTimeorder0 / ServiceTimeorder0;/ 将到达的程序加入序列尾if (all_add realNum) for (int i = 1; i = ArrivalTimei & Finishedi = false) /判断该进程是否已经在就绪队列中ordernumber+ = i;all_add+; Finishedi = true;/ 将序列首程序调到序列尾int temp = order0;for (int i = 0; i number - 1; i+) /将order中的每个数前移一位orderi = orderi + 1;if (PServiceTimetemp = 0) /进程已将全部调度结束,通过将order的第一个数标记为100,来结束进程调度order-number = 100; else /进程还未调度结束ordernumber - 1 = temp;double all = 0, all1 = 0;for (int i = 0; i realNum; i+) / 计算总周转时间和总带权周转时间all += WholeTimei;all1 += WeightWholeTimei;System.out.println(n进程名t到达时间t服务时间t完成时间t周转时间t带权周转时间);for (int i = 0; i realNum; i+) System.out.println(char)(i + A) + t + ArrivalTimei + t+ ServiceTimei + t + Finis
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务会计习题与实训 2第二章货币资金答案
- 河北省邯郸市曲周县2024-2025学年七年级下学期期中生物试题(含答案)
- 2024-2025学年统编版语文七年级下册期末复习第六单元练习题(含答案)
- 幼儿园安全第一课安全教育课件
- 大班幼儿在五大领域中的成长轨迹与教育方法探讨
- 【高中语文】浙江省+高一下学期期中语文试题
- 【高中语文】《念奴娇+过洞庭》课件++统编版高一语文必修下册
- 2025年android自学难吗!我离职后面试收割小米等大厂offer详细的Android学习指南-学android开发一加还是小米
- 沙龙大赛题目大全及答案
- 三创赛题目及答案
- MOOC 管理学原理-东北财经大学 中国大学慕课答案
- 政务新闻摄影技巧培训课件
- 2024年山东公务员考试行测真题及解析【完美打印版】
- 中国十大名画
- 岗位胜任力评估表
- 夏季企业安全知识培训
- 立式机组轴线调整及瓦间隙计算
- 23秋国家开放大学《素质与思想品德教育》形考任务1-3参考答案
- 2023秋期国开本科《国际经济法》形考任务1-4试题及答案
- 幼儿园好习惯好性格养成绘本:坏脾气的蛋糕
- 施工临时用电安全培训
评论
0/150
提交评论