Pankkiirin algoritmi sisään Operating-järjestelmä [esimerkki]
⚡ Älykäs yhteenveto
Pankkiirin algoritmi on lukkiutumien välttämiseen tarkoitettu menetelmä, joka testaa, pitääkö resurssien allokointi järjestelmän turvallisessa tilassa. Pankkitoiminnan mukaan nimetty algoritmi hyväksyy pyynnön vain, jos resursseja on jäljellä riittävästi kaikkien prosessien tyydyttämiseksi.
Mikä on pankkiirin algoritmi?
Pankkiirin algoritmi käytetään pääasiassa pankkijärjestelmässä välttämään umpikuja. Se auttaa sinua selvittämään, myönnetäänkö lainaa vai ei.
Tällä algoritmilla testataan allokoinnin simulointia turvallisesti kaikkien resurssien käytettävissä olevan enimmäismäärän määrittämiseksi. Se myös tarkistaa kaikki mahdolliset toiminnot ennen kuin päättää, pitäisikö allokointia jatkaa vai ei.
Esimerkiksi tietyllä pankilla on X tilinomistajaa, ja heidän tileillään on yhteensä G rahaa.
Kun pankki käsittelee autolainaa, ohjelmistojärjestelmä alittaatracts auton ostamiseen myönnetyn lainan määrä pankin käytettävissä olevista kokonaisvaroista (G + määräaikainen talletus + kuukausitulojärjestelmä + kulta jne.).
Se myöntää autolainan vain, jos jäljellä oleva rahamäärä ylittää G:n, joten kaikki tilinomistajat voivat nostaa G:tä milloin tahansa.
Pankkiirin algoritmimerkinnät
Tässä on joitakin tärkeitä pankkiirin algoritmissa käytettyjä merkintöjä:
- X: Ilmaisee järjestelmässä olevien prosessien kokonaismäärän.
- K: Ilmaisee järjestelmässä olevien resurssien kokonaismäärän.
Saatavissa
[1:Y] ilmaisee, kuinka monta esiintymää kutakin resurssityyppiä on käytettävissä.
max
[1:X, 1:Y]: Ilmaisee j-tyypin resurssien enimmäismäärän, jota prosessi i voi pyytää.
jako
[1:X, 1:Y]: Ilmaisee prosessille i tällä hetkellä allokoidut j-tyypin resurssit.
Tarve
Ilmaisee, kuinka monta resurssia kutakin prosessityyppiä i vielä tarvitsee tehtävänsä suorittamiseen.
Esimerkki pankkiirin algoritmista
Oletetaan, että meillä on seuraavat resurssit:
- 5 kynäasemaa
- 2 tulostinta
- 4 Skannerit
- 3 kiintolevyä
Tässä olemme luoneet vektorin, joka edustaa kokonaisresursseja: Käytettävissä = (5, 2, 4, 3).
Oletetaan, että prosesseja on neljä. Käytettävissä olevat resurssit on jo allokoitu alla olevan matriisitaulukon mukaisesti.
| Prosessin nimi | Kynä ajaa | Kirjoitin | Skanneri | kiintolevy |
|---|---|---|---|---|
| P | 2 | 0 | 1 | 1 |
| Q | 0 | 1 | 0 | 0 |
| R | 1 | 0 | 1 | 1 |
| S | 1 | 1 | 0 | 1 |
| Yhteensä | 4 | 2 | 2 | 3 |
Tässä allokoidut resurssit ovat näiden sarakkeiden summa:
Jaettu = (4, 2, 2, 3).
Luomme myös matriisin, joka näyttää jokaisen prosessin edellyttämän resurssin määrän. Tätä matriisia kutsutaan Tarve = (3, 0, 2, 2).
| Prosessin nimi | Kynä ajaa | Kirjoitin | Skanneri | kiintolevy |
|---|---|---|---|---|
| P | 1 | 1 | 0 | 0 |
| Q | 0 | 1 | 1 | 2 |
| R | 2 | 1 | 0 | 0 |
| S | 0 | 0 | 1 | 0 |
Käytettävissä oleva vektori on:
Käytettävissä = Käytettävissä – Varattu
= (5, 2, 4, 3) – (4, 2, 2, 3)
= (1, 0, 2, 0)
Resurssipyyntöalgoritmi
Resurssipyyntöalgoritmin avulla voit esittää järjestelmän toimintaa, kun tietty prosessi tekee resurssipyynnön.
Ymmärrämme tämän seuraavien vaiheiden avulla:
Vaihe 1) Kun kaikkien resurssien pyydettyjen esiintymien kokonaismäärä on pienempi kuin prosessi, siirry vaiheeseen 2.
Vaihe 2) Kun pyydettyjä esiintymiä kutakin resurssityyppiä on vähemmän kuin käytettävissä olevia resursseja, prosessi siirtyy seuraavaan vaiheeseen. Muussa tapauksessa prosessin on odotettava riittävien resurssien puuttumisen vuoksi.
Vaihe 3) Resurssi allokoidaan alla olevan pseudokoodin mukaisesti.
Available = Available – Request (y) Allocation(x) = Allocation(x) + Request(x) Need(x) = Need(x) - Request(x)
Tämä viimeinen vaihe suoritetaan, koska järjestelmän on oletettava, että resurssit on allokoitu, jotta allokoinnin jälkeen on käytettävissä vähemmän resursseja.
Pankkiirin algoritmin ominaisuudet
Tässä ovat pankkiirin algoritmin tärkeät ominaisuudet:
- Säilyttää useita resursseja, jotka täyttävät ainakin yhden asiakkaan vaatimukset.
- Aina kun prosessi saa kaikki resurssinsa, sen on palautettava ne rajoitetun ajan.
- Kun prosessi pyytää resurssia, sen on ehkä odotettava.
- Järjestelmässä on rajallinen määrä resursseja.
- Se tarjoaa edistyneen ominaisuuden resurssien maksimointiin.
Pankkiirin algoritmin haitta
Tässä ovat pankkiirin algoritmin käytön haitat/haitat:
- Se ei salli prosessin muuttaa maksimitarvettaan käsittelyn aikana.
- Se sallii kaikkien pyyntöjen hyväksymisen rajoitetun ajan kuluessa, mutta yksi vuosi on sille kiinteä ajanjakso.
- Kaikkien prosessien on tiedettävä ja ilmoitettava maksimiresurssitarpeensa etukäteen.

