Bankár algoritmus az operációs rendszerben (példa)

Tartalomjegyzék:

Anonim

Mi a Banker algoritmusa?

A banki algoritmust elsősorban a bankrendszerben használják a holtpont elkerülése érdekében. Segít azonosítani, hogy hitelt adnak-e vagy sem.

Ezt az algoritmust használják az allokáció biztonságos szimulációjának tesztelésére az összes erőforrás számára elérhető maximális összeg meghatározásához. Ezenkívül ellenőrzi az összes lehetséges tevékenységet, mielőtt meghatározná, hogy folytatni kell-e az allokációt.

Például egy adott banknál X-es számlatulajdonos van, és számláik teljes pénzösszege G.

Amikor a bank autós hitelt dolgoz fel, a szoftveres rendszer levonja az autó megvásárlásához nyújtott hitel összegét a bank összes pénzéből (G + fix betét + havi jövedelem rendszer + arany stb.).

Azt is ellenőrzi, hogy a különbség nagyobb-e vagy sem. Csak akkor dolgozza fel az autóhitelt, ha a banknak elegendő pénze van, akkor is, ha az összes számlatulajdonos egyszerre veszi fel a pénzt G.

Ebben az operációs rendszer bemutatóban megtudhatja:

  • Mi a Banker algoritmusa?
  • Bankár algoritmus jelölései
  • Példa Banker algoritmusára
  • A bankár algoritmus jellemzői
  • A Banker algoritmusának hátránya

Bankár algoritmus jelölései

Itt van egy fontos jelölés, amelyet a Banker algoritmusában használnak:

  • X: A rendszer összes folyamatának számát jelzi.
  • Y: A rendszerben jelen lévő erőforrások teljes számát jelzi.

Elérhető

[I: Y] jelzi a rendelkezésre álló erőforrásokat.

Max

[l: X, l: Y]: A j típusú vagy i folyamatú erőforrások maximális számának kifejezése

Kiosztás

[l: X, l: Y]. Jelölje meg, hol kapott egy j típusú erőforrást

Szükség

Fejezze ki, hogy hány további forrást lehet elosztani a jövőben

Példa Banker algoritmusára

Tegyük fel, hogy a következő erőforrásokkal rendelkezünk:

  • 5 tollmeghajtó
  • 2 nyomtató
  • 4 szkenner
  • 3 merevlemez

Itt létrehoztunk egy vektort, amely az összes erőforrást ábrázolja: Elérhető = (5, 2, 4, 3).

Tegyük fel, hogy négy folyamat van. A rendelkezésre álló erőforrások már fel vannak osztva az alábbi mátrix táblázat szerint.

Folyamat neve Pen Drives Nyomtató Scanner Merevlemez
P 2 0 1 1
Q 0 1 0 0
R 1 0 1 1
S 1 1 0 1
Teljes 4 2 2 3

Itt a kiosztott erőforrások az alábbi oszlopok összege:

Kiosztva = (4, 2, 2, 3).

Létrehozunk egy mátrixot is, amely megjeleníti az összes folyamathoz szükséges erőforrások számát. Ezt a mátrixot Need = (3,0,2,2) nevezzük

Folyamat neve Pen Drives Nyomtató Scanner Merevlemez
P 1 1 0 0
Q 0 1 1 2
R 2 1 0 0
S 0 0 1 0

A rendelkezésre álló vektor a következő lesz:

Elérhető = Elérhető- Kiosztva

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

= (1, 0, 2, 0)

Erőforrás-kérési algoritmus

Az erőforrás-kérési algoritmus lehetővé teszi a rendszer viselkedésének ábrázolását, amikor egy adott folyamat erőforrás-kérelmet nyújt be.

Engedje meg ezt a következő lépésekkel:

1. lépés: Ha az összes erőforrás összes kért példánya kisebb, mint a folyamat, lépjen a 2. lépésre.

2. lépés) Ha az egyes erőforrástípusok kért példánya kisebb az egyes típusok rendelkezésre álló erőforrásaihoz képest, akkor a következő lépésig feldolgozzuk. Ellenkező esetben a folyamatnak várnia kell a kellő erőforrások hiánya miatt.

3. lépés: Az erőforrás felosztása az alább megadott álkód szerint történik.

Available = Available - Request (y)Allocation(x) = Allocation(x) + Request(x)Need(x) = Need(x) - Request(x)

Ezt az utolsó lépést azért hajtják végre, mert a rendszernek feltételeznie kell, hogy az erőforrásokat elosztották. Annak érdekében, hogy az allokáció után kevesebb forrás álljon rendelkezésre.

A bankár algoritmus jellemzői

A bankár algoritmusának fontos jellemzői:

  • Tartson sok olyan erőforrást, amely megfelel legalább egy ügyfél követelményeinek
  • Amikor egy folyamat megkapja az összes erőforrását, korlátozott idő alatt vissza kell küldenie azokat.
  • Amikor egy folyamat erőforrást igényel, akkor várnia kell
  • A rendszer korlátozott számú erőforrással rendelkezik
  • Advance funkció a maximális erőforrás-elosztáshoz

A Banker algoritmusának hátránya

Itt vannak a bankár algoritmus használatának hátrányai / hátrányai

  • Nem engedi, hogy a folyamat a maximális igényét megváltoztassa a feldolgozás közben
  • Lehetővé teszi, hogy az összes kérelmet korlátozott időben teljesítsék, de egy év erre rögzített időszak.
  • Minden folyamatnak előre meg kell ismernie és meg kell határoznia a maximális erőforrásigényét.

Összegzés:

  • A bankár algoritmusát elsősorban a bankrendszerben használják a holtpont elkerülése érdekében. Segít azonosítani, hogy hitelt adnak-e vagy sem.
  • A bankár algoritmusaiban használt jelölések: 1) Elérhető 2) Max. 3) Elosztás 4) Szükséglet
  • Az erőforrás-kérési algoritmus lehetővé teszi a rendszer viselkedésének ábrázolását, amikor egy adott folyamat erőforrás-kérelmet nyújt be.
  • A Banker algoritmus sok olyan erőforrást megtart, amely kielégíti legalább egy ügyfél követelményét
  • A bankár algoritmusának ez a legnagyobb hátránya, hogy nem engedi, hogy a folyamat a maximális igényét megváltoztassa a feldolgozás közben.