Professional Documents
Culture Documents
int main()
{
int no_of_process;
int burst_time[15];
int waiting_time[15],i,j;
int turn_around_time[15];
float total_waiting_time=0,total_turn_around_time=0;
waiting_time[0]=0;
for(i=1;i<no_of_process;i++)
{
waiting_time[i]=0;
for(j=0;j<i;j++)
{
waiting_time[i]+=burst_time[j];
}
}
for(i=0;i<no_of_process;i++)
{
turn_around_time[i]=burst_time[i]+waiting_time[i];
total_waiting_time+=waiting_time[i];
total_turn_around_time+=turn_around_time[i];
}
for(i=0;i<no_of_process;i++)
{
cout<<i+1<<"\t\t\t"<<burst_time[i]<<"\t\t\t"<<waiting_time[i]<<"\t\t\t"<<turn_around_time[i]<
<endl;
}
FCPS OUTPUT:
SJF:
#include<iostream>
int main()
{
int bt[20],p[20],wt[20],tat[20],pr[20];
int i,j,n,total=0;
int pos,temp,avg_wt,avg_tat;
cout<<"Enter Total Number of Process:";
cin>>n;
for(i=0;i<n;i++)
{
pos=i;
for(j=i+1;j<n;j++)
{
if(pr[j]<pr[pos])
pos=j;
}
temp=pr[i];
pr[i]=pr[pos];
pr[pos]=temp;
temp=bt[i];
bt[i]=bt[pos];
bt[pos]=temp;
temp=p[i];
p[i]=p[pos];
p[pos]=temp;
}
wt[0]=0;
for(i=1;i<n;i++)
{
wt[i]=0;
for(j=0;j<i;j++)
wt[i]+=bt[j];
total+=wt[i];
}
avg_wt=total/n;
total=0;
avg_tat=total/n;
cout<<"\n\nAverage Waiting Time="<<avg_wt;
cout<<"\nAverage Turnaround Time="<<avg_tat;
return 0;
}
OUTPUT
ROUND ROBIN:
#include <iostream>
int main()
{
cout<<"Enter the number of processes: ";
int nProc=0;
cin>>nProc;
int time=0;
cout<<"Enter time quantum: ";
cin>>time;
while(1)
{
bool resume = 0;
for(int i =0;i<nProc;++i)
{
if(data[i][4]==0)
{
resume = 1;
break;
}
}
if(resume)
{
for(int i =0;i<nProc;++i)
{
if(data[i][1]<=time)
{
for(int j=0;j<nProc;++j)
{
if(i==j)
continue;
else if(data[j][4]==0)
data[j][2]+=data[i][1];
}
data[i][1]=0;
data[i][4]=1;
}
else if(data[i][1]>time)
{
data[i][1]-=time;
for(int j =0;j<nProc;++j)
{
if(i==j)
continue;
else if(data[j][4]==0)
data[j][2]+=time;
}
}
}
}
else if(!resume)
break;
}
for(int i=0;i<nProc;++i)
{
data[i][3] = data[i][0]+data[i][2];
avgWt+=data[i][2];
avgTat+=data[i][3];
}
avgWt/=nProc;
avgTat/=nProc;
for(int i = 0;i<nProc;++i)
{
cout<<"\nProcess ID "<<i<<endl;
cout<<"Burst time : "<<data[i][0]<<endl;
cout<<"Waiting time: "<<data[i][2]<<endl;
cout<<"TAT: "<<data[i][3]<<endl;
cout<<endl;
}