Hvad er bankers algoritme?
Bankers algoritme bruges hovedsageligt i banksystemet for at undgå dødvande. Det hjælper dig med at identificere, om et lån vil blive givet eller ej.
Denne algoritme bruges til at teste for sikker simulering af tildelingen til bestemmelse af det maksimale disponible beløb for alle ressourcer. Det kontrollerer også for alle mulige aktiviteter, inden det afgøres, om tildelingen skal fortsættes eller ej.
For eksempel er der X antal kontohavere i en bestemt bank, og det samlede beløb på deres konti er G.
Når banken behandler et billån, trækker softwaresystemet det lånebeløb, der er ydet til køb af en bil, fra de samlede penge (G + fast depositum + månedlig indkomstskema + guld osv.), Som banken har.
Den kontrollerer også, at forskellen er mere end eller ej G. Den behandler kun billånet, når banken har tilstrækkelige penge, selvom alle kontohavere trækker pengene G samtidigt.
I denne operativsystemvejledning lærer du:
- Hvad er bankers algoritme?
- Bankers algoritme notationer
- Eksempel på bankers algoritme
- Karakteristika for bankers algoritme
- Ulempen ved bankers algoritme
Bankers algoritme notationer
Her er en vigtig notation, der bruges i Bankers algoritme:
- X: Angiver det samlede antal processer i systemet.
- Y: Angiver det samlede antal ressourcer, der findes i systemet.
Ledig
[I: Y] angiver, hvilken ressource der er tilgængelig.
Maks
[l: X, l: Y]: Ekspression af det maksimale antal ressourcer af type j eller proces i
Tildeling
[l: X, l: Y]. Angiv, hvor processen du har modtaget en ressource af typen j
Brug for
Udtryk, hvor mange flere ressourcer der kan tildeles i fremtiden
Eksempel på bankers algoritme
Antag, at vi har følgende ressourcer:
- 5 pen-drev
- 2 printere
- 4 scannere
- 3 harddiske
Her har vi oprettet en vektor, der repræsenterer de samlede ressourcer: Tilgængelig = (5, 2, 4, 3).
Antag, at der er fire processer. De tilgængelige ressourcer er allerede tildelt i henhold til matrixtabellen nedenfor.
Procesnavn | Pen-drev | Printer | Scanner | Harddisk |
---|---|---|---|---|
P | 2 | 0 | 1 | 1 |
Spørgsmål | 0 | 1 | 0 | 0 |
R | 1 | 0 | 1 | 1 |
S | 1 | 1 | 0 | 1 |
Total | 4 | 2 | 2 | 3 |
Her er de tildelte ressourcer summen af disse kolonner:
Tildelt = (4, 2, 2, 3).
Vi opretter også en matrix til at vise antallet af hver ressource, der kræves til alle processerne. Denne matrix kaldes behov = (3,0,2,2)
Procesnavn | Pen-drev | Printer | Scanner | Harddisk |
---|---|---|---|---|
P | 1 | 1 | 0 | 0 |
Spørgsmål | 0 | 1 | 1 | 2 |
R | 2 | 1 | 0 | 0 |
S | 0 | 0 | 1 | 0 |
Den tilgængelige vektor vil være:
Tilgængelig = Tilgængelig - allokeret
= (5, 2, 4, 3) - (4, 2, 2, 3)
= (1, 0, 2, 0)
Ressourceanmodningsalgoritme
Ressourceanmodningsalgoritme giver dig mulighed for at repræsentere systemadfærden, når en bestemt proces foretager en ressourceanmodning.
Lad det forstås ved følgende trin:
Trin 1) Når en samlet anmodet forekomst af alle ressourcer er mindre end processen, skal du gå til trin 2.
Trin 2) Når en anmodet forekomst af hver ressourcetype er mindre sammenlignet med de tilgængelige ressourcer af hver type, behandles den til næste trin. Ellers kræver processen at vente på grund af utilstrækkelig ressourcer.
Trin 3) Ressource tildeles som vist i nedenstående givne Pseudocode.
Available = Available - Request (y)Allocation(x) = Allocation(x) + Request(x)Need(x) = Need(x) - Request(x)
Dette sidste trin udføres, fordi systemet skal antage, at ressourcerne er tildelt. Så der skal være færre ressourcer til rådighed efter tildeling.
Karakteristika for bankers algoritme
Her er vigtige egenskaber ved bankmandens algoritme:
- Behold mange ressourcer, der opfylder kravet fra mindst en klient
- Når en proces får alle sine ressourcer, skal den returnere dem i en begrænset periode.
- Når en proces anmoder om en ressource, skal den vente
- Systemet har et begrænset antal ressourcer
- Avanceret funktion til maksimal ressourceallokering
Ulempen ved bankers algoritme
Her er ulemper / ulemper ved at bruge bankers algoritme
- Tillader ikke processen at ændre sit maksimale behov under behandlingen
- Det gør det muligt for alle anmodninger at blive imødekommet i begrænset tid, men et år er en fast periode for det.
- Alle processer skal kende og angive deres maksimale ressourcebehov på forhånd.
Resumé:
- Bankers algoritme bruges hovedsageligt i banksystemet for at undgå blokering. Det hjælper dig med at identificere, om et lån vil blive givet eller ej.
- Notationer anvendt i bankers algoritmer er 1) Tilgængelig 2) Maks 3) Tildeling 4) Behov
- Ressourceanmodningsalgoritme giver dig mulighed for at repræsentere systemadfærden, når en bestemt proces foretager en ressourceanmodning.
- Bankers algoritme beholder mange ressourcer, der opfylder mindst én klients krav
- Den største ulempe ved bankmandens algoritme er, at det ikke tillader processen at ændre sit maksimale behov under behandlingen.