0% found this document useful (0 votes)
8 views3 pages

Banker algorith

The document contains C code implementing the Banker's Algorithm for resource allocation in operating systems. It defines the allocation and maximum matrices for five processes and calculates the safe sequence for process execution based on available resources. The program outputs the safe sequence of processes if one exists.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views3 pages

Banker algorith

The document contains C code implementing the Banker's Algorithm for resource allocation in operating systems. It defines the allocation and maximum matrices for five processes and calculates the safe sequence for process execution based on available resources. The program outputs the safe sequence of processes if one exists.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

//

Ban
ker's
Alg
orith
m
#inc
lude
<std
io.h
>

int
mai
n()
{
//P0,P1,P2,P3,P4 are the Process names here

int n,m, i,j, k;


n = 5; //
Number of
processes
m=3;//Numbe
r of resources
int alloc[5][3]={{0,1,0},// P0// Allocation Matrix
{2, 0, 0 }, //P1
{3, 0, 2 }, //P2
{2, 1, 1 }, //P3
{0, 0, 2 } };//P4

int max[5][3] ={{7,5, 3},//P0// MAX Matrix


{3, 2, 2 }, //P1
{9, 0, 2 }, //P2
{2, 2, 2 }, //P3
{4, 3, 3 } };//P4

int avail[3]={3,3,2};//Available

Resources

int f[n], ans[n], ind = 0;


for(k =0;k<n;k++) {
f[k] =0;
}
int need[n][m];
for(i= 0;i< n;i++) {
for(j= 0;j< m; j++)
need[i][j]=max[i][j]- alloc[i][j];
}
inty = 0;
for(k =0;k<5;k++) {
for(i= 0;i< n;i++) {
if(f[i] ==0) {

intflag =0;
for(j= 0;j< m;j++) {
if(need[i][j]>avail[j]){
f
l
a
g
=
1
;

b
r
e
a
k
;
}
}

if(flag ==0){
ans[ind++]=i;
for(y =0;y <m;y++)
avail[y]+= alloc[i][y];
f[i]= 1;
}
}
}
}

printf("Following is the SAFE


Sequence\n"); for (i = 0; i< n -
1; i++)
printf("P%d->",ans[i]);
printf("P%d",ans[n-1]);
return(0);
}

You might also like