Advertisement
varungurnaney

OS: PREEMPTIVE PRIORITY SCHEDULING

Aug 11th, 2014
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.97 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<conio.h>
  3.  
  4. int main()
  5. {
  6.   int i,j,n,t,wt=0,tat=0,s;
  7.   int a[10],b[10],pr[10],rem[10],r; //rem = ring Time
  8.     clrscr();
  9.   printf("Enter no of Processes : ");
  10.   scanf("%d",&n);
  11.   r=n;
  12.   for(i=0;i<n;i++)
  13.   {
  14.     printf("\nProcess %d\n",i+1);
  15.  
  16.    
  17.  
  18.     printf("Arrival:");
  19.     scanf("%d",&a[i]);
  20.  
  21.     printf("Burst:");
  22.     scanf("%d",&b[i]);
  23.  
  24.  
  25.     printf("Priority:");
  26.     scanf("%d",&pr[i]);
  27.  
  28.         rem[i]=b[i];
  29.   }
  30.  
  31.  
  32.   pr[9]=11;
  33.   printf("\nProcess\t\t TAT\t\t WT \n");
  34.   printf("----------------------------------------------\n") ;
  35.   for(t=0;r!=0;t++)
  36.   {
  37.     s=9;
  38.     for(i=0;i<n;i++)
  39.     {
  40.       if(a[i]<=t && pr[i]<pr[s] && rem[i]>0)
  41.       {
  42.     s=i;
  43.       }
  44.     }
  45.     rem[s]--;
  46.     if(rem[s]==0)
  47.     {
  48.       r--;
  49.       printf("P[%d]\t \t%d\t \t%d\n",s+1,t+1-a[s],t+1-a[s]-b[s]);
  50.       wt+=t+1-a[s];
  51.       tat+=t+1-a[s]-b[s];
  52.     }
  53.   }
  54.   printf("\nAvg WT = %f\n",wt*1.0/n);
  55.   printf("Avg TAT = %f",tat*1.0/n);
  56.   getch();
  57.   return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement