• 大小: 246KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: C/C++
  • 标签: 调度算法  

资源简介

操作系统调度算法——先来先工作调度算法和短作业调度算法

资源截图

代码片段和文件信息

#include
void FCFS(int n)
{
int process_name[20];//进程名
int start_time[20];//到达时间
int service_time[20];//服务时间
int dostart_time[20];//开始执行时间
int finish_time[20];//完成时间
int zhouzhuan_time[20];//周转时间
double daiquan_time[20];//带权周转时间
int ij;
char x;
for(i=0;i {
printf(“输入一个进程:进程名—开始时间—服务时间\n“);
scanf(“%d %d %d“&process_name[i]&start_time[i]&service_time[i]);
}
printf(“进程名 到达时间 服务时间 开始执行时间 完成时间 周转时间 带权周转时间\n“);
for(i=0;i for(j=0;j {
if(start_time[j]>start_time[j+1])
{
int abc;
a=service_time[j];
service_time[j]=service_time[j+1];
service_time[j+1]=a;
b=process_name[j];
process_name[j]=process_name[j+1];
process_name[j+1]=b;
c=start_time[j];
start_time[j]=start_time[j+1];
start_time[j+1]=c;
}
}
dostart_time[0]=start_time[0];
for(i=0;i {
dostart_time[i+1]=dostart_time[i]+service_time[i];
}
for(i=0;i {
finish_time[i]=service_time[i]+dostart_time[i];
zhouzhuan_time[i]=finish_time[i]-start_time[i];
daiquan_time[i]=zhouzhuan_time[i]/(1.0*service_time[i]);
printf(“%-8d %-10d %-10d %-10d %-10d %-10d %3.2f\n“process_name[i]start_time[i]service_time[i]dostart_time[i]finish_time[i]zhouzhuan_time[i]daiquan_time[i]);
}
}

void FJF(int n)
{
int process_name[20];//进程名
int start_time[20];//到达时间
int service_time[20];//服务时间
int dostart_time[20];//开始执行时间
int finish_time[20];//完成时间
int zhouzhuan_time[20];//周转时间
double daiquan_time[20];//带权周转时间
int ij;
for(i=0;i {
printf(“输入一个进程:进程名—开始时间—服务时间\n“);
scanf(“%d %d %d“&process_name[i]&start_time[i]&service_time[i]);
}
printf(“进程名 到达时间 服务时间 开始执行时间 完成时间 周转时间 带权周转时间\n“);
for(i=0;i for(j=0;j {
if(service_time[j]>service_time[j+1])
{
int abc;
a=service_time[j];
service_time[j]=service_time[j+1];
service_time[j+1]=a;
b=process_name[j];
process_name[j]=process_name[j+1];
process_name[j+1]=b;
c=start_time[j];
start_time[j]=start_time[j+1];
start_time[j+1]=c;
}
}
for(i=0;i {
if(service_time[i]==service_time[i+1])
{
if(start_time[i]>start_time[i+1])
{
int de;
d=process_name[i];
process_name[i]=process_name[i+1];
process_name[i+1]=d;
e=start_time[i];
start_time[i]=start_time[i+1];
start_time[i+1]=e;
}
}
}
dostart_time[0]=start_time[0];
for(i=0;i {
dostart_time[i+1]=dostart_time[i]+service_time[i];
}
for(i=0;i {
finish_time[i]=service_time[i]+dostart_time[i];
zhouzhuan_time[i]=finish_time[i]-dostart_time[i];
daiquan_time[i]=zhouzhuan_time[i]/(1.0*service_time[i]);
printf(“%-8d %-10d %-10d %-10d %-10d %-10d %3.2f\n“process_name[i]start_time[i]service_time[i]dostart_time[i]finish_time[i]zhouzhuan_time[i]daiquan_time[i]);
}
}

void main()
{
int num;
printf(“**********1:FCFS调度算法****

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-10-27 11:42  操作系统作业——调度算法\
     目录           0  2011-10-29 12:06  操作系统作业——调度算法\Debug\
     文件      208964  2011-11-01 17:49  操作系统作业——调度算法\Debug\test.exe
     文件      276580  2011-11-01 17:49  操作系统作业——调度算法\Debug\test.ilk
     文件        9214  2011-11-01 17:49  操作系统作业——调度算法\Debug\test.obj
     文件      213604  2011-10-31 21:23  操作系统作业——调度算法\Debug\test.pch
     文件      467968  2011-11-01 17:49  操作系统作业——调度算法\Debug\test.pdb
     文件       41984  2011-11-01 17:49  操作系统作业——调度算法\Debug\vc60.idb
     文件       45056  2011-11-01 17:49  操作系统作业——调度算法\Debug\vc60.pdb
     文件        3580  2011-11-01 17:49  操作系统作业——调度算法\test.cpp
     文件        3377  2011-10-29 12:06  操作系统作业——调度算法\test.dsp
     文件         516  2011-10-29 18:05  操作系统作业——调度算法\test.dsw
     文件       41984  2011-11-01 17:50  操作系统作业——调度算法\test.ncb
     文件       48640  2011-11-01 17:50  操作系统作业——调度算法\test.opt
     文件        1258  2011-11-01 17:49  操作系统作业——调度算法\test.plg

评论

共有 条评论