Simulate the following CPU scheduling algorithms Priority
#include<stdio.h>
#include<conio.h>#include<math.h>
void main()
{
int n,bt[10],wt[10],pt[10],tt[10],swt=0,stt=0,t,t1,i,j;
float awt,att;
clrscr();
printf("Enter number of process : ");
scanf("%d",&n);
printf("Enter %d process times : ",n);
for(i=0;i<n;i++)
scanf("%d",&bt[i]);
printf("Enter %d process priorites : ",n);
for(i=0;i<n;i++)
scanf("%d",&pt[i]);
printf("Cpu time and priorities before sorting\n");
for(i=0;i<n;i++)
printf("%d\t%d\n",bt[i],pt[i]);
printf("Cpu times and priorities after sorting\n");
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(pt[i]>pt[j])
{
t=pt[i];
pt[i]=pt[j];
pt[j]=t;
t1=bt[i];
bt[i]=bt[j];
bt[j]=t1;
}
}
}
for(i=0;i<n;i++)
printf("%d\t%d\n",bt[i],pt[i]);
wt[0]=0;
tt[0]=stt=bt[0];
for(i=1;i<n;i++)
{
wt[i]=bt[i-1]+wt[i-1];
tt[i]=wt[i]+bt[i];
swt+=wt[i];
stt+=tt[i];
}
awt=(float)swt/n;
att=(float)stt/n;
printf("Cpu time\tPriority\tWaiting time\tTurn around time\n");
for(i=0;i<n;i++)
printf("%d\t\t%d\t\t%d\t\t%d\n",bt[i],pt[i],wt[i],tt[i]);
printf("Average waiting time : %f\n",awt);
printf("Average turn around time : %f\n",att);
getch();
}
Comments
Post a Comment