Operating Systems - 7

1. FCFS CPU SCHEDULING ALGORITHM


#include<stdio.h>

#include<conio.h>

int fr[3];

 

void main()

{

void display();

int i,j,page[12]={2,3,2,1,5,2,4,5,3,2,5,2};

int flag1=0,flag2=0,pf=0,frame_size=3,top=0;

 

for(i=0;i<3;i++)

{

fr[i]=-1;

}

for(j=0;j<12;j++)

{

flag1=0; flag2=0; for(i=0;i<12;i++)

{

if(fr[i]==page[j])

{

flag1=1; flag2=1; break;

}

}

if(flag1==0)

{

for(i=0;i<frame_size;i++)

{

if(fr[i]==-1)

{

fr[i]=page[j]; flag2=1; break;

}

}

}

if(flag2==0)

{

fr[top]=page[j];

 

 

top++; pf++;

if(top>=frame_size) top=0;

}

display();

}

printf("\n\nNumber of page faults : %d ",pf);

}

void display()

{

int i; printf("\n");

for(i=0;i<3;i++)

printf("%d\t",fr[i]);

}

 

 

2. SJF CPU SCHEDULING ALGORITHM


#include<stdio.h>

#include<conio.h>

int fr[3];

 

void main()

{

void display();

int p[12]={2,3,2,1,5,2,4,5,3,2,5,2},i,j,fs[3];

int index,k,l,flag1=0,flag2=0,pf=0,frame_size=3;

for(i=0;i<3;i++)

{

fr[i]=-1;

}

for(j=0;j<12;j++)

{

flag1=0,flag2=0; for(i=0;i<3;i++)

{

if(fr[i]==p[j])

{

flag1=1; flag2=1; break;

}

}

if(flag1==0)

{

for(i=0;i<3;i++)

{

if(fr[i]==-1)

{

fr[i]=p[j]; flag2=1; break;

}

}

}

if(flag2==0)

{

for(i=0;i<3;i++) fs[i]=0;

for(k=j-1,l=1;l<=frame_size-1;l++,k--)

{

for(i=0;i<3;i++)

{

 

 

if(fr[i]==p[k]) fs[i]=1;

}

}

for(i=0;i<3;i++)

{

if(fs[i]==0) index=i;

}

fr[index]=p[j]; pf++;

}

display();

}

printf("\n NO of page faults :%d",pf); getch();

}

void display()

{

int i; printf("\n"); for(i=0;i<3;i++)

printf("\t%d",fr[i]);

}

 

Comments

Popular posts from this blog

Computer Architecture and Organization - 4

Design and Analysis of Algorithms - 2

Design and Analysis of Algorithms - 6

Design and Analysis of Algorithms - 1

Artificial Intelligence - 7