Pankkiirin algoritmi sisään Operating-järjestelmä [esimerkki]

Mikä on pankkiirin algoritmi?

Pankkiirin algoritmi käytetään pääasiassa pankkijärjestelmässä umpikujan välttämiseksi. 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 tietyssä pankissa on X määrä tilinomistajia, ja heidän tiliensä rahamäärä on G.

Kun pankki käsittelee autolainaa, ohjelmistojärjestelmä vähentää pankin hallussa olevasta rahasummasta (G+ Kiinteä talletus + Kuukausitulojärjestelmä + Kulta jne.) auton hankintaan myönnetyn lainan määrän.

Se myös tarkistaa, onko ero suurempi vai ei G. Se käsittelee autolainan vain, kun pankilla on riittävästi rahaa, vaikka kaikki tilinomistajat nostavat G-rahat samanaikaisesti.

Pankkiirin algoritmimerkinnät

Tässä on tärkeä merkintä, jota käytetään pankkiirin algoritmissa:

  • X: Ilmaisee järjestelmän prosessien kokonaismäärän.
  • K: Ilmaisee järjestelmässä olevien resurssien kokonaismäärän.

Saatavissa

[I: Y] osoittavat, mikä resurssi on käytettävissä.

max

[l:X,l: Y]: Ilmaisee tyypin j tai prosessin i resurssien enimmäismäärän

jako

[l:X, l:Y]. Ilmoita, missä prosessissa olet vastaanottanut j-tyypin resurssin

Tarve

Ilmaise kuinka paljon resursseja voidaan osoittaa lisää tulevaisuudessa

Esimerkki pankkiirin algoritmista

Oletetaan, että meillä on seuraavat resurssit:

  • 5 kynäasemaa
  • 2 tulostinta
  • 4 Skannerit
  • 3 kovalevyä

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 kokonaissumma:

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:

Available=Käytettävissä- Allokoitu

= (5, 2, 4, 3) -(4, 2, 2, 3)

=(1, 0, 2, 0)

Resurssipyyntöalgoritmi

Resurssipyyntöalgoritmin avulla voit esittää järjestelmän käyttäytymisen, kun tietty prosessi tekee resurssipyynnön.

Ymmärrä tämä seuraavilla vaiheilla:

Vaihe 1) Kun kaikkien resurssien pyydetty esiintymä on prosessia pienempi, siirry vaiheeseen 2.

Vaihe 2) Kun jokaisen resurssityypin pyydetty esiintymä on pienempi kuin kunkin tyypin käytettävissä olevat resurssit, se käsitellään seuraavaan vaiheeseen. Muuten prosessi joutuu odottamaan, koska resursseja ei ole saatavilla.

Vaihe 3) Resurssi on allokoitu 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 olisi vähemmän resursseja käytettävissä.

Pankkiirin algoritmin ominaisuudet

Tässä on pankkiirin algoritmin tärkeitä ominaisuuksia:

  • Säilytä useita resursseja, jotka täyttävät vähintään yhden asiakkaan tarpeet
  • Aina kun prosessi saa kaikki resurssinsa, sen on palautettava ne rajoitetun ajan.
  • Kun prosessi pyytää resurssia, sen on odotettava
  • Järjestelmässä on rajoitettu määrä resursseja
  • Advanced-ominaisuus maksimaaliseen resurssien allokointiin

Pankkiirin algoritmin haitta

Tässä on pankkiirin algoritmin käytön haittoja/haittoja

  • Ei salli prosessin muuttaa enimmäistarvetta käsittelyn aikana
  • Se mahdollistaa kaikkien pyyntöjen hyväksymisen rajoitetun ajan, mutta yksi vuosi on sille kiinteä aika.
  • Kaikkien prosessien on tiedettävä ja ilmoitettava maksimiresurssitarpeensa etukäteen.

Yhteenveto

  • Pankkiirin algoritmia käytetään pääasiassa pankkijärjestelmässä välttämiseksi umpikuja. Se auttaa sinua selvittämään, myönnetäänkö lainaa vai ei.
  • Pankkiirin algoritmeissa käytetyt merkinnät ovat 1) Saatavilla 2) Max 3) Kohde 4) Tarve
  • Resurssipyyntöalgoritmin avulla voit esittää järjestelmän käyttäytymisen, kun tietty prosessi tekee resurssipyynnön.
  • Pankkiirin algoritmi säilyttää monia resursseja, jotka täyttävät vähintään yhden asiakkaan vaatimuksen
  • Pankkiirin algoritmin suurin haittapuoli on, että se ei salli prosessin muuttaa maksimitarvetta käsittelyn aikana.