进程调度算法FCFS
1、
分析实验内容,画出算法流程图;
2、 根据流程图写出实验代码;
3、 编译代码,验证结果正确与否;
4、 对程序进行修改,得到最后结果。
流程图如下:
开始
用户输入N系统随机产生数据数据
Y
将数据按照到
达时间从小到
大排序
进程到达时前一个进完成时间=服务N
程是否已经完成时间+到达时间
Y
完成时间=服务时
间+前一个进程完
成时间
#include
#include 周转时间=完成时#include 间-到达时间
#define N 5 //进程个数,可改变
int rt[N]; //到达时间
int st[N]; //服务时间 带权周转时间=完int ct[N]; //完成时间 成时间/服务时间
int cyt[N]; //周转时间
float rct[N]; //带权周转时间
float av[2]; //平均数 是否所有进程N
已完成计算int n,m;
void start(); //
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示程序开始 Yvoid end(); //表示程序结束
void input(); //输入数据 输出结果void random(); //系统随机产生数据 void ordination(); //对数据按到达时间进行排序 void fcfs(); //先来先服务计算
结束void output(); //输出结果
void main()
{
start();
int which;
int c=1;
for (;c==1;)
{
for (;;)
{
printf("输入数据还是由系统随机产生数据,\n1、输入数据\t2、系统随机产生
数据\n请输入:");
scanf("%d",&which);
if (which==1)
{
input();
break;
}
else
if (which==2)
{
random();
break;
}
else
printf("输入错误,请重新输入~");
}
ordination(); //进程按照到达时间进行排序
fcfs();
output();
printf("继续输入1,退出输入0。\n请输入:");
scanf("%d",&c);
}
end();
}
void line() //美化程序,使程序运行时更加明朗美观 {
printf("------------------------------------------------------------------\n");
}
void start() //表示FCFS算法开始
{
line();
printf(" FCFS算法开始\n");
printf(" ——Copied by Liu changsheng\n");
line();
}
void end() //表示FCFS算法结束
{
line();
printf(" FCFS算法结束,谢谢使用\n");
line();
}
void input()
{
printf("请输入%d个进程的到达时间:",N);
for (n=0;n=rt[n]) //考虑当前一个进程完成而后一个进程还没有到达的情况
ct[n]=ct[n-1]+st[n];
else
ct[n]=rt[n]+st[n];
}
for (n=0;n
本文档为【进程调度算法FCFS】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。