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.