Pages

Tuesday 5 February 2019

Program on CPU SCHEDULING - Shortest Job First ( NON PREEMPTIVE)

/* Program to Implement SHORTEST JOB FIRST  CPU Scheduling Algorithm */

#include<stdio.h>
void main()
{
   int p[10],bt[10],st[10],ct[10],tat[10],wt[10],i,j,temp,n;
   float sumtat=0,sumwt=0,avwt,avtat;
   printf("\n enter the no of processes");
   scanf("%d",&n);
   for(i=0;i<n;i++)
   {
     printf("\n enter the process no and burst time ");
     scanf("%d %d",&p[i],&bt[i]);
   }

    for(i=0;i<n;i++)
    {
      for(j=0;j<n-1;j++)
       {
        if(bt[j]>bt[j+1])
           {
        temp=bt[j];
        bt[j]=bt[j+1];
        bt[j+1]=temp;
           }
       }
    }
   st[0]=0;
   wt[0]=0;
   ct[0]=st[0]+bt[0];
   for(i=0;i<n;i++)
   {
     st[i+1]=st[i] + bt[i];
     ct[i+1]=st[i+1]+ bt[i+1];
   }
   for(i=0;i<n;i++)
   {
     tat[i]=ct[i]-0;
     sumtat=sumtat + tat[i];
   }
   for(i=0;i<n;i++)
   {
     wt[i]=tat[i]-bt[i];
     sumwt=sumwt + wt[i];
   }
   printf("\n\t Pno\tbt\tst\tct\ttat\twt\n");
   for(i=0;i<n;i++)
   {
   printf("\n\t%d\t%d\t%d\t%d\t%d\t%d",p[i],bt[i],st[i],ct[i],tat[i],wt[i]);
   }
   avtat=sumtat/n;
   avwt=sumwt/n;
   printf("\n avearge waiting time is %f\n",avwt);
   printf("\n average turnaroundtime is %f\n",avtat);
}


output

No comments:

Post a Comment