Shortest Remaining Time First Program:
#include<stdio.h>
void main()
{
int x,b[10],a[10],n,c1[10],sum=0,w[10],i,t,tt[10],index,
bt[10];
float avgw=0,avgt=0;
printf("Enter no of process\n");
scanf("%d",&n);
printf("Enter Burst Time\n");
for(x=0;x<=n-1;x++)
{
scanf("%d",&b[x]);
}
printf("Enter Arrival Time\n");
for(x=0;x<=n-1;x++)
{
scanf("%d",&a[x]);
}
for(x=0;x<=n-1;x++)
{
sum+=b[x];
c1[x]=0; bt[x]=b[x];
}
s=32765;
for(t=0;t<sum;t++)
{
for(i=0;i<n;i++)
{
if(b[i]<s && b[i]>0 && a[i]<=t)
{
s=b[i];
index=i;
}
}
b[index]=b[index]-1;
c1[index]=c1[index]+1;
s=b[index];
if (b[index]==0)
{
s=32767; b[index]=s;
w[index]=t-(c1[index]-1)-a[index];
}
}
printf("Waiting Time\n");
for(x=0;x<=n-1;x++)
{
printf("%d\n",w[x]);
tt[x]=bt[x]+w[x];
avgw+=w[x];
}
printf("Turn Around Time\n");
for(x=0;x<=n-1;x++)
{
printf("%d\n",tt[x]);
avgt+=tt[x];
}
printf("Avg Waiting Time = %f\n",avgw/n);
printf("Avg Turn Around Time = %f\n",avgt/n);
}
0 Comments
Please don't enter any spam link in comment box.
Emoji