Čo je to Banker's Algorithm?
Bankerov algoritmus sa používa hlavne v bankovom systéme, aby sa zabránilo zablokovaniu. Pomôže vám to zistiť, či bude pôžička poskytnutá alebo nie.
Tento algoritmus sa používa na testovanie bezpečnej simulácie alokácie na určenie maximálneho množstva dostupného pre všetky zdroje. Pred rozhodnutím, či má alokácia pokračovať alebo nie, tiež kontroluje všetky možné činnosti.
Napríklad existuje X počet majiteľov účtov konkrétnej banky a celková suma peňazí na ich účtoch je G.
Keď banka spracuje pôžičku na auto, softvérový systém odpočíta sumu pôžičky poskytnutej na kúpu automobilu od celkových peňazí (G + pevný vklad + schéma mesačného príjmu + zlato atď.), Ktoré banka má.
Tiež kontroluje, či je rozdiel väčší alebo menší. G) Pôžičku na auto spracuje iba vtedy, keď má banka dostatok peňazí, aj keď všetci majitelia účtu peniaze G vyberú súčasne.
V tomto výučbe operačného systému sa dozviete:
- Čo je to Banker's Algorithm?
- Poznámky bankového algoritmu
- Príklad Bankerovho algoritmu
- Charakteristika bankárskeho algoritmu
- Nevýhoda Bankerovho algoritmu
Poznámky bankového algoritmu
Tu je dôležitá notácia použitá v Bankerovom algoritme:
- X: Udáva celkový počet procesov v systéme.
- Y: Označuje celkový počet zdrojov nachádzajúcich sa v systéme.
K dispozícii
[I: Y] označuje, ktorý zdroj je k dispozícii.
Max
[l: X, l: Y]: Vyjadrenie maximálneho počtu zdrojov typu j alebo procesu i
Pridelenie
[l: X, l: Y]. Uveďte, kam ste dostali zdroj typu j
Potrebujem
Vyjadrite, koľko ďalších zdrojov je možné v budúcnosti prideliť
Príklad Bankerovho algoritmu
Predpokladajme, že máme nasledujúce zdroje:
- 5 diskov Pen
- 2 Tlačiarne
- 4 skenery
- 3 pevné disky
Tu sme vytvorili vektor predstavujúci celkové zdroje: Available = (5, 2, 4, 3).
Predpokladajme, že existujú štyri procesy. Dostupné zdroje sú už pridelené podľa tabuľky matíc uvedenej nižšie.
Názov procesu | Pero disky | Tlačiareň | Skener | Pevný disk |
---|---|---|---|---|
P | 2 | 0 | 1 | 1 |
Q | 0 | 1 | 0 | 0 |
R | 1 | 0 | 1 | 1 |
S | 1 | 1 | 0 | 1 |
Celkom | 4 | 2 | 2 | 3 |
Tu sú pridelené zdroje súčtom týchto stĺpcov:
Pridelené = (4, 2, 2, 3).
Tiež vytvárame Maticu na zobrazenie počtu jednotlivých zdrojov potrebných pre všetky procesy. Táto matica sa volá Need = (3,0,2,2)
Názov procesu | Pero disky | Tlačiareň | Skener | Pevný disk |
---|---|---|---|---|
P | 1 | 1 | 0 | 0 |
Q | 0 | 1 | 1 | 2 |
R | 2 | 1 | 0 | 0 |
S | 0 | 0 | 1 | 0 |
K dispozícii bude vektor:
K dispozícii = K dispozícii - Pridelené
= (5, 2, 4, 3) - (4, 2, 2, 3)
= (1, 0, 2, 0)
Algoritmus požiadavky na zdroj
Algoritmus požiadavky na zdroj vám umožňuje reprezentovať správanie systému, keď konkrétny proces urobí požiadavku na zdroj.
Pochopte to podľa nasledujúcich krokov:
Krok 1) Ak je celková požadovaná inštancia všetkých zdrojov menšia ako proces, prejdite na krok 2.
Krok 2) Keď je požadovaná inštancia každého typu zdroja menšia v porovnaní s dostupnými prostriedkami každého typu, bude spracovaná do ďalšieho kroku. V opačnom prípade si proces vyžaduje čakanie z dôvodu nedostupnosti dostatočných zdrojov.
Krok 3) Zdroj je pridelený tak, ako je to znázornené v nižšie uvedenom pseudokóde.
Available = Available - Request (y)Allocation(x) = Allocation(x) + Request(x)Need(x) = Need(x) - Request(x)
Tento posledný krok sa vykonáva, pretože systém musí predpokladať, že boli pridelené zdroje. Aby po pridelení malo byť k dispozícii menej zdrojov.
Charakteristika bankárskeho algoritmu
Tu sú dôležité charakteristiky bankárovho algoritmu:
- Udržujte veľa zdrojov, ktoré uspokoja požiadavky aspoň jedného klienta
- Kedykoľvek proces získa všetky svoje zdroje, musí ich v obmedzenom období vrátiť.
- Keď proces požaduje zdroj, musí čakať
- Systém má obmedzený počet zdrojov
- Funkcia Advance pre maximálnu alokáciu zdrojov
Nevýhoda Bankerovho algoritmu
Tu sú nevýhody / nevýhody používania bankového algoritmu
- Neumožňuje procesu zmeniť svoju maximálnu potrebu počas spracovania
- Umožňuje vyhovieť všetkým požiadavkám v obmedzenom čase, avšak jeden rok je pevne stanoveným obdobím.
- Všetky procesy musia vopred poznať a uviesť svoje maximálne potreby zdrojov.
Zhrnutie:
- Bankárov algoritmus sa používa hlavne v bankovom systéme, aby sa zabránilo zablokovaniu. Pomôže vám to zistiť, či bude pôžička poskytnutá alebo nie.
- Poznámky používané v bankových algoritmoch sú 1) Dostupné 2) Max 3) Pridelenie 4) Potreba
- Algoritmus požiadavky na zdroj vám umožňuje reprezentovať správanie systému, keď konkrétny proces urobí požiadavku na zdroj.
- Bankárov algoritmus uchováva veľa zdrojov, ktoré uspokoja požiadavky aspoň jedného klienta
- Najväčšou nevýhodou bankárovho algoritmu je to, že neumožňuje procesu zmeniť jeho maximálnu potrebu počas spracovania.