Bankers algoritme i Operating System [Eksempel]
Hvad er Bankers Algorithm?
Bankmands 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 allokeringen for at bestemme det maksimale beløb, der er tilgængeligt for alle ressourcer. Den kontrollerer også for alle mulige aktiviteter, før den beslutter, 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 lånebeløbet til køb af en bil fra de samlede penge (G+ Fast depositum + Månedlig indkomstordning + Guld osv.), som banken har.
Den kontrollerer også, at forskellen er større end G eller ej. Den behandler kun billånet, når banken har penge nok, selvom alle kontohavere hæver pengene G samtidigt.
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 er til stede i systemet.
tilgængelig
[I: Y] angiver, hvilken ressource der er tilgængelig.
max
[l:X,l: Y]: Udtryk for det maksimale antal ressourcer af type j eller proces i
Tildeling
[l:X,l:Y]. Angiv, hvor proces du har modtaget en ressource af type j
Behov
Giv udtryk for, 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 lavet 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 allokeret i henhold til matrixtabellen nedenfor.
Process Name | Pen-drev | Printer | Scanner | harddisk |
---|---|---|---|---|
P | 2 | 0 | 1 | 1 |
Q | 0 | 1 | 0 | 0 |
R | 1 | 0 | 1 | 1 |
S | 1 | 1 | 0 | 1 |
I alt | 4 | 2 | 2 | 3 |
Her er de allokerede ressourcer summen af disse kolonner:
Allokeret = (4, 2, 2, 3).
Vi opretter også en matrix for at vise antallet af hver ressource, der kræves for alle processer. Denne matrix kaldes Behov=(3,0,2,2)
Process Name | Pen-drev | Printer | Scanner | harddisk |
---|---|---|---|---|
P | 1 | 1 | 0 | 0 |
Q | 0 | 1 | 1 | 2 |
R | 2 | 1 | 0 | 0 |
S | 0 | 0 | 1 | 0 |
Den tilgængelige vektor vil være:
Available=Tilgængelig- Allokeret
= (5, 2, 4, 3) -(4, 2, 2, 3)
=(1, 0, 2, 0)
Ressourceanmodningsalgoritme
Ressourceanmodningsalgoritme gør dig i stand til at repræsentere systemets adfærd, når en specifik proces foretager en ressourceanmodning.
Lad os forstå dette ved at følge 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 enkelt ressourcetype er mindre sammenlignet med de tilgængelige ressourcer af hver type, vil den blive behandlet til næste trin. Ellers kræver processen at vente på grund af utilgængelige ressourcer.
Trin 3) Ressourcen er allokeret som vist i nedenstående givne Pseudokode.
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 ressourcer er blevet allokeret. Så der skulle være færre ressourcer til rådighed efter tildeling.
Karakteristika for Bankers Algorithm
Her er vigtige egenskaber ved bankmands algoritme:
- Behold mange ressourcer, der opfylder kravet fra mindst én 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
Ulempe ved Bankers algoritme
Her er ulemper/ulemper ved at bruge bankers algoritme
- Tillader ikke, at processen ændrer sit maksimale behov under behandlingen
- Det giver mulighed for at imødekomme alle anmodninger 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å dødvande. Det hjælper dig med at identificere, om et lån vil blive givet eller ej.
- Notationer brugt i bankers algoritmer er 1) Tilgængelig 2) Max 3) Tildeling 4) Behov
- Ressourceanmodningsalgoritme gør dig i stand til at repræsentere systemets adfærd, når en specifik proces foretager en ressourceanmodning.
- Bankers algoritme holder mange ressourcer, der opfylder kravet om mindst én kunde
- Den største ulempe ved bankmands algoritme er, at den ikke tillader processen at ændre sit maksimale behov under behandlingen.