From b34e0dbc599d7c624bc9f52aec766a85f8bfa5db Mon Sep 17 00:00:00 2001 From: Bhavy_Zala Date: Thu, 6 Jun 2024 11:13:33 +0530 Subject: [PATCH] Banker's Algorithm Calculator added --- Calculators/Banker's-Calculator/README.md | 15 ++ Calculators/Banker's-Calculator/banker's.png | Bin 0 -> 63524 bytes Calculators/Banker's-Calculator/index.html | 260 +++++++++++++++++++ Calculators/Banker's-Calculator/script.js | 208 +++++++++++++++ index.html | 14 + 5 files changed, 497 insertions(+) create mode 100644 Calculators/Banker's-Calculator/README.md create mode 100644 Calculators/Banker's-Calculator/banker's.png create mode 100644 Calculators/Banker's-Calculator/index.html create mode 100644 Calculators/Banker's-Calculator/script.js diff --git a/Calculators/Banker's-Calculator/README.md b/Calculators/Banker's-Calculator/README.md new file mode 100644 index 000000000..43d4720a7 --- /dev/null +++ b/Calculators/Banker's-Calculator/README.md @@ -0,0 +1,15 @@ +#

Banker's Algorithm Calculator

+ +## Description :- + +A Banker's Algorithm Calculator is a tool designed to determine the safe sequence for resource allocation in a multi-process system to prevent deadlocks. It assesses the current allocation, maximum demand, and available resources, then simulates resource requests to ensure that all processes can be completed without entering a deadlock state. By checking the feasibility of allocating resources to each process in turn, it helps maintain system stability and efficiency. + +## Tech Stacks :- + +- HTML +- Bootstrap +- JavaScript + +## Screenshots :- + +![image](https://github.com/Rakesh9100/CalcDiverse/assets/126322584/5107948c-192b-47bd-96c7-a29f92a52e72) diff --git a/Calculators/Banker's-Calculator/banker's.png b/Calculators/Banker's-Calculator/banker's.png new file mode 100644 index 0000000000000000000000000000000000000000..894d4cf133f27f9a5038a6dc8098faf44e94d911 GIT binary patch literal 63524 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

89>UGZg7a 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 Q=76g=Pgg&ebxsLQ05QtEz5oCK literal 0 HcmV?d00001 diff --git a/Calculators/Banker's-Calculator/index.html b/Calculators/Banker's-Calculator/index.html new file mode 100644 index 000000000..b527efbbc --- /dev/null +++ b/Calculators/Banker's-Calculator/index.html @@ -0,0 +1,260 @@ + + + + + + Banker's Algorithm + + + + + + +

+ +
+

Banker's Algorithm

+ +
+ +
+

No of Instances of Resources

+
+
+ Resource A: + +
+
+ Resource B: + +
+
+ Resource C: + +
+
+
+ + +
+ +
+

Allocation

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ABC
P1
P2
P3
P4
P5
+
+ + +
+

Maximum

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ABC
P1
P2
P3
P4
P5
+
+
+ + +
+

Need

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ABC
P1
P2
P3
P4
P5
+
+ + +
+

Available

+
+ A: + +
+
+ B: + +
+
+ C: + +
+
+
+ + +
+ + + + +
+ + +
+

Process Sequence :

+ + + + + +
+ + +
+
+
+

Made by CalcDiverse

+
+
+ + + + + \ No newline at end of file diff --git a/Calculators/Banker's-Calculator/script.js b/Calculators/Banker's-Calculator/script.js new file mode 100644 index 000000000..5e536096a --- /dev/null +++ b/Calculators/Banker's-Calculator/script.js @@ -0,0 +1,208 @@ +function reset() +{ + for(var i=1; i<=5; i++) + { + for(var j=1; j<=3; j++) + { + document.getElementById('a'+i+j).value = ''; + document.getElementById('m'+i+j).value = ''; + document.getElementById('n'+i+j).value = ''; + } + document.getElementById('p'+i).value = ''; + } + document.getElementById('av11').value = ''; + document.getElementById('av12').value = ''; + document.getElementById('av13').value = ''; + document.getElementById('resourceA').value = ''; + document.getElementById('resourceB').value = ''; + document.getElementById('resourceC').value = ''; + document.body.style.backgroundColor = "#ffffff"; + } + + function example() + { + sam = [[0,1,0], + [2,0,0], + [3,0,2], + [2,1,1], + [0,0,2]]; + + max = [[7,5,3], + [3,2,2], + [9,0,2], + [2,2,2], + [4,3,3]]; + for(var i=1; i<=5; i++) + { + for(var j=1; j<=3; j++) + { + document.getElementById('a'+i+j).value = sam[i-1][j-1]; + document.getElementById('m'+i+j).value = max[i-1][j-1]; + } + } + document.getElementById('resourceA').value = 10; + document.getElementById('resourceB').value = 5; + document.getElementById('resourceC').value = 7; + } + + + + function find_avai() + { + var a = document.getElementById('resourceA').value; + var b = document.getElementById('resourceB').value; + var c = document.getElementById('resourceC').value; + var x = 0; + var y = 0; + var z = 0; + for(var i=1; i<=5; i++) + { + var x = x + parseInt(document.getElementById('a'+i+'1').value); + var y = y + parseInt(document.getElementById('a'+i+'2').value); + var z = z + parseInt(document.getElementById('a'+i+'3').value); + } + document.getElementById('av11').value = a-x; + document.getElementById('av12').value = b-y; + document.getElementById('av13').value = c-z; + } + + function find_need() + { + for(var i=1; i<=5; i++) + { + for(var j=1; j<=3; j++) + { + document.getElementById('n'+i+j).value = parseInt(document.getElementById('m'+i+j).value) - parseInt(document.getElementById('a'+i+j).value); + } + } + } + + + function run_algo() { + + var resourceA = parseInt(document.getElementById('resourceA').value); + var resourceB = parseInt(document.getElementById('resourceB').value); + var resourceC = parseInt(document.getElementById('resourceC').value); + + + find_avai(); + find_need(); + + var k = 1; // AVAILABLE + var q = 1; // PROCESS + + for (var j = 1; j <= 5; j++) { + x1 = parseInt(document.getElementById('av11').value); + x2 = parseInt(document.getElementById('av12').value); + x3 = parseInt(document.getElementById('av13').value); + + for (var i = k; i <= 5; i++) { + var ex1 = parseInt(document.getElementById('a' + i + '1').value); + var ex2 = parseInt(document.getElementById('a' + i + '2').value); + var ex3 = parseInt(document.getElementById('a' + i + '3').value); + + if (ex1 != 0 || ex2 != 0 || ex3 != 0) { + if ( + x1 >= parseInt(document.getElementById('n' + i + '1').value) && + x2 >= parseInt(document.getElementById('n' + i + '2').value) && + x3 >= parseInt(document.getElementById('n' + i + '3').value) + ) { + document.getElementById('p' + q).value = 'P' + i; + document.getElementById('av11').value = + parseInt(document.getElementById('av11').value) + + parseInt(document.getElementById('a' + i + '1').value); + document.getElementById('av12').value = + parseInt(document.getElementById('av12').value) + + parseInt(document.getElementById('a' + i + '2').value); + document.getElementById('av13').value = + parseInt(document.getElementById('av13').value) + + parseInt(document.getElementById('a' + i + '3').value); + document.getElementById('a' + i + '1').value = '0'; + document.getElementById('a' + i + '2').value = '0'; + document.getElementById('a' + i + '3').value = '0'; + k = i + 1; + if (k == 6) { + k = 1; + } + q = q + 1; + break; + } + } + } + } + + if (q != 6) { + // document.body.style.backgroundColor = 'red'; + alert("Deadlock!!"); + } else { + // document.body.style.backgroundColor = 'green'; + alert("Safe!!"); + } + } + + function req_res() + { + + + var processId = prompt("Enter Process ID (1-5):"); + var requestA = parseInt(prompt("Enter requested amount of Resource A for Process P" + processId + ":")); + var requestB = parseInt(prompt("Enter requested amount of Resource B for Process P" + processId + ":")); + var requestC = parseInt(prompt("Enter requested amount of Resource C for Process P" + processId + ":")); + + + var availableA = parseInt(document.getElementById('av11').value); + var availableB = parseInt(document.getElementById('av12').value); + var availableC = parseInt(document.getElementById('av13').value); + + + var allocationMatrix = [ + [], + [0, parseInt(document.getElementById('a11').value), parseInt(document.getElementById('a12').value), parseInt(document.getElementById('a13').value)], + [0, parseInt(document.getElementById('a21').value), parseInt(document.getElementById('a22').value), parseInt(document.getElementById('a23').value)], + [0, parseInt(document.getElementById('a31').value), parseInt(document.getElementById('a32').value), parseInt(document.getElementById('a33').value)], + [0, parseInt(document.getElementById('a41').value), parseInt(document.getElementById('a42').value), parseInt(document.getElementById('a43').value)], + [0, parseInt(document.getElementById('a51').value), parseInt(document.getElementById('a52').value), parseInt(document.getElementById('a53').value)] + ]; + + var maxMatrix = [ + [], + [0, parseInt(document.getElementById('m11').value), parseInt(document.getElementById('m12').value), parseInt(document.getElementById('m13').value)], + [0, parseInt(document.getElementById('m21').value), parseInt(document.getElementById('m22').value), parseInt(document.getElementById('m23').value)], + [0, parseInt(document.getElementById('m31').value), parseInt(document.getElementById('m32').value), parseInt(document.getElementById('m33').value)], + [0, parseInt(document.getElementById('m41').value), parseInt(document.getElementById('m42').value), parseInt(document.getElementById('m43').value)], + [0, parseInt(document.getElementById('m51').value), parseInt(document.getElementById('m52').value), parseInt(document.getElementById('m53').value)] + ]; + + + if (requestA > maxMatrix[processId][1] || requestB > maxMatrix[processId][2] || requestC > maxMatrix[processId][3]) { + alert("Requested resources exceed the maximum claim of Process P" + processId + "."); + return; + } + + + if (requestA > availableA || requestB > availableB || requestC > availableC) { + alert("Insufficient available resources. Process P" + processId + " must wait."); + return; + } + + + availableA -= requestA; + availableB -= requestB; + availableC -= requestC; + + allocationMatrix[processId][1] += requestA; + allocationMatrix[processId][2] += requestB; + allocationMatrix[processId][3] += requestC; + + + document.getElementById('av11').value = availableA; + document.getElementById('av12').value = availableB; + document.getElementById('av13').value = availableC; + + + document.getElementById('a' + processId + '1').value = allocationMatrix[processId][1]; + document.getElementById('a' + processId + '2').value = allocationMatrix[processId][2]; + document.getElementById('a' + processId + '3').value = allocationMatrix[processId][3]; + + alert("Resources allocated successfully for Process P" + processId + "."); +} diff --git a/index.html b/index.html index 02274b880..1fda4fd35 100644 --- a/index.html +++ b/index.html @@ -2920,6 +2920,20 @@

Calculates the linear density of the yarn from unit system to another.

+
+
+

Banker's Algorithm Calculator

+

Calculate the safety sequence

+ +
+





No results found 🙃