Bankiersalgoritme in Operating-systeem [Voorbeeld]
Wat is het bankiersalgoritme?
Algoritme van de bank wordt voornamelijk gebruikt in het banksysteem om een impasse te voorkomen. Het helpt u te bepalen of een lening wel of niet wordt verstrekt.
Dit algoritme wordt gebruikt om te testen of de toewijzing veilig kan worden gesimuleerd om het maximale beschikbare bedrag voor alle bronnen te bepalen. Ook worden alle mogelijke activiteiten gecontroleerd voordat wordt bepaald of de toewijzing al dan niet moet worden voortgezet.
Er zijn bijvoorbeeld X-aantal rekeninghouders van een specifieke bank, en het totale geldbedrag op hun rekeningen is G.
Wanneer de bank een autolening verwerkt, trekt het softwaresysteem het leningbedrag dat is verstrekt voor de aanschaf van een auto af van het totale geldbedrag (G+ Vast deposito + Maandinkomstenregeling + Goud, etc.) dat de bank heeft.
Het controleert ook of het verschil groter is dan of niet G. Het verwerkt de autolening alleen als de bank voldoende geld heeft, zelfs als alle rekeninghouders het geld G tegelijkertijd opnemen.
Notaties van het bankiersalgoritme
Hier is een belangrijke notatie die wordt gebruikt in het algoritme van Banker:
- X: Geeft het totale aantal processen van het systeem aan.
- Y: Geeft het totale aantal bronnen aan dat in het systeem aanwezig is.
Beschikbaar
[I: Y] geeft aan welke bron beschikbaar is.
Max
[l:X,l: Y]: Uitdrukking van het maximale aantal bronnen van type j of proces i
Toewijzing
[l:X,l:Y]. Geef aan bij welk proces u een resource van type j heeft ontvangen
Gebruik
Geef aan hoeveel middelen er in de toekomst nog kunnen worden toegewezen
Voorbeeld van het algoritme van Banker
Stel dat we de volgende bronnen hebben:
- 5 Pen-drives
- 2 printers
- 4 scanners
- 3 Harde schijven
Hier hebben we een vector gemaakt die de totale hulpbronnen vertegenwoordigt: Beschikbaar = (5, 2, 4, 3).
Stel dat er vier processen zijn. De beschikbare middelen zijn al toegewezen volgens onderstaande matrixtabel.
| proces Naam | Penaandrijvingen | Printer | Scanner | harddisk |
|---|---|---|---|---|
| P | 2 | 0 | 1 | 1 |
| Q | 0 | 1 | 0 | 0 |
| R | 1 | 0 | 1 | 1 |
| S | 1 | 1 | 0 | 1 |
| Totaal | 4 | 2 | 2 | 3 |
Hier zijn de toegewezen bronnen het totaal van deze kolommen:
Toegewezen = (4, 2, 2, 3).
We creëren ook een matrix om het aantal van elke resource weer te geven die nodig is voor alle processen. Deze matrix wordt genoemd Gebruik=(3,0,2,2)
| proces Naam | Penaandrijvingen | Printer | Scanner | harddisk |
|---|---|---|---|---|
| P | 1 | 1 | 0 | 0 |
| Q | 0 | 1 | 1 | 2 |
| R | 2 | 1 | 0 | 0 |
| S | 0 | 0 | 1 | 0 |
De beschikbare vector is:
Beschikbaar=Beschikbaar- Toegewezen
= (5, 2, 4, 3) -(4, 2, 2, 3)
=(1, 0, 2, 0)
Algoritme voor resourceverzoeken
Met het algoritme voor resourceverzoeken kunt u het systeemgedrag weergeven wanneer een specifiek proces een resourceverzoek doet.
Laten we dit met behulp van de volgende stappen begrijpen:
Stap 1) Wanneer het totale aangevraagde exemplaar van alle bronnen kleiner is dan het proces, gaat u naar stap 2.
Stap 2) Wanneer een aangevraagde instantie van elk resourcetype kleiner is vergeleken met de beschikbare resources van elk type, wordt het verwerkt naar de volgende stap. Anders moet het proces wachten vanwege de onbeschikbaarheid van voldoende resources.
Stap 3) De middelen worden toegewezen zoals weergegeven in de onderstaande pseudocode.
Available = Available – Request (y) Allocation(x) = Allocation(x) + Request(x) Need(x) = Need(x) - Request(x)
Deze laatste stap wordt uitgevoerd omdat het systeem ervan moet uitgaan dat bronnen zijn toegewezen. Zodat er na toewijzing minder middelen beschikbaar zouden moeten zijn.
Kenmerken van het bankiersalgoritme
Hier zijn belangrijke kenmerken van het bankiersalgoritme:
- Bewaar veel bronnen die voldoen aan de vereisten van ten minste één klant
- Wanneer een proces al zijn bronnen krijgt, moet het deze binnen een beperkte periode teruggeven.
- Wanneer een proces om een resource vraagt, moet het wachten
- Het systeem beschikt over een beperkt aantal bronnen
- Geavanceerde functie voor maximale toewijzing van middelen
Nadeel van het algoritme van Banker
Hier volgen de nadelen/nadelen van het gebruik van het bankiersalgoritme
- Staat niet toe dat het proces tijdens de verwerking de maximale behoefte wijzigt
- Het maakt het mogelijk dat alle verzoeken binnen een beperkte tijd worden ingewilligd, maar daarvoor is een jaar een vaste periode.
- Alle processen moeten vooraf hun maximale resourcebehoeften kennen en aangeven.
Samenvatting
- Het bankiersalgoritme wordt in het banksysteem veelvuldig gebruikt om dit te voorkomen impasse. Het helpt u om te bepalen of er een lening wordt verstrekt of niet.
- Notaties die in bankieralgoritmen worden gebruikt zijn 1) Beschikbaar 2) Max 3) Toewijzing 4) Nodig
- Met het algoritme voor resourceverzoeken kunt u het systeemgedrag weergeven wanneer een specifiek proces een resourceverzoek doet.
- Het bankiersalgoritme houdt veel bronnen bij die voldoen aan de vereisten van ten minste één klant
- Het grootste nadeel van het bankiersalgoritme is dat het het proces tijdens de verwerking niet de maximale behoefte laat veranderen.
