Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
printf("\n\n");
printf("\n***Gantt Chart***");
printf("\n~~~~~~~~~~~~~~~~~\n");
for(i=0;i<n;i++)
{
printf(" |P%d",p[i]);
}
printf("|");
printf("\n");
for(i=0;i<n;i++)
{
printf(" %d",w[i]);
avg=avg+w[i];
}
printf(" %d",wt);
// Average turn arround time Starts Here
printf("\n\nCalculating Average Turn Arround Time");
printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
for(i=0;i<n;i++)
{
sum+=w[i]+bt[i];
}
for(i=0;i<n;i++)
{
printf("\n\tP%d = %d",p[i],w[i]+bt[i]);
}
av=sum/n;
printf("\n Average Turn Arround Time:%d ",av);
Output:
SOURCE CODE:
//SHORTEST JOB FIRST
#include<stdio.h>
#include<conio.h>
main()
{
int n,bt[10],p[10],w[10],wt,avg,temp,i,j,av;
long sum=0;
wt=0;avg=0;temp=0;
printf("\n\t\t Welcome to Shortest Job First Scheduling");
printf("\n\t\t ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
printf("\nEnter the Number of process: ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
p[i]=i+1;
printf("\n Enter the Burst time of P%d : ",i+1);
scanf("%d",&bt[i]);
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(bt[i]<bt[j])
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
temp=bt[i];
bt[i]=bt[j];
bt[j]=temp;
}
}
}
printf("\n-------------------------------------------");
printf("\n|\tProcess No. |\t Burst Time |\t Waiting Time |");
printf("\n-------------------------------------------";
for(i=0;i<n;i++)
{
w[i]=wt;
printf("\np%d \t\t%d \t\t%d \t\t%d ", p[i],bt[i],wt);
printf("\n--------------------------------------------");
wt=wt+bt[i];
}
printf("\n\n");
printf("\n***Gantt Chart***");
printf("\n~~~~~~~~~~~~~~~~~\n");
for(i=0;i<n;i++)
{
printf(" |P%d",p[i]);
}
printf("|");
printf("\n");
for(i=0;i<n;i++)
{
printf(" %d",w[i]);
avg=avg+w[i];
}
printf(" %d",wt);
// Average turnaround time Starts Here
printf("\n\calculating Average Turn Around Time");
printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
for(i=0;i<n;i++)
{
sum+=w[i]+bt[i];
}
for(i=0;i<n;i++)
{
printf("\n\tP%d = %d",p[i],w[i]+bt[i]);
}
av=sum/n;
printf("\n Average Turn Arround Time:%d ",av); //End ATAT
//Average Waiting time starts here
printf("\n\nCalculating Average Waiting Time");
printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
for(i=0;i<n;i++)
{
printf("\n\tP%d = %d",p[i],w[i]);
}
avg/=n;
printf("\n Average waiting time:%d ",avg);
//End Average Waiting time
getch();
}
OUTPUT:
SOURCE CODE:
// PRIORITY SCHEDULING
#include<stdio.h>
#include<conio.h>
main()
{
int n,bt[10],p[10],w[10],wt,avg,temp,i,j,av;
long sum=0;
wt=0;avg=0;temp=0;
printf("\n\t\t Welcome to Priority Scheduling");
printf("\n\t\t ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
printf("\nEnter the Number of process: ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
p[i]=i+1;
printf("\n Enter the Burst time of P%d : ",i+1);
scanf("%d",&bt[i]);
printf("\n Enter the priority of P%d : ",i+1);
scanf(%d,&pr[i]);
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(pr[i]<pr[j])
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
temp=bt[i];
bt[i]=bt[j];
bt[j]=temp;
temp=pr[i];
pr[i]=pr[j];
pr[j]=temp;
}
}
}
printf("\n-------------------------------------------");
printf("\n|\tProcess No. |\t Burst Time|\tPriority |\t Waiting Time |");
printf("\n-------------------------------------------";
for(i=0;i<n;i++)
{
w[i]=wt;
printf("\np%d \t\t%d \t\t%d \t\t%d \t\t%d ", p[i],bt[i],pr[i],wt);
printf("\n--------------------------------------------");
wt=wt+bt[i];
}
printf("\n\n");
printf("\n***Gantt Chart***");
printf("\n~~~~~~~~~~~~~~~~~\n");
for(i=0;i<n;i++)
{
printf(" |P%d",p[i]);
}
printf("|");
printf("\n");
for(i=0;i<n;i++)
{
printf(" %d",w[i]);
avg=avg+w[i];
}
printf(" %d",wt);
// Average turnaround time Starts Here
printf("\n\calculating Average Turn Around Time");
printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
for(i=0;i<n;i++)
{
sum+=w[i]+bt[i];
}
for(i=0;i<n;i++)
{
printf("\n\tP%d = %d",p[i],w[i]+bt[i]);
}
av=sum/n;
printf("\n Average Turn Arround Time:%d ",av); //End ATAT
//Average Waiting time starts here
printf("\n\nCalculating Average Waiting Time");
printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
for(i=0;i<n;i++)
{
printf("\n\tP%d = %d",p[i],w[i]);
}
avg/=n;
printf("\n Average waiting time:%d ",avg);
//End Average Waiting time
getch();
}
OUTPUT:
SOURCE CODE:
// ROUND ROBIN SCHEDULING
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
int main()
{
int n,br[10],i,tq,j,l,k,wt[20],p[20],tb,sum,av;
sum=0;
int ow,cwt[20],avg,tbr[20];
printf("\n\t\t WELCOME TO ROUND ROBIN SCHEDULING");
printf("\n\t\t ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
printf("\n Enter the no.of Process: ");
scanf(%d,&n);
for(i=0;i<n;i++)
{
printf("\n Enter the Burst Time of p%d : ", i+1);
scanf(%d,&br[i]);
}
printf("\n Enter the Time Quantum: ");
scanf(%d,&tq);
j=0;
k=0;
wt[j]=0;
for(i=0;i<n;i++)
j++;
tb=0;
{
tb+=br[i];
tbr[i]=br[i];
}
while(tb!=0)
{
for(i=0;i<n;i++)
{
if(br[i]!=0)
{
if(br[i]>=tq)
{
tb-=tq;
br[i]-=tq;
p[k]=i+1;
wt[j]=wt[j-1]+tq;
k++; j++;
}
else if(br[i]<tq)
{
tb-=br[i];
p[k]=i+1;
wt[j]=wt[j-1]+br[i];
br[i]=0;
k++;
j++;
}
}
}
}
printf("\n\n Gantt Chart");
printf("\n ~~~~~~~~~~~\n";
for(i=0;i<k;i++)
printf("|P%d|",p[i]);
printf("\n");
for(i=0;i<j;i++)
printf(" %d",wt[i]);
printf("\n---------------------------------------------");
printf("\n\n| PROCESS
printf("\n---------------------------------------------";
for(i=0;i<n;i++)
{
ow=0;
cwt[i]=0;
for(l=0;l<j;l++)
{
if(i+1==p[l])
{
cwt[i]+=ow;
ow=0;
}
else
ow=ow+(wt[l+1]-wt[l]);
}
printf("\np%d \t\t%d \t\t%d \t\t%d ", p[i],tbr[i],cwt[i]);
printf("\n---------------------------------------------";
}
avg=0;
for(i=0;i<n;i++)
avg+=cwt[i];
avg/=n;
printf("\nAverage Waiting Time: %d",avg);
for(i=0;i<n;i++)
{
printf("\n\tP%d = %d",p[i],cwt[i]+tbr[i]);
}
av=sum/n;
printf("\n Average Turn Arround Time: %d",av);
getch();
}
OUTPUT