0% found this document useful (0 votes)
18 views

bankersalgorithm

Uploaded by

nagendravijay28
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)
18 views

bankersalgorithm

Uploaded by

nagendravijay28
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/ 6

#include<stdio.

h>

#include<conio.h>

int main()

int Max[10][10], need[10][10], alloc[10][10], avail[10], completed[10], safeSequence[10];

int p, r, i, j, process, count;

count = 0;

printf("Enter the no of processes : "); //processes are read.

scanf("%d", &p);

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

completed[i] = 0; // a finish vector that is initialised with 0.

printf("\n\nEnter the no of resources : "); // read no of resources.

scanf("%d", &r);

printf("\n\nEnter the Max Matrix for each process : "); //for loop statement to
enter the maximum matrix.

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

printf("\nFor process %d : ", i + 1);

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

scanf("%d", &Max[i][j]);

printf("\n\nEnter the allocation for each process : "); //for loop statement to
enter the allocation of resources for each process.

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

{
printf("\nFor process %d : ",i + 1);

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

scanf("%d", &alloc[i][j]);

printf("\n\nEnter the Available Resources : "); //for loop for entering the
no of available resources.

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

scanf("%d", &avail[i]);

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

for(j = 0; j<r; j++) //nested for loop for finding


the need matrix.

need[i][j] = Max[i][j] - alloc[i][j];

do

printf("\n Max matrix:\tAllocation matrix:\n"); // for loop to print the max


and allocation matrix.

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

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

printf("%d ", Max[i][j]);

printf("\t\t");

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

printf("%d ", alloc[i][j]);

printf("\n");

process = -1;
for(i = 0; i<p; i++)

if(completed[i] == 0)//if not completed

process = i ;

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

if(avail[j]<need[i][j])

process = -1;

break;

if(process != -1)

break;

if(process != -1)

printf("\nProcess %d runs to completion!", process + 1);

safeSequence[count] = process + 1;

count++;

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

avail[j] += alloc[process][j];

alloc[process][j] = 0;

Max[process][j] = 0;

completed[process] = 1;

}
}while(count != p && process != -1);

if(count == p)

printf("\nThe system is in a safe state!!\n");

printf("Safe Sequence : ");

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

printf("%d ", safeSequence[i]);

printf(" \n");

else

printf("\nThe system is in an unsafe state!!");

return 0;

You might also like