Fcfs Scheduling Algorithm
Fcfs Scheduling Algorithm
#include<stdio.h>
#include<conio.h>
#include<string.h>
int n,at[20],wt[20],bt[20],tt,ttt,twt;
float awt,att;
char pname[20][20],c[20][20];
int getdata();
int calculate();
int gnattchart();
int fcfs();
int getdata()
{
int i;
printf("\t\t FCFS SCHEDULING ALGORITHM\n\n");
printf("Enter the no of process:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("Enter the process name:");
scanf("%s",&pname[i]);
printf("Enter burst time for process %s:",pname[i]);
scanf("%d",&bt[i]);
printf("Enter arrival time for process %s:",pname[i]);
scanf("%d",&at[i]);
printf("\n");
}
}
int gnattchart()
{
int i;
printf("\n\t\t\t Gnatt chart");
printf("\n------------------------------------------------------\n");
for(i=1;i<=n;i++)
printf("| \t %s \t",pname[i]);
printf("|\t\n");
printf("\n------------------------------------------------------\n");
for(i=1;i<=n;i++)
printf("%d\t\t",wt[i]);
printf("%d",wt[n]+bt[n]);
}
int calculate()
{
int i;
wt[1]=0;
for(i=2;i<=n;i++)
{
wt[i]=wt[i-1]+bt[i-1];
}
for(i=1;i<=n;i++)
{
twt=twt+(wt[i]-at[i]);
ttt=ttt+((wt[i]+bt[i])-at[i]);
}
awt=(float)twt/n;
att=(float)ttt/n;
printf("\n process\t burst time \tarrival time\n");
for(i=1;i<=n;i++)
{
printf("%s\t\t%d\t\t%d\t",pname[i],bt[i],at[i]);
printf("\n");
}
{
temp=bt[i];
temp1=at[i];
bt[i]=bt[j];
at[i]=at[j];
bt[j]=temp;
at[j]=temp1;
strcpy(c[i],pname[i]);
strcpy(pname[i],pname[j]);
strcpy(pname[j],c[i]);
}}
}
calculate();
gnattchart();
}
int main()
{
getdata();
fcfs();
getch();
}