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.