Round Robin Scheduling Lab2 (C)
Round Robin Scheduling Lab2 (C)
#include <stdio.h>
int main() {
int count,j,n,time,remain,flag=0,time_quantum;
int wait_time=0,turnaround_time=0,at[10],bt[10],rt[10];
scanf("%d",&n);
remain=n;
for(count=0;count<n;count++)
printf("\n Enter process Arrival time and Burst time for process number %d:\n",count+1);
scanf("%d",&at[count]);
scanf("%d",&bt[count]);
rt[count]=bt[count];
scanf("%d",&time_quantum);
for(time=0,count=0;remain!=0;)
if(rt[count]<=time_quantum&& rt[count]>0)
time+=rt[count];
rt[count]=0;
flag=1;
}
else if(rt[count]>0)
rt[count]-=time_quantum;
time+=time_quantum;
remain--;
printf("p[%d]\t\t\t%d\t\t\t%d\n",count+1,time-at[count],time-at[count]-bt[count]);
wait_time+=time-at[count]-bt[count];
turnaround_time+=time-at[count];
flag=0;
if(count==n-1)
count=0;
else if(at[count+1]<=time)
count++;
else
count=0;
return 0;
}
Output:
Enter process Arrival time and Burst time for process number 1:
4 5
Enter process Arrival time and Burst time for process number 2:
2 8
Enter process Arrival time and Burst time for process number 3:
6 4
Enter process Arrival time and Burst time for process number 4:
1 2
Enter process Arrival time and Burst time for process number 5:
0 7
p[4] 11 9
p[1] 11 6
p[3] 13 9
p[2] 21 13
p[5] 26 19