Академический Документы
Профессиональный Документы
Культура Документы
AffiliatedtoMahamayaTechnicalUniversity,Noida
ApprovedbyAICTE
OperatingSystemLab(ECS551)
Index
SERIALNUMBER
NAMEOFTHEEXPERIMENT
PROGRAMTOIMPLEMENTTHECONCEPTSOFFCFS
PROGRAMTOINPLEMENTTHECONCEPTSOFSJF
PROGRAMTOIMPLEMENTTHECONCEPTSOFROUNDROBIN
PROGRAMTOIMPLEMENTTHECONCEPTSOFPRIORITYSCHEDULING
PROGRAMTOIMPLEMENTTHECONCEPTSOFFIRSTFIT
PROGRAMTOIMPLEMENTTHECONCEPTSOFBESTFIT
PROGRAMTOIMPLEMENTTHECONCEPTSOFNEXTFIT
1/*PROGRAMTOIMPLEMENTTHECONCEPTSOFFCFS*/
#include<stdio.h>
#include<conio.h>
voidmain()
{
intbt[3],wt[3],at[3],ft[3],tat[3];
inti,n,sum=0;
floatawt;
charp[3][9];
clrscr();
printf("\nEntertheprocessandbursttime:");
for(i=0;i<3;i++)
scanf("%s%d",p[i],&bt[i]);
printf("\nEnterthearrivaltime:");
for(i=0;i<3;i++)
scanf("%d",&at[i]);
wt[0]=0;
for(i=1;i<3;i++)
wt[i]=wt[i1]+bt[i1];
ft[0]=bt[0];
for(i=1;i<3;i++)
ft[i]=ft[i1]+bt[i];
for(i=0;i<3;i++)
tat[i]=ft[i]at[i];
for(i=0;i<3;i++)
sum=sum+wt[i];
awt=sum/3.0;
printf("\nFIRSTCOME,FIRSTSERVE\N");
printf("\nProcessBursttimeArrivaltimeWaitingtime
FinishtimeTurnaroundtime\n");
for(i=0;i<3;i++)
printf("\n\n%d%s\t%d\t%d\t\t%d\t%d\t\t%d",
i+1,pi[],bt[i],at[i],wt[i],ft[i],tat[i]);
printf("\n\nAveragewaitingtime:%f",awt);
/*OUTPUTFORFCFS*/
INPUT:
Entertheprocessandbursttime:
process110
process220
process330
Enterthearrivaltime:
1
2
3
OUTPUT:
FIRSTCOME,FIRSTSERVE
ProcessBursttimeArrivaltimeWaitingtimeFinishtimeTurnaroundtime
process11010109
process2202103028
process2303306057
2/*PROGRAMTOINPLEMENTTHECONCEPTSOFSJF*/
#include<stdio.h>
#include<conio.h>
voidmain()
{
intbt[3],at[3];
intwt[3],ft[3],tat[3];
floatawt;
intn,i,sum=0,j,x,z;
charp[3][9],y[9];
clrscr();
printf("\nEntertheprocessandbursttime:");
for(i=0;i<3;i++)
scanf("%s%d",p[i],&bt[i]);
printf("\nEnterthearrivaltime:");
for(i=0;i<3;i++)
scanf("%d",&at[i]);
printf("\nTheactualorder:\n");
printf("\nProcess\tBursttime");
for(i=0;i<3;i++)
printf("\n%s\t%d",p[i],bt[i]);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
if(bt[i]>bt[j])
{
z=bt[j];
bt[j]=bt[i];
bt[i]=z;
strcpy(y,p[j]);
strcpy(p[j],p[i]);
strcpy(p[i],y);
x=at[j];
at[j]=at[i];
at[i]=x;
}
}
wt[0]=0;
for(i=1;i<3;i++)
wt[i]=wt[i1]+bt[i1];
ft[0]=bt[0];
for(i=1;i<3;i++)
ft[i]=ft[i1]+bt[i];
for(i=0;i<3;i++)
tat[i]=ft[i]at[i];
for(i=0;i<3;i++)
sum=sum+wt[i];
awt=sum/3.0;
printf("\n\nTheordertheyareexecuted:");
printf("\nProcessBursttimeArrivaltime
WaitingtimeFinishtimeTuanaroundtime\n");
for(i=0;i<3;i++)
printf("\n\n%d%s\t%d\t%d\t\t%d\t%d\t\t%d",
i+1,p[i],bt[i],at[i],wt[i],ft[i],tat[i]);
printf("\n\nAveragewaitingtime:%f",awt);
}
/*OUTPUTFORSJF*/
INPUT:
Entertheprocessandbursttime:
p110
p220
p330
Enterthearrivaltime:
1
2
3
OUTPUT:
Theactualorder:
ProcessBursttime
p110
p220
p330
Theordertheyareaexecuted:
ProcessBursttimeArrivaltimeWaitingtimeFinishtimeTurnaroundtime
p130303027
p2202305048
p3101506059
Averagewaitingtime:26.666666
3/*PROGRAMTOIMPLEMENTTHECONCEPTSOFROUNDROBIN*/
#include<stdio.h>
#include<conio.h>
voidmain()
{
intbt[3],at[3],tq;
intft[3],tat[3];
intec={0,0,0},i,bt1[3];
charp[3][9];
clrscr();
printf("\nEntertheprocessandbursttime:");
for(i=0;i<3;i++)
{
scanf("%s%d",p[i],&bt[i]);
bt1[i]=bt[i];
}
printf("\nEnterthearrivaltime:");
for(i=0;i<3;i++)
scanf("%d",&at[i]);
printf("\nEnterthetimequantum:");
scanf("%d",&tq);
b=0;
while(ec[0]!=1||ec[1]!=1||ec[2]!=1)
for(i=0;i<3;i++)
if(ec[i]==0)
{
if(bt[i]<=tq)
{
ft[i]=b+bt[i];
b=ft[i];
ec[i]=1;
}
else
{
b=b+tq;
bt[i]=bt[i]tq;
}
}
for(i=0;i<3;i++)
tat[i]=ft[i]at[i];
printf("\nROUNDROBINSCHEDULING\n");
printf("\nProcessBursttimeArrivaltime
FinishtimeTurnaroundtime");
for(i=0;i<3;i++)
printf("\n%d%s\t\t%d\t\t%d\t\t%d\t\t%d",
i+1,p[i],bt[i],at[i],ft[i],tat[i]);
}
/*OUTPUTFORROUNDROBIN*/
INPUT:
Entertheprocessandbursttime:
p124
p23
p34
Enterthearrivaltime:
1
2
3
Enterthequantum:
5
OUTPUT:
ROUNDROBINSCHEDULING
ProcessBursttimeArrivaltimeFinishtimeTurnaroundtime
1p1413130
2p23286
3p343129
4/*PROGRAMTOIMPLEMENTTHECONCEPTSOFPRIORITYSCHEDULING*/
#include<stdio.h>
#include<conio.h>
voidmain()
{
intbt[3],at[3],pr[3];
intwt[3],ft[3],tat[3];
intn,i,sum=0,j,x,z,t;
floatawt;
charp[3][9],y[9];
clrscr();
printf("\nEntertheprocess,bursttimeandpriority:");
for(i=0;i<3;i++)
scanf("%s%d%d",p[i],&bt[i],&pr[i]);
printf("\nEnterthearrivaltime:");
for(i=0;i<3;i++)
scanf("%d",&at[i]);
printf("\nTheactualorder:");
printf("\nProcessBursttimePriority\n");
for(i=0;i<3;i++)
printf("\n%s%d%d",p[i],bt[i],pr[i]);
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
{
if(pr[i]>pr[j])
{
x=pr[j];
pr[j]=pr[i];
pr[i]=x;
strcpy(y,p[j]);
strcpy(p[j],p[i]);
strcpy(p[i],y);
z=bt[j];
bt[j]=bt[i];
bt[i]=z;
t=at[j];
at[j]=at[i];
at[i]=t;
}
}
wt[0]=0;
for(i=1;i<3;i++)
wt[i]=wt[i1]+bt[i1];
ft[0]=bt[0];
for(i=1;i<3;i++)
ft[i]=ft[i1]+bt[i];
for(i=0;i<3;i++)
tat[i]=ft[i]at[i];
for(i=0;i<3;i++)
sum=sum+wt[i];
awt=sum/3.0;
printf("\nPRIORITYSCHEDULING:\n");
printf("\nTheordertheyareexecuted:\n");
printf("\nProcessPriorityBursttimeArrivaltime
WaitingtimeFinishtimeTurnaroundtime");
for(i=0;i<3;i++)
printf("\n\n%d%s\t%d\t%d\t\t%d\t\t%d\t\t%d\t\t%d",
i+1,p[i],pr[i],bt[i],at[i],wt[i],ft[i],tat[i]);
printf("\n\nAveragewaitingtime:%f",awt);
/*OUTPUTFORPRIORITYSCHEDULING*/
INPUT:
Enterprocess,bursttimeandpriority:
p1108
p2203
p3305
Enterthearrivaltime:
1
2
3
OUTPUT:
Theactualorder:
ProcessBursttimePriority
p1108
p2203
p3305
PRIORITYSCHEDULING
Theordertheyareexecuted:
ProcessPriorityBursttimeArrivaltimeWaitingtimeFinishtimeTurnaroundtime
1p1320202018
2p25303205047
3p38101506059
Averagewaitingtime:23.333333
5/*PROGRAMTOIMPLEMENTTHECONCEPTSOFFIRSTFIT*/
#include<stdio.h>
#include<conio.h>
voidmain()
{
charp[4];
inti,partitionsize[4],x=0,c=0;
intprocess_size;
printf("\nEnterthepartitionandpartitionsize:");
for(i=0;i<4;i++)
scanf("%s%d",p[i],&partitionsize[i]);
printf("Enterprocess_size:");
scanf("%d",&process_size);
for(i=0;i<4;i++)
if(process_size<=partitonsize[i])
{
printf("\nStoredinpartition:%d",i+1);
printf("\nPartitionsize:%d",partitionsize[i]);
x=partitionsize[i]process_size;
printf("\nExternalfragmentation:%d",x);
c++;
break;
}
/*OUTPUTFORFIRSTFIT*/
INPUT:
Enterpartitionandpartitionsize:
p116
p222
p318
p410
Enterprocess_size:
20
OUTPUT:
Storedinpartition:2
Partitionsize:22
Externalfragmentation:2
6/*PROGRAMTOIMPLEMENTTHECONCEPTSOFBESTFIT*/
#include<stdio.h>
#include<conio.h>
voidmain()
{
intprs,n,ps[10],i,l,j=10,k,min,d[10];
clrscr();
printf("\nEnterthenumberofpartitions:");
scanf("%d",&n);
printf("\nEnterthesizeofeachpartition:");
for(i=0;i<n;i++)
scanf("%d",&ps[i]);
printf("\nEntertheprocesssize:");
scanf("%d",&prs);
for(i=0;i<n;i++)
d[i]=ps[i]prs;
printf("\nDifference:");
for(i=0;i<n;i++)
printf("\t%d",d[i]);
for(i=0;i<n;i++)
if(d[i]>=0)
{
min=d[i];
l=i;
break;
}
for(i=l;i<n;i++)
{
if(d[i]<=min)
{
if(d[i]>=0)
{
min=d[i];
k=i;
}
}
}
printf("\nmin:%d",min);
if(min>=0)
{
printf("\nTheindextowhichprocessisallocated:%d",k);
printf("\nThesizeofthepartitiontowhichtheprocess
isallocated:%d",ps[k]);
printf("\nExternalfragmentation:%d",ps[k]prs);
j=1;
if(j==0)
printf("\nProcesssizeisgreaterthaneachofthepartition");
}
/*OUTPUTFORBESTFIT*/
INPUT:
Enterthenumberifpartitions:4
Enterthesizeofeachpartition:
16
18
12
11
Entertheprocesssize:10
OUTPUT:
Difference:6821
min:1
Theindextowhichprocessisallocated:3
Thesizeofthepartitiontowhichtheprocessisallocated:11
Externalfragmentation:1
7/*PROGRAMTOIMPLEMENTTHECONCEPTSOFNEXTFIT*/
#include<stdio.h>
#include<conio.h>
voidmain()
{
intprs,n,ps[10],i,j=0,k;
clrscr();
printf("\nEnterthenumberofpartitions:");
scanf("%d",&n);
printf("\nEnterthesizeofeachparition:");
for(i=0;i<n;i++)
scanf("%d",&ps[i]);
printf("\nEnterthesizeoftheprocess:");
scanf("%d",&prs);
printf("\nEntertheindexoflastallocatedmatrix:");
scanf("%d",&k);
printf("\nLastallocatedblock:%d",ps[k]);
for(i=k+1;i<n;i++)
{
if(ps[i]>=prs)
{
printf("\nTheindexvaluetowhichprocessisallocated:%d",i);
printf("\nThesizeofthepartitiontowhichprocessisallocated:%d",ps[i]);
printf("\n\nExternalfragmentation:%d",ps[i]prs);
j=1;
break;
}
}
if(j==0)
printf("\nTheprocesssizeisgreaterthaneachofthepartition");
getch();
}
/*OUTPUTFORNEXTFIT*/
1stCONCEPTIMPLEMENTATION:
INPUT:
Enterthenumberofpartitions:4
Enterthesizeofeachpartition:
14
16
20
18
Enterthesizeoftheprocess:10
Enterthelastallocatedmatrix:2
OUTPUT:
Lastallocatedblock:20
Theindexvaluetowhichprocessisallocated:3
Thesizeofthepartitiontowhichprocessisallocated:18
Externalfragmentation:8
2ndCONCEPTIMPLEMENTATION
INPUT:
Enterthenumberofpartitions:3
Enterthesizeofeachpartition:
20
22
18
Enterthesizeofprocess:24
Entertheindexoflastallocatedmatrix:1
OUTPUT:
Lastallocatedblock:22
Theprocesssizeisgreaterthaneachofthepartition.