Bankár algoritmusa be Operating rendszer [Példa]
⚡ Okos összefoglaló
A bankári algoritmus egy holtpont-elkerülő módszer, amely azt vizsgálja, hogy az erőforrások elosztása biztonságos állapotban tartja-e a rendszert. A banki algoritmusról elnevezett algoritmus csak akkor teljesíti a kérést, ha elegendő erőforrás áll rendelkezésre minden folyamat kielégítésére.

Mi a Banker algoritmusa?
Bankár algoritmusa elsősorban a bankrendszerben használják a elkerülése érdekében holtpont. 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 banknak X számú számlatulajdonosa van, és a számláikon lévő teljes összeg G.
Amikor a bank feldolgoz egy autóhitelt, a szoftverrendszer alrendszeretracA bank teljes pénzösszegéből (G + lekötött betét + havi jövedelemterv + arany stb.) a gépjárművásárlásra nyújtott hitel összege.
Csak akkor nyújtja az autóhitelt, ha a fennmaradó összeg továbbra is meghaladja a G-t, így minden számlatulajdonos bármikor felvehet G-t.
Bankár algoritmus jelölései
Íme néhány fontos jelölés, amelyet a Banker algoritmusában használnak:
- X: A rendszerben lévő folyamatok teljes számát jelzi.
- Y: A rendszerben lévő erőforrások teljes számát jelzi.
Elérhető
Az [1:Y] azt jelzi, hogy az egyes erőforrástípusok hány példánya érhető el.
max
[1:X, 1:Y]: Kifejezi a j típusú erőforrások maximális számát, amelyet az i-edik folyamat kérhet.
Kiosztás
[1:X, 1:Y]: Az i folyamat számára jelenleg lefoglalt j típusú erőforrásokat jelzi.
Szükség
Azt fejezi ki, hogy az egyes típusú folyamatokból hány további erőforrásra van még szükség a feladat végrehajtásához.
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 |
| Összeg | 4 | 2 | 2 | 3 |
Itt a lefoglalt erőforrások a következő 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 |
Az elérhető vektor a következő lesz:
Elérhető = Elérhető – Lefoglalt
= (5, 2, 4, 3) – (4, 2, 2, 3)
= (1, 0, 2, 0)
Erőforrás-igénylési algoritmus
Az erőforrás-kérelem algoritmus lehetővé teszi a rendszer viselkedésének ábrázolását, amikor egy adott folyamat erőforrás-kérést küld.
Értsük meg ezt a következő lépések segítségével:
Step 1) Ha az összes erőforrás kért példányainak száma kisebb, mint a folyamaté, folytassa a 2. lépéssel.
Step 2) Amikor az egyes erőforrástípusok kért példányainak száma kevesebb, mint az egyes típusok elérhető erőforrásainak száma, a feldolgozás a következő lépéssel folytatódik. Ellenkező esetben a folyamatnak várnia kell, mivel nem áll rendelkezésre elegendő erőforrás.
Step 3) Az erőforrás az alábbi pszeudokód szerint van lefoglalva.
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ások lefoglalásra kerültek, így a lefoglalás után kevesebb erőforrás áll rendelkezésre.
A bankár algoritmus jellemzői
Íme a banki algoritmus fontos jellemzői:
- Sok olyan erőforrást tárol, amelyek legalább egy kliens igényeit kielégítik.
- 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, előfordulhat, hogy várnia kell.
- A rendszer korlátozott számú erőforrással rendelkezik.
- Fejlett funkciót kínál a maximális erőforrás-elosztás érdekében.
A Banker algoritmus hátránya
Íme a bankár algoritmusának hátrányai/hátrányai:
- Ez nem engedi, hogy a folyamat feldolgozás közben megváltoztassa a maximális igényét.
- Lehetővé teszi, hogy minden kérést korlátozott időn belül teljesítsenek, de erre egy év egy rögzített időszak.
- Minden folyamatnak ismernie kell és előre meg kell adnia maximális erőforrásigényét.
