Bankers algoritme i Operatingsystem [Eksempel]
Hva er Bankers Algorithm?
Bankers algoritme brukes hovedsakelig i banksystemet for å unngå fastlåsing. Det hjelper deg å identifisere om et lån vil bli gitt eller ikke.
Denne algoritmen brukes til å teste for sikker simulering av allokeringen for å bestemme maksimalt tilgjengelig beløp for alle ressurser. Den sjekker også for alle mulige aktiviteter før den bestemmer om tildelingen skal fortsette eller ikke.
For eksempel er det X antall kontoinnehavere i en bestemt bank, og det totale beløpet på kontoene deres er G.
Når banken behandler et billån, trekker programvaresystemet lånebeløpet for kjøp av bil fra de totale pengene (G+ Fast innskudd + Månedlig inntektsordning + Gull, etc.) som banken har.
Den sjekker også at forskjellen er større enn eller ikke G. Den behandler billånet først når banken har nok penger selv om alle kontoinnehavere tar ut pengene G samtidig.
Bankers algoritmenotasjoner
Her er en viktig notasjon som brukes i Bankers algoritme:
- X: Indikerer totalt antall prosesser i systemet.
- Y: Indikerer det totale antallet ressurser som finnes i systemet.
Tilgjengelig
[I: Y] indikerer hvilken ressurs som er tilgjengelig.
max
[l:X,l:Y]: Uttrykk for maksimalt antall ressurser av type j eller prosess i
Tildeling
[l:X,l:Y]. Angi hvor prosess du har mottatt en ressurs av type j
Trenger
Gi uttrykk for hvor mange flere ressurser som kan tildeles i fremtiden
Eksempel på Bankers algoritme
Anta at vi har følgende ressurser:
- 5 pennestasjoner
- 2 skrivere
- 4 skannere
- 3 harddisker
Her har vi laget en vektor som representerer totale ressurser: Tilgjengelig = (5, 2, 4, 3).
Anta at det er fire prosesser. De tilgjengelige ressursene er allerede allokert i henhold til matrisetabellen nedenfor.
Process Name | Pennedrev | Skriver | Skanner | harddisk |
---|---|---|---|---|
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 |
Her er de tildelte ressursene summen av disse kolonnene:
Allokert = (4, 2, 2, 3).
Vi lager også en matrise for å vise antallet av hver ressurs som kreves for alle prosessene. Denne matrisen kalles Trenger=(3,0,2,2)
Process Name | Pennedrev | Skriver | Skanner | harddisk |
---|---|---|---|---|
P | 1 | 1 | 0 | 0 |
Q | 0 | 1 | 1 | 2 |
R | 2 | 1 | 0 | 0 |
S | 0 | 0 | 1 | 0 |
Den tilgjengelige vektoren vil være:
Available=Tilgjengelig- Tildelt
= (5, 2, 4, 3) -(4, 2, 2, 3)
=(1, 0, 2, 0)
Algoritme for ressursforespørsel
Algoritmen for ressursforespørsel lar deg representere systematferden når en bestemt prosess foretar en ressursforespørsel.
La oss forstå dette ved å følge disse trinnene:
Trinn 1) Når den totale forespurte forekomsten av alle ressursene er mindre enn prosessen, går du til trinn 2.
Trinn 2) Når en forespurt forekomst av hver enkelt ressurstype er mindre sammenlignet med de tilgjengelige ressursene for hver type, vil den bli behandlet til neste trinn. Ellers krever prosessen å vente på grunn av utilgjengelighet av tilstrekkelige ressurser.
Trinn 3) Ressurs tildeles som vist i den gitte pseudokoden nedenfor.
Available = Available – Request (y) Allocation(x) = Allocation(x) + Request(x) Need(x) = Need(x) - Request(x)
Dette siste trinnet utføres fordi systemet må anta at ressursene er tildelt. Slik at det skal være mindre ressurser tilgjengelig etter tildeling.
Kjennetegn ved Bankers Algorithm
Her er viktige kjennetegn ved bankmannens algoritme:
- Hold mange ressurser som tilfredsstiller kravet til minst én klient
- Når en prosess får alle ressursene sine, må den returnere dem i en begrenset periode.
- Når en prosess ber om en ressurs, må den vente
- Systemet har et begrenset antall ressurser
- Avansert funksjon for maksimal ressursallokering
Ulempen med Bankers algoritme
Her er ulemper/ulemper ved å bruke bankers algoritme
- Tillater ikke at prosessen endrer sitt maksimale behov under behandlingen
- Den tillater at alle forespørsler kan innvilges i begrenset tid, men ett år er en fast periode for det.
- Alle prosesser må kjenne til og angi sitt maksimale ressursbehov på forhånd.
Sammendrag
- Bankers algoritme brukes hovedsakelig i banksystemet for å unngå vranglås. Det hjelper deg å identifisere om et lån vil bli gitt eller ikke.
- Notasjoner som brukes i bankers algoritmer er 1) Tilgjengelig 2) Maks 3) Tildeling 4) Behov
- Algoritmen for ressursforespørsel lar deg representere systematferden når en bestemt prosess foretar en ressursforespørsel.
- Bankers algoritme holder mange ressurser som tilfredsstiller kravet til minst én klient
- Den største ulempen med bankers algoritme er at den ikke lar prosessen endre sitt maksimale behov under behandlingen.