电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

实验一先来先服务FCFS和短作业优先SJF进程调度算法

实验一先来先服务FCFS和短作业优先SJF进程调度算法_第1页
1/11
实验一先来先服务FCFS和短作业优先SJF进程调度算法_第2页
2/11
实验一先来先服务FCFS和短作业优先SJF进程调度算法_第3页
3/11
实验一 先来先服务FCFS 和短作业优先SJF 进程调度算法 1、需求分析 (1) 输入的形式和输入值的范围 首先输入进程个数,然后输入进程到达的时间和服务时间,输入完成,程序显示 FCFS和SJF算法的结果。 (2) 输出的形式 程序的输出根据用户输入的到达时间以及服务时间,通过相应的计算输出其各自的完成时间,周转时间,带全周转时间以及平均值,程序会先输出 FCFS的结果,然后输入 SJF的结果。 3) 程序所能达到的功能 1)输入进程个数 n;每个进程的到达时间 T1, … ,Tn和服务时间S1, … ,Sn。 2)采用先来先服务FCFS 和短作业优先SJF 分别调度进程运行,计算每个进程的周转时间和带权周转时间,并且计算所有进程的平均周转时间和带权平均周转时间; 3)输出:输出计算出来的每个进程的周转时间、带权周转时间、所有进程的平均周转时间以及带权平均周转时间。 (4) 测试数据,包括正确的输入及其输出结果和含有错误的输入及其输出结果 正确输入的结果 错误输入的结果 2、概要设计 抽象数据类型的定义: static int MaxNum=100;//进程的最大值 int ArrivalTime[100];//到达时间 int ServiceTime[100];//服务时间 int FinishTime[100];//完成时间 int WholeTime[100];//周转时间 double WeightWholeTime[100];//带权周转时间 double AverageWT_FCFS,AverageWT_SJF; //平均周转时间 double AverageWWT_FCFS,AverageWWT_SJF;//平均带权周转时间 int Num=0; int NowTime=0;//记录当前时间 double SumWT=0,SumWWT=0;//SumWT用来计算总的周转时间,SumWWT用来计算总的帯权周转时间 int i; int choice;//记录选择 主程序的流程以及各程序模块之间的层次(调用)关系: 定义和初始化程序的数据 提示用户输入各数据相应的值 进行 FCFS 算法 进行 S JF 算法 输出运算的结果 3、详细设计 首先定义一个临时数组 ,把到达时间的数组赋值给它,然后对其进行排序,同时将原来到达时间的数组的序号给数组。从而再用一个 for 循环,便可得到各个进程的完成时间,周转时间,和加权周转时间 FinishTime[nu m1[k]]=Serv iceTime[nu m1[k]]+FinishTime[nu m1[k-1]]; WholeTime[nu m1[k]]=Serv iceTime[nu m1[k]]+FinishTime[nu m1[k-1]]-tem[k]; WeightWholeTime[nu m1[k]]=(dou ble)WholeTime[nu m1[k]]/Serv iceTime[nu m1[k]]; 从而得到平均周转时间和平均带权周转时间 (2)SJ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

实验一先来先服务FCFS和短作业优先SJF进程调度算法

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部