Non Preemptive sortest job first CPU scheduling algorithm program using C
#include<stdio.h>
struct pr
{
char name[10];
int arr_time;
int burst_time;
int com_time;
int tat_time;
int wt_time;
int flag;
};
int main()
{
struct pr p[10],temp;
int n,i,t=0,j,tat=0,wt=0,compt=0,temp1;
printf("\n how many process \t");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("\n enter process_name arrival_time and burst_time for process ");
scanf("%s",&p[i].name);
scanf("%d",&p[i].arr_time);
scanf("%d",&p[i].burst_time);
}
for(i=0;i<n;i++)
{
printf("\n process name %s: arrival=%d burst=%d",p[i].name,p[i].arr_time,p[i].burst_time);
}
printf("\n");
for(i=0;i<n;i++)
{
temp1=p[i].arr_time;
for(j=i+1;j<n;j++)
{
if(p[j].arr_time<=compt&&p[j].burst_time<p[i].burst_time)
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}
compt=compt+p[i].burst_time;
}
for(i=0;i<n;i++)
{
printf("\n process name %s: arrival=%d burst=%d",p[i].name,p[i].arr_time,p[i].burst_time);
}
for(i=0;i<n;i++)
{
t=t+p[i].burst_time;
p[i].com_time=t;
p[i].tat_time=p[i].com_time-p[i].arr_time;
p[i].wt_time=p[i].tat_time-p[i].burst_time;
tat=tat+p[i].tat_time;
wt=wt+p[i].wt_time;
}
printf("\n result");
for(i=0;i<n;i++)
{
printf("\n process name %s: arrival=%d burst=%d tat=%d wt=%d ",p[i].name,p[i].arr_time,p[i].burst_time,p[i].tat_time,p[i].wt_time);
}
printf("\n average turn around=%f average waiting time=%f",(float)tat/n,(float)wt/n);
}
#include<stdio.h>
struct pr
{
char name[10];
int arr_time;
int burst_time;
int com_time;
int tat_time;
int wt_time;
int flag;
};
int main()
{
struct pr p[10],temp;
int n,i,t=0,j,tat=0,wt=0,compt=0,temp1;
printf("\n how many process \t");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("\n enter process_name arrival_time and burst_time for process ");
scanf("%s",&p[i].name);
scanf("%d",&p[i].arr_time);
scanf("%d",&p[i].burst_time);
}
for(i=0;i<n;i++)
{
printf("\n process name %s: arrival=%d burst=%d",p[i].name,p[i].arr_time,p[i].burst_time);
}
printf("\n");
for(i=0;i<n;i++)
{
temp1=p[i].arr_time;
for(j=i+1;j<n;j++)
{
if(p[j].arr_time<=compt&&p[j].burst_time<p[i].burst_time)
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}
compt=compt+p[i].burst_time;
}
for(i=0;i<n;i++)
{
printf("\n process name %s: arrival=%d burst=%d",p[i].name,p[i].arr_time,p[i].burst_time);
}
for(i=0;i<n;i++)
{
t=t+p[i].burst_time;
p[i].com_time=t;
p[i].tat_time=p[i].com_time-p[i].arr_time;
p[i].wt_time=p[i].tat_time-p[i].burst_time;
tat=tat+p[i].tat_time;
wt=wt+p[i].wt_time;
}
printf("\n result");
for(i=0;i<n;i++)
{
printf("\n process name %s: arrival=%d burst=%d tat=%d wt=%d ",p[i].name,p[i].arr_time,p[i].burst_time,p[i].tat_time,p[i].wt_time);
}
printf("\n average turn around=%f average waiting time=%f",(float)tat/n,(float)wt/n);
}
Comments
Post a Comment