Co je Banker's Algorithm?
Banker's Algorithm se používá hlavně v bankovním systému, aby se zabránilo zablokování. Pomůže vám zjistit, zda bude půjčka poskytnuta, či nikoli.
Tento algoritmus se používá k testování bezpečné simulace alokace pro určení maximální dostupné částky pro všechny zdroje. Rovněž kontroluje všechny možné činnosti před určením, zda by mělo pokračovat přidělování nebo ne.
Například existuje X počet majitelů účtů konkrétní banky a celková částka peněz na jejich účtech je G.
Když banka zpracovává půjčku na auto, softwarový systém odečte částku půjčky poskytnuté na nákup automobilu od celkových peněz (G + Fixní vklad + Schéma měsíčního příjmu + Zlato atd.), Které banka má.
Rovněž kontroluje, zda je rozdíl větší než G. Zpracovává půjčku na auto pouze tehdy, když má banka dostatek peněz, i když všichni majitelé účtu peníze G vyberou současně.
V tomto kurzu operačního systému se naučíte:
- Co je Banker's Algorithm?
- Oznámení o bankéřově algoritmu
- Příklad Bankerova algoritmu
- Charakteristika bankéřova algoritmu
- Nevýhoda Bankerova algoritmu
Oznámení o bankéřově algoritmu
Zde je důležitá notace použitá v Bankerově algoritmu:
- X: Udává celkový počet procesů systému.
- Y: Udává celkový počet zdrojů přítomných v systému.
K dispozici
[I: Y] uveďte, který zdroj je k dispozici.
Max
[l: X, l: Y]: Vyjádření maximálního počtu zdrojů typu j nebo procesu i
Přidělení
[l: X, l: Y]. Uveďte, kde jste obdrželi zdroj typu j
Potřeba
Vyjádřete, kolik dalších zdrojů lze v budoucnu přidělit
Příklad Bankerova algoritmu
Předpokládejme, že máme následující zdroje:
- 5 jednotek pera
- 2 Tiskárny
- 4 skenery
- 3 pevné disky
Zde jsme vytvořili vektor představující celkové zdroje: Available = (5, 2, 4, 3).
Předpokládejme, že existují čtyři procesy. Dostupné zdroje jsou již přiděleny podle níže uvedené maticové tabulky.
Název procesu | Pohony pera | Tiskárna | Skener | Pevný disk |
---|---|---|---|---|
P | 2 | 0 | 1 | 1 |
Q | 0 | 1 | 0 | 0 |
R | 1 | 0 | 1 | 1 |
S | 1 | 1 | 0 | 1 |
Celkový | 4 | 2 | 2 | 3 |
Zde jsou přidělené prostředky součtem těchto sloupců:
Přidělené = (4, 2, 2, 3).
Vytváříme také matici, která zobrazuje počet jednotlivých zdrojů požadovaný pro všechny procesy. Tato matice se nazývá Need = (3,0,2,2)
Název procesu | Pohony pera | Tiskárna | Skener | Pevný disk |
---|---|---|---|---|
P | 1 | 1 | 0 | 0 |
Q | 0 | 1 | 1 | 2 |
R | 2 | 1 | 0 | 0 |
S | 0 | 0 | 1 | 0 |
K dispozici bude vektor:
Dostupné = Dostupné - Přidělené
= (5, 2, 4, 3) - (4, 2, 2, 3)
= (1, 0, 2, 0)
Algoritmus požadavku na zdroj
Algoritmus požadavku na prostředek vám umožňuje reprezentovat chování systému, když určitý proces provede požadavek na prostředek.
Pochopte to pomocí následujících kroků:
Krok 1) Pokud je celková požadovaná instance všech zdrojů menší než proces, přejděte ke kroku 2.
Krok 2) Když je požadovaná instance každého typu prostředku menší než dostupné zdroje každého typu, bude zpracována do dalšího kroku. V opačném případě proces vyžaduje čekání z důvodu nedostupnosti dostatečných prostředků.
Krok 3) Zdroj je přidělen, jak je znázorněno v níže uvedeném pseudokódu.
Available = Available - Request (y)Allocation(x) = Allocation(x) + Request(x)Need(x) = Need(x) - Request(x)
Tento poslední krok se provádí, protože systém musí předpokládat, že byly přiděleny zdroje. Aby po přidělení mělo být k dispozici méně zdrojů.
Charakteristika bankéřova algoritmu
Zde jsou důležité charakteristiky bankéřova algoritmu:
- Udržujte mnoho zdrojů, které splňují požadavky alespoň jednoho klienta
- Kdykoli proces získá všechny své zdroje, musí je v omezeném období vrátit.
- Když proces požaduje zdroj, musí počkat
- Systém má omezený počet zdrojů
- Funkce Advance pro maximální alokaci zdrojů
Nevýhoda Bankerova algoritmu
Zde jsou nevýhody / nevýhody používání bankéřova algoritmu
- Nedovoluje, aby proces během zpracování změnil svoji maximální potřebu
- Umožňuje vyhovět všem požadavkům v omezeném čase, ale jeden rok je pevně stanoveným obdobím.
- Všechny procesy musí předem znát a uvádět své maximální potřeby zdrojů.
Souhrn:
- Bankéřův algoritmus se používá hlavně v bankovním systému, aby se zabránilo zablokování. Pomůže vám zjistit, zda bude půjčka poskytnuta, či nikoli.
- Poznámky používané v algoritmech bankéře jsou 1) Dostupné 2) Max 3) Přidělení 4) Potřeba
- Algoritmus požadavku na prostředek vám umožňuje reprezentovat chování systému, když určitý proces provede požadavek na prostředek.
- Bankéřův algoritmus uchovává mnoho zdrojů, které uspokojí požadavek alespoň jednoho klienta
- Největší nevýhodou bankéřova algoritmu je to, že neumožňuje procesu změnit jeho maximální potřebu při zpracování.