Bankers Algorithm
Bankers Algorithm
allocMat = []
maxMat = []
avail = []
for i in range(NumberOfProcesses):
rowAllocMax = []
rowMaxMat = []
rowAvailMat = []
for j in range(NoOfResources):
rowAllocMax.append(int(input(f"Enter element {i},{j} for allocation matrix: ")))
allocMat.append(rowAllocMax)
maxMat.append(rowMaxMat)
avail.append(rowAvailMat)
f = [0] * NumberOfProcesses
ans = [0] * NumberOfProcesses
ind = 0
for k in range(NumberOfProcesses):
f[k] = 0
y=0
for k in range(5):
for i in range(NumberOfProcesses):
if f[i] == 0:
flag = 0
for j in range(NumberOfResources):
if need[i][j] > avail[j]:
flag = 1
break
if flag == 0:
ans[ind] = i
ind += 1
for y in range(NumberOfResources):
avail[y] += allocMat[i][y]
f[i] = 1
Output: