Вы находитесь на странице: 1из 23

DRONACHARYAGROUPOFINSTITUTIONS,GREATERNOIDA

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.

Вам также может понравиться