Bankers algoritm i operativsystemet (exempel)

Innehållsförteckning:

Anonim

Vad är bankers algoritm?

Bankers algoritm används främst i banksystemet för att undvika dödläge. Det hjälper dig att identifiera om ett lån kommer att ges eller inte.

Denna algoritm används för att testa för säker simulering av allokeringen för att bestämma det maximala beloppet som är tillgängligt för alla resurser. Den kontrollerar också alla möjliga aktiviteter innan det bestäms om tilldelningen ska fortsätta eller inte.

Till exempel finns det X-antal kontoinnehavare i en specifik bank, och den totala summan pengar på deras konton är G.

När banken behandlar ett billån subtraherar mjukvarusystemet det lånebelopp som beviljats ​​för att köpa en bil från de totala pengarna (G + fast insättning + schema för månadsinkomst + guld etc.) som banken har.

Den kontrollerar också att skillnaden är mer än eller inte G. Den behandlar endast billånet när banken har tillräckligt med pengar även om alla kontoinnehavare tar ut pengarna G samtidigt.

I denna handledning för operativsystem lär du dig:

  • Vad är bankers algoritm?
  • Bankers algoritmnoteringar
  • Exempel på bankers algoritm
  • Kännetecken för bankers algoritm
  • Nackdelen med bankers algoritm

Bankers algoritmnoteringar

Här är en viktig notation som används i Bankers algoritm:

  • X: Indikerar det totala antalet processer i systemet.
  • Y: Indikerar det totala antalet resurser som finns i systemet.

Tillgängliga

[I: Y] ange vilken resurs som är tillgänglig.

Max

[l: X, l: Y]: Uttryck av maximalt antal resurser av typ j eller process i

Tilldelning

[l: X, l: Y]. Ange var processen du har fått en resurs av typen j

Behöver

Uttryck hur många fler resurser som kan tilldelas i framtiden

Exempel på bankers algoritm

Antag att vi har följande resurser:

  • 5 pennor
  • 2 skrivare
  • 4 skannrar
  • 3 hårddiskar

Här har vi skapat en vektor som representerar totala resurser: Tillgänglig = (5, 2, 4, 3).

Antag att det finns fyra processer. De tillgängliga resurserna har redan tilldelats enligt matristabellen nedan.

Process namn Pennor Skrivare Scanner Hårddisk
P 2 0 1 1
F 0 1 0 0
R 1 0 1 1
S 1 1 0 1
Total 4 2 2 3

Här är de tilldelade resurserna summan av dessa kolumner:

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

Vi skapar också en matris som visar antalet resurser som krävs för alla processer. Denna matris kallas Need = (3,0,2,2)

Process namn Pennor Skrivare Scanner Hårddisk
P 1 1 0 0
F 0 1 1 2
R 2 1 0 0
S 0 0 1 0

Den tillgängliga vektorn kommer att vara:

Tillgänglig = Tillgänglig - Tilldelad

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

= (1, 0, 2, 0)

Resursbegärningsalgoritm

Med resursbegärningsalgoritmen kan du representera systembeteendet när en specifik process gör en resursbegäran.

Låt förstå detta genom följande steg:

Steg 1) När en total begärd instans av alla resurser är mindre än processen, gå till steg 2.

Steg 2) När en begärd instans av varje resurstyp är mindre jämfört med tillgängliga resurser av varje typ kommer den att behandlas till nästa steg. I annat fall kräver processen att vänta på grund av att tillräckliga resurser inte är tillgängliga.

Steg 3) Resursen tilldelas enligt nedanstående Pseudokod.

Available = Available - Request (y)Allocation(x) = Allocation(x) + Request(x)Need(x) = Need(x) - Request(x)

Detta sista steg utförs eftersom systemet måste anta att resurser har tilldelats. Så att det ska finnas mindre resurser tillgängliga efter tilldelningen.

Kännetecken för bankers algoritm

Här är viktiga egenskaper hos bankers algoritm:

  • Behåll många resurser som uppfyller kravet på minst en klient
  • När en process får alla sina resurser, måste den returnera dem under en begränsad period.
  • När en process begär en resurs måste den vänta
  • Systemet har ett begränsat antal resurser
  • Avancerad funktion för maximal resurstilldelning

Nackdelen med bankers algoritm

Här är nackdelar / nackdelar med att använda bankers algoritm

  • Tillåter inte att processen ändrar sitt maximala behov under bearbetningen
  • Det gör att alla begäranden kan beviljas på begränsad tid, men ett år är en fast period för det.
  • Alla processer måste veta och ange sina maximala resursbehov i förväg.

Sammanfattning:

  • Bankers algoritm används huvudsakligen i banksystemet för att undvika dödläge. Det hjälper dig att identifiera om ett lån kommer att ges eller inte.
  • Noteringar som används i bankers algoritmer är 1) Tillgänglig 2) Max 3) Allokering 4) Behov
  • Med resursbegärningsalgoritmen kan du representera systembeteendet när en specifik process gör en resursbegäran.
  • Bankers algoritm håller många resurser som uppfyller kravet på minst en klient
  • Den största nackdelen med bankers algoritm är att den inte tillåter att processen ändrar sitt maximala behov under bearbetningen.