C program for Round Robin CPU Scheduling Algorithm

Share on FacebookTweet about this on TwitterDigg thisPin on PinterestShare on LinkedInShare on StumbleUponShare on TumblrShare on Google+Email this to someone

INPUT :
enter the process name : aaa
enter the processing time : 4
enter the process name : bbb
enter the processing time : 3
enter the process name : ccc
enter the processing time : 2
enter the process name : ddd
enter the processing time : 5
enter the process name : eee
enter the processing time : 1

OUTPUT :

p_name p_time w_time
aaa 4 9
bbb 3 3
ccc 2 6
ddd 5 10
eee 1 11

total waiting time : 39
average waiting time : 7.8000

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<string.h>
void main()
{
char p[10][5];
int et[10],wt[10],timer=3,count,pt[10],rt,i,j,totwt=0,t,n=5,found=0,m;
float avgwt;
clrscr();
for(i=0;i<n;i++)
{
printf("enter the process name : ");
scanf("%s",&p[i]);
printf("enter the processing time : ");
scanf("%d",&pt[i]);
}
m=n;
wt[0]=0;
i=0;
do
{
if(pt[i]>timer)
{
rt=pt[i]-timer;
strcpy(p[n],p[i]);
pt[n]=rt;
et[i]=timer;
n++;
}
else
{
et[i]=pt[i];
}
i++;
wt[i]=wt[i-1]+et[i-1];
}while(i<n);
 
count=0;
for(i=0;i<m;i++)
{
for(j=i+1;j<=n;j++)
{
if(strcmp(p[i],p[j])==0)
{
count++;
found=j;
}
}
	if(found!=0)
	{
 
	wt[i]=wt[found]-(count*timer);
	count=0;
	found=0;
	}
}
for(i=0;i<m;i++)
{
totwt+=wt[i];
}
avgwt=(float)totwt/m;
for(i=0;i<m;i++)
{
printf("\n%s\t%d\t%d",p[i],pt[i],wt[i]);
}
printf("\ntotal waiting time %d\n",totwt);
printf("total avgtime %f",avgwt);
}

INPUT :
enter the process name : aaa
enter the processing time : 4
enter the process name : bbb
enter the processing time : 3
enter the process name : ccc
enter the processing time : 2
enter the process name : ddd
enter the processing time : 5
enter the process name : eee
enter the processing time : 1

OUTPUT :

p_name p_time w_time
aaa 4 9
bbb 3 3
ccc 2 6
ddd 5 10
eee 1 11

total waiting time : 39
average waiting time : 7.8000

Share on FacebookTweet about this on TwitterDigg thisPin on PinterestShare on LinkedInShare on StumbleUponShare on TumblrShare on Google+Email this to someone

50 Responses to “C program for Round Robin CPU Scheduling Algorithm”

  1. hmm bhatti

    tum bhosdika kuchg bhi dal de te ho!!!!!!!!!!!!!!
    tmhari ma ki choot
    tumhari ma ka bhosda
    behen k laude jindagi me tune pehli baar kch dala hai
    aur wo bhi galat
    ma k laude tere paida hone ka mujhe bahut afsos hai
    na jaane kis muth ki paidaish hai tu……….
    fuck you!!!!!!!!

    Reply
  2. saalon thumari maa ka….
    sala 1 code likhne me thumari gaand phat jaati hai..???? jo yahan se copy kar rahe ho??

    Reply
  3. Sonu Kumar

    #include
    #include
    void main()
    {
    clrscr();
    printf(“-***********ROUND ROBIN ALGORITHIM***************-”);
    int bp[10]={0};
    int n,total=0;
    long int wait[10]={0};
    int count=0;
    float avgwait=0;
    int q;
    printf(“\n NO OF PROCESSES= “);
    scanf(“%d”,&n);
    printf(“Quantum “);
    scanf(“%d”,&q);
    for(int k=0;k<n;k++)
    {
    printf("\nSet burst time for Process-%d ",k+1);
    scanf("%d",&bp[k]);
    }
    printf("\n\n ");
    for(k=0;k<n;k++){
    for(int a=0;a<=n-1;a++){
    if(bp[a]!=0){
    for(int i=0;i=q && bp[k]!=0){
    bp[k]=bp[k]-q;
    count=count+4;
    }
    else if(bp[k]=q && bp[a]!=0){
    bp[a]=bp[a]-q;
    count=count+4;
    }
    else if(bp[a]<q && bp[a]!=0){
    int num=bp[a];
    wait[a]=count;
    bp[a]=bp[a]-num;
    count=count+num;
    }
    }
    }
    total=total+wait[a];
    }
    }
    }
    avgwait=total/n;
    printf("\n AVERAGE Waiting Time is %f",avgwait);
    for(int a=0;a<n;a++){
    printf("\n\nWaiting time for Process-%d is %d ",a+1,wait[a]);
    }
    getch();
    }

    Reply
  4. its n’t actual…..time slice should be allotted for each process…then we have to start the all the process…its n’t exact code……..

    Reply
  5. Check Out My Program……
    I have made it look good… ;)

    #include
    #include
    #include
    void main()
    {int a[10],b[3][10],c[11],t[10],z,i,j=1,n,q,m=0,max;
    float d,h;
    clrscr();

    cout< “;
    cin>>n;
    cout<<"\n";
    for(i=0;i<n;i++)
    {t[i]=0;
    c[i]=0;
    a[i]=i+1;
    cout<<"Enter Burst Time For Process – "<<i+1< “;
    cin>>b[0][i];
    b[1][i]=b[0][i];
    b[2][i]=b[0][i];
    }
    cout< “;
    cin>>q;
    for(i=0;ib[1][i+1] )
    {max=b[1][i];}
    else{max=b[1][i+1];}
    }
    m=max;
    cout<<"\nCalculating Waiting Time";
    cout<<".";
    for(i=0;i<n-1;i++)
    {sleep(1);
    cout<<".";}
    sleep(1);
    cout<<"\n";
    cout<<"_________________________________________________________________\n";
    cout<<"| Process No. | Burst Time | Waiting Time |TurnAround Time|\n";
    cout<<"|_______________|_______________|_______________|_______________|\n";
    int x=0;

    while(max!=0){

    for(i=0;i0){
    x=x+q;
    b[0][i]=b[0][i]-q;
    }

    if(b[0][i]==0)
    {t[i]=x;
    b[0][i]=-1000;
    }}max=max-q;}

    for(i=0;i<n;i++)
    {c[i]=t[i]-b[1][i];
    }

    for((i=0,d=0,h=0);i<n;i++)
    {cout<<"|\t"<<a[i]<<"\t|\t"<<b[1][i]<<"\t|\t"<<c[i]<<"\t|\t"<<t[i]<<"\t|\n";
    d=(d+c[i]);
    h=(h+t[i]);
    }
    cout<<"|_______________|_______________|_______________|_______________|\n";
    cout<<"\nAverage Waiting Time = "<<d/n<<"\n";
    cout<<"\nAverage Turn Around Time = "<<h/n<<"\n";
    getch();
    }

    Reply
  6. idk y the header files arnt appearing on this site…
    anyway use these header files-

    dos.h
    iostream.h
    conio.h

    Note that this is a C++ program…

    Reply
  7. بهناز

    کد الگوریتم بهترین جا یا بست فیت رو در زبان c++می خوام خواهش می کنم کمکم کنید خیلی لازمش دارم اگه میشه توضیح هم بدید

    Reply
  8. In case your frames feel like they’re grabbing your nose and departing reddish markings – they are too-tight.
    The same couple of lens could be sold by unique retailers at different rates.

    Reply

Leave a Reply