Write a program to implement best fit algorithm in memory management using C++
The following c++ program will help you to implement best fit algorithm in memory management using C++
C++ Program Code
/*;==========================================
; Title: Write a program to implement best fit algorithm in memory management.
; Owned: codenaive littleboy8506@ <[email protected]> <[email protected]>
; Contribution: Mansi bansal
; Programming Language: C++
; Date: 28 Jan 2021
;==========================================*/
#include<iostream>
using namespace std;
int main()
{ int fragment[20],b[20],p[20],i,j,nb,np,temp,lowest=9999;
static int barray[20],parray[20];
cout<<"\nEnter the number of blocks: ";
cin>>nb;
cout<<"Enter the number of processes: ";
cin>>np;
cout<<"\nEnter the size of the blocks:- \n";
for(i=1;i<=nb;i++)
{ cout<<"Block no."<<i<<":";
cin>>b[i];
}
cout<<"\nEnter the size of the processes :- \n";
for(i=1;i<=np;i++)
{
cout<<"Process no. "<<i<<":";
cin>>p[i];
}
for(i=1;i<=np;i++)
{ for(j=1;j<=nb;j++)
{
if(barray[j]!=1)
{
temp=b[j]-p[i];
if(temp>=0)
if(lowest>temp)
{
parray[i]=j;
lowest=temp;
}
}
}
fragment[i]=lowest;
barray[parray[i]]=1;
lowest=10000;
}
cout<<"\nProcess_no\tProcess_size\tBlock_no\tBlock_size\tFragment";
for(i=1;i<=np && parray[i]!=0;i++)
cout<<"\n"<<i<<"\t\t"<<p[i]<<"\t\t"<<parray[i]<<"\t\t"<<b[parray[i]]<<"\t\t"<<fragment[i];
cout<<"\n";
return 0;
}
Output
~/admin@codenaive/os $ g++ best.cpp -o best
~/admin@codenaive/os $ ./best
Enter the number of blocks: 5
Enter the number of processes: 5
Enter the size of the blocks:-
Block no.1: 200
Block no.2: 100
Block no.3: 300
Block no.4: 250
Block no.5: 400
Enter the size of the processes :-
Process no. 1: 80
Process no. 2: 150
Process no. 3: 250
Process no. 4: 280
Process no. 5: 350
Process_no Process_size Block_no Block_size Fragment
1 80 2 100 20
2 150 1 200 50
3 250 4 250 0
4 280 3 300 20
5 350 5 400 50
Leave a Reply