Banker's Algorithm in Operating System (Voorbeeld)

Inhoudsopgave:

Anonim

Wat is het algoritme van Banker?

Banker's Algorithm wordt voornamelijk gebruikt in het banksysteem om impasses te voorkomen. Het helpt u te bepalen of een lening wordt verstrekt of niet.

Dit algoritme wordt gebruikt om te testen of de toewijzing veilig kan worden gesimuleerd om het maximale beschikbare bedrag voor alle bronnen te bepalen. Het controleert ook alle mogelijke activiteiten voordat wordt bepaald of de toewijzing moet worden voortgezet of niet.

Er is bijvoorbeeld een X aantal rekeninghouders van een specifieke bank, en het totale geldbedrag van hun rekeningen is G.

Wanneer de bank een autolening verwerkt, trekt het softwaresysteem het bedrag van de lening die is verstrekt voor de aanschaf van een auto af van het totale geld (G + vaste storting + maandelijks inkomen + goud, enz.) 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.

In deze handleiding voor het besturingssysteem leert u:

  • Wat is het algoritme van Banker?
  • Banker's Algorithm Notations
  • Voorbeeld van het algoritme van Banker
  • Kenmerken van het algoritme van Banker
  • Nadeel van het algoritme van Banker

Banker's Algorithm Notations

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] geef aan welke bron beschikbaar is.

Max. Hoogte

[l: X, l: Y]: uitdrukking van het maximale aantal bronnen van type j of proces i

Toewijzing

[l: X, l: Y]. Geef aan van welk proces u een hulpmiddel van het type j hebt ontvangen

Nodig hebben

Geef aan hoeveel meer middelen in de toekomst kunnen worden toegewezen

Voorbeeld van het algoritme van Banker

Stel dat we de volgende bronnen hebben:

  • 5 pendrives
  • 2 printers
  • 4 scanners
  • 3 harde schijven

Hier hebben we een vector gemaakt die de totale bronnen weergeeft: beschikbaar = (5, 2, 4, 3).

Stel dat er vier processen zijn. De beschikbare middelen zijn al toegewezen volgens de onderstaande matrixtabel.

Proces naam Pen drives Printer Scanner Harde schijf
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:

Toegekend = (4, 2, 2, 3).

We maken ook een matrix om het aantal middelen weer te geven dat nodig is voor alle processen. Deze matrix heet Need = (3,0,2,2)

Proces naam Pen drives Printer Scanner Harde schijf
P. 1 1 0 0
Q 0 1 1 2
R 2 1 0 0
S 0 0 1 0

De beschikbare vector zal zijn:

Beschikbaar = Beschikbaar - Toegekend

= (5, 2, 4, 3) - (4, 2, 2, 3)

= (1, 0, 2, 0)

Algoritme voor resourceaanvragen

Met het algoritme voor resourceaanvragen kunt u het systeemgedrag weergeven wanneer een specifiek proces een resourceaanvraag indient.

Laat dit begrijpen door de volgende stappen:

Stap 1) Als een totaal aangevraagd exemplaar van alle bronnen kleiner is dan het proces, ga dan naar stap 2.

Stap 2) Wanneer een aangevraagde instantie van elk resourcetype kleiner is in vergelijking met de beschikbare resources van elk type, wordt deze verwerkt naar de volgende stap. Anders moet het proces wachten omdat er onvoldoende bronnen beschikbaar zijn.

Stap 3) De bron wordt toegewezen zoals weergegeven in de hieronder gegeven 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 moet aannemen dat er middelen zijn toegewezen. Zodat er na toewijzing minder middelen beschikbaar zijn.

Kenmerken van het algoritme van Banker

Hier zijn belangrijke kenmerken van het algoritme van de bankier:

  • Bewaar veel bronnen die voldoen aan de vereisten van ten minste één klant
  • Telkens wanneer een proces al zijn bronnen krijgt, moet het deze binnen een beperkte periode retourneren.
  • Wanneer een proces een bron aanvraagt, moet het wachten
  • Het systeem heeft een beperkt aantal bronnen
  • Geavanceerde functie voor maximale toewijzing van middelen

Nadeel van het algoritme van Banker

Hier zijn de nadelen / nadelen van het gebruik van het algoritme van de bank

  • Staat niet toe dat het proces zijn maximale behoefte verandert tijdens de verwerking
  • Hiermee kunnen alle verzoeken binnen een beperkte tijd worden ingewilligd, maar daarvoor is een jaar een vaste periode.
  • Alle processen moeten vooraf hun maximale resourcebehoefte kennen en aangeven.

Overzicht:

  • Banker's algoritme wordt voornamelijk gebruikt in het banksysteem om impasse te voorkomen. Het helpt u te bepalen of een lening wordt verstrekt of niet.
  • De notaties die worden gebruikt in de algoritmen van bankiers zijn 1) Beschikbaar 2) Max 3) Toewijzing 4) Behoefte
  • Met het algoritme voor resourceaanvragen kunt u het systeemgedrag weergeven wanneer een specifiek proces een resourceaanvraag indient.
  • Het algoritme van de bank houdt veel bronnen bij die voldoen aan de vereisten van ten minste één klant
  • Het grootste nadeel van het algoritme van de bank is dat het het proces niet toestaat om tijdens de verwerking zijn maximale behoefte te veranderen.