RoundRobin(RR)
C Program For RoundRobin(RR)
#include <stdio.h>
#include <stdlib.h>
struct Process
{
int id;
int btime;
int atime;
int isdone;
};
int cmp(const void *a, const void *b)
{
struct Process* a1 = (struct Process*)a;
struct Process* b1 = (struct Process*)b;
return (a1->atime - b1->atime);
}
int main()
{
struct Process* p;
int i, n, g[20], j;
printf("Enter Number Of Process: ");
scanf("%d", &n);
p = (struct Process*)malloc(sizeof(struct Process) * n);
for(i = 0; i < n; i++) {
printf("Enter The Brust Time Of Process %d: ", i);
scanf("%d", &p[i].btime);
printf("Enter Arrival Time Of Process %d: ", i);
scanf("%d", &p[i].atime);
p[i].id = i;
p[i].isdone = 0;
}
qsort(p, n, sizeof(struct Process), cmp);
printf("Process\tATime\tBTime\n");
for (i = 0; i < n; ++i) {
printf("P%d\t%d\t%d\n",p[i].id,p[i].atime,p[i].btime);
}
p[n].atime = 0;
for(i = 0; i < n; i++) {
for (k = 0)
printf("|P%d|",p[i].id);
for (j = p[i].atime; j < p[i+1].atime; j++) {
printf("-");
p[i].btime--;
}
}
return 0;
}
Tags:
OS Related C progeams
0 comments