Wednesday 28 November 2012

First fit memory management algorithm


//FIRST FIT MEMORY MANAGEMENT ALGORITHM IMPLEMENTATION

#include<stdio.h>
#include<conio.h>
#define max 25

void main()
{
 int frag[max],b[max],f[max],i,j,nb,nf,temp;
 static int bf[max],ff[max];
 clrscr();

 printf("\n\tMemory Management Scheme - First Fit");
 printf("\nEnter the number of blocks:");
 scanf("%d",&nb);
 printf("Enter the number of files:");
 scanf("%d",&nf);
 printf("\nEnter the size of the blocks:-\n");
 for(i=1;i<=nb;i++) {printf("Block %d:",i);scanf("%d",&b[i]);}
 printf("Enter the size of the files :-\n");
 for(i=1;i<=nf;i++) {printf("File %d:",i);scanf("%d",&f[i]);}

 for(i=1;i<=nf;i++)
 {
  for(j=1;j<=nb;j++)
  {
   if(bf[j]!=1)
   {
    temp=b[j]-f[i];
    if(temp>=0)
    {
     ff[i]=j;
     break;
    }
   }
  }
  frag[i]=temp;
  bf[ff[i]]=1;
 }
 printf("\nFile_no:\tFile_size :\tBlock_no:\tBlock_size:\tFragement");
 for(i=1;i<=nf;i++)
 printf("\n%d\t\t%d\t\t%d\t\t%d\t\t%d",i,f[i],ff[i],b[ff[i]],frag[i]);
 getch();
}
//program written by Mars. 27/11/2011. OS lab.

4 comments:

  1. for what ff[],bf[] stands for and why lowest =10000 is used

    ReplyDelete
    Replies
    1. We required a large value in lowest variable that would be used to compare to sizes of blocks. I taken this value 10000, we can take any other large value too.
      ff stands for 'File Fragmented'.
      bf stands for 'Block Fragmented'.

      Delete
  2. .thank you for sharing useful post.
    web programming tutorial
    welookups

    ReplyDelete

  3. nice article for beginners.thank you.
    javacodegeeks

    ReplyDelete

You are welcome, your comment helps me to make this blog more better.