Bankár algoritmusa be Operating rendszer [Példa]

Mi a Banker algoritmusa?

Bankár algoritmusa főként a bankrendszerben használják a holtpont elkerülése érdekében. Segít eldönteni, hogy adnak-e kölcsönt vagy sem.

Ezzel az algoritmussal tesztelik az allokáció biztonságos szimulációját 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 eldönti, hogy az allokációt folytatni kell-e vagy sem.

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

Amikor a bank lebonyolítja az autóhitelt, a szoftverrendszer levonja az autóvásárláshoz nyújtott hitel összegét a bank rendelkezésére álló teljes pénzösszegből (G+ Lekötött betét + Havi jövedelemprogram + Arany stb.).

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

Bankár algoritmus jelölései

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

  • X: A rendszer folyamatainak teljes számát jelzi.
  • Y: A rendszerben lévő erőforrások teljes számát jelzi.

Elérhető

[I: Y] jelzi, hogy melyik erőforrás áll rendelkezésre.

max

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

Kiosztás

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

Szükség

Adja meg, hogy mennyi további erőforrást lehet kiosztani a jövőben

Példa a Banker algoritmusra

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

  • 5 Pendrive
  • 2 nyomtató
  • 4 Szkenner
  • 3 merevlemez

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

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

Folyamat neve Tollhajtók Nyomtató Scanner merevlemez
P 2 0 1 1
Q 0 1 0 0
R 1 0 1 1
S 1 1 0 1
Összkomfort 4 2 2 3

Itt az allokált erőforrások az alábbi oszlopok összege:

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

Létrehozunk egy Mátrixot is, amely megjeleníti az egyes folyamatokhoz szükséges erőforrások számát. Ezt a mátrixot ún Szükség=(3,0,2,2)

Folyamat neve Tollhajtók 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-igénylési algoritmus

Az erőforráskérés algoritmusa lehetővé teszi a rendszer viselkedésének ábrázolását, amikor egy adott folyamat erőforráskérést ad.

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

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

Step 2) Ha minden egyes erőforrástípus kért példánya kisebb az egyes típusok rendelkezésre álló erőforrásaihoz képest, akkor az a következő lépésben kerül feldolgozásra. Ellenkező esetben a folyamat várakozást igényel, mert nem áll rendelkezésre elegendő erőforrás.

Step 3) Az erőforrások kiosztása az alábbi pszeudokó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 lefoglalták. Hogy az allokáció után kevesebb forrás álljon rendelkezésre.

A bankár algoritmus jellemzői

Íme a bankár algoritmus fontos jellemzői:

  • Tartson sok olyan erőforrást, amely kielégíti legalább egy ügyfél követelményeit
  • Amikor egy folyamat megkapja az összes erőforrást, korlátozott időn belül vissza kell adnia azokat.
  • Amikor egy folyamat erőforrást kér, várnia kell
  • A rendszer korlátozott számú erőforrással rendelkezik
  • Haladó funkció a maximális erőforrás-elosztáshoz

A Banker algoritmus hátránya

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

  • Nem engedi, hogy a folyamat a feldolgozás során megváltoztassa a maximális igényét
  • Lehetővé teszi, hogy minden kérelmet korlátozott időn belül teljesítsenek, de ehhez egy év határozott idő.
  • Minden folyamatnak ismernie kell és előre meg kell adnia maximális erőforrásigényét.

Összegzésként

  • A bankár algoritmusát elsősorban a bankrendszerben használják, hogy elkerüljék holtpont. Segít eldönteni, hogy adnak-e kölcsönt vagy sem.
  • A bankár algoritmusaiban használt jelölések a következők: 1) Elérhető 2) Max. 3) Kiosztás 4) Szükséges
  • Az erőforráskérés algoritmusa lehetővé teszi a rendszer viselkedésének ábrázolását, amikor egy adott folyamat erőforráskérést ad.
  • A Banker algoritmusa sok olyan erőforrást tart meg, amely legalább egy ügyfél igényét kielégíti
  • A bankár algoritmus legnagyobb hátránya, hogy nem teszi lehetővé a folyamatnak, hogy a feldolgozás során megváltoztassa a maximális igényét.

Napi Guru99 hírlevél

Kezdje a napját a legfrissebb és legfontosabb mesterséges intelligenciával kapcsolatos hírekkel, amelyeket azonnal kézbesítünk.