Bankers algoritm i Operatingssystem [Exempel]
Vad รคr Bankers Algorithm?
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.
Denna algoritm anvรคnds fรถr att testa fรถr sรคker simulering av allokeringen fรถr att bestรคmma det maximala belopp som รคr tillgรคngligt fรถr alla resurser. Den kontrollerar ocksรฅ fรถr alla mรถjliga aktiviteter innan man avgรถr 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 lรฅnebeloppet som beviljats โโfรถr att kรถpa en bil frรฅn de totala pengarna (G+ Fast insรคttning + Mรฅnadsinkomst + Guld, etc.) som banken har.
Den kontrollerar ocksรฅ att skillnaden รคr stรถrre รคn G eller inte. Den behandlar billรฅnet fรถrst nรคr banken har tillrรคckligt med pengar รคven om alla kontoinnehavare tar ut pengarna G samtidigt.
Bankers algoritmnotationer
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] anger vilken resurs som รคr tillgรคnglig.
Max
[l:X,l: Y]: Uttryck fรถr det maximala antalet resurser av typ j eller process i
Tilldelning
[l:X,l:Y]. Ange var process du har fรฅtt en resurs av typ 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 pennenheter
- 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 รคr redan allokerade enligt matristabellen nedan.
| Processnamn | Penna enheter | Skrivare | Scanner | hรฅrddisk |
|---|---|---|---|---|
| P | 2 | 0 | 1 | 1 |
| Q | 0 | 1 | 0 | 0 |
| R | 1 | 0 | 1 | 1 |
| S | 1 | 1 | 0 | 1 |
| Totalt | 4 | 2 | 2 | 3 |
Hรคr รคr de tilldelade resurserna summan av dessa kolumner:
Allokerad = (4, 2, 2, 3).
Vi skapar ocksรฅ en matris fรถr att visa antalet fรถr varje resurs som krรคvs fรถr alla processer. Denna matris kallas Behรถver=(3,0,2,2)
| Processnamn | Penna enheter | Skrivare | Scanner | hรฅrddisk |
|---|---|---|---|---|
| P | 1 | 1 | 0 | 0 |
| Q | 0 | 1 | 1 | 2 |
| R | 2 | 1 | 0 | 0 |
| S | 0 | 0 | 1 | 0 |
Den tillgรคngliga vektorn kommer att vara:
Available=Tillgรคnglig- Tilldelad
= (5, 2, 4, 3) -(4, 2, 2, 3)
=(1, 0, 2, 0)
Algoritm fรถr resursbegรคran
Algoritmen fรถr resursbegรคran gรถr att du kan representera systemets beteende nรคr en specifik process gรถr en resursbegรคran.
Lรฅt oss fรถrstรฅ detta genom fรถljande steg:
Steg 1) Nรคr en total begรคrd instans av alla resurser รคr mindre รคn processen, gรฅ vidare till steg 2.
Steg 2) Nรคr en begรคrd instans av varje resurstyp รคr mindre jรคmfรถrt med de tillgรคngliga resurserna av varje typ, kommer den att bearbetas till nรคsta steg. Annars mรฅste processen vรคnta pรฅ grund av att tillrรคckliga resurser inte รคr tillgรคngliga.
Steg 3) Resurs 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 allokerats. Sรฅ att det ska finnas mindre resurser tillgรคngliga efter tilldelning.
Egenskaper fรถr Bankers Algorithm
Hรคr รคr viktiga egenskaper hos bankirens algoritm:
- Behรฅll mรฅnga resurser som uppfyller kraven pรฅ minst en kund
- Nรคrhelst 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 resursallokering
Nackdel med Bankers algoritm
Hรคr รคr nackdelar/nackdelar med att anvรคnda bankirens algoritm
- Tillรฅter inte att processen รคndrar sitt maximala behov under bearbetning
- Den tillรฅter att alla fรถrfrรฅgningar beviljas under begrรคnsad tid, men ett รฅr รคr en fast period fรถr det.
- Alla processer mรฅste kรคnna till 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.
- Notationer som anvรคnds i bankernas algoritmer รคr 1) Tillgรคnglig 2) Max 3) Allokering 4) Behov
- Algoritmen fรถr resursbegรคran gรถr att du kan representera systemets beteende nรคr en specifik process gรถr en resursbegรคran.
- Bankers algoritm hรฅller mรฅnga resurser som uppfyller kravet pรฅ minst en kund
- Den stรถrsta nackdelen med bankirens algoritm รคr att den inte tillรฅter processen att รคndra sitt maximala behov under behandlingen.
