Bankarski algoritam u Operating sustav [primjer]
⚡ Pametni sažetak
Bankarski algoritam je metoda izbjegavanja zastoja koja testira održava li alokacija resursa sustav u sigurnom stanju. Nazvan po bankarstvu, odobrava zahtjev samo ako je ostalo dovoljno resursa za zadovoljavanje svakog procesa.
Što je bankarov algoritam?
Bankarski algoritam se uglavnom koristi u bankarskom sustavu kako bi se izbjeglo zastoj. Pomaže vam da utvrdite hoće li zajam biti dan ili ne.
Ovaj se algoritam koristi za testiranje sigurne simulacije dodjele za određivanje maksimalnog iznosa dostupnog za sve resurse. Također provjerava sve moguće aktivnosti prije nego što utvrdi treba li se dodjela nastaviti ili ne.
Na primjer, postoji X broj vlasnika računa određene banke, a ukupan iznos novca na njihovim računima je G.
Kada banka obrađuje auto kredit, softverski sustav podtracTo je iznos kredita odobrenog za kupnju automobila od ukupnog novca (G + Fiksni depozit + Mjesečni dohodak + Zlato itd.) koji banka ima.
Odobrava auto kredit samo ako preostali novac i dalje prelazi G, tako da svi vlasnici računa mogu podići G u bilo kojem trenutku.
Oznake bankovnog algoritma
Evo nekih važnih oznaka korištenih u Bankarovom algoritmu:
- X: Označava ukupan broj procesa u sustavu.
- Y: Označava ukupan broj resursa prisutnih u sustavu.
Dostupno
[1:Y] označava koliko je instanci svake vrste resursa dostupno.
maksimum
[1:X, 1:Y]: Izražava maksimalan broj resursa tipa j koje proces i može zatražiti.
namjena
[1:X, 1:Y]: Označava resurse tipa j trenutno dodijeljene procesu i.
Trebati
Izražava koliko još resursa svakog tipa procesa i još treba za dovršetak zadatka.
Primjer Bankerovog algoritma
Pretpostavimo da imamo sljedeće resurse:
- 5 Pen pogona
- 2 pisača
- 4 skenera
- 3 tvrda diska
Ovdje smo stvorili vektor koji predstavlja ukupne resurse: Dostupno = (5, 2, 4, 3).
Pretpostavimo da postoje četiri procesa. Dostupni resursi već su dodijeljeni prema tablici matrice u nastavku.
| Proces Ime | Pogonske olovke | Printer | Skener | tvrdi disk |
|---|---|---|---|---|
| P | 2 | 0 | 1 | 1 |
| Q | 0 | 1 | 0 | 0 |
| R | 1 | 0 | 1 | 1 |
| S | 1 | 1 | 0 | 1 |
| ukupno | 4 | 2 | 2 | 3 |
Ovdje su dodijeljeni resursi zbroj ovih stupaca:
Dodijeljeno = (4, 2, 2, 3).
Također stvaramo matricu za prikaz broja svakog resursa potrebnog za sve procese. Ova matrica se zove Trebati = (3, 0, 2, 2).
| Proces Ime | Pogonske olovke | Printer | Skener | tvrdi disk |
|---|---|---|---|---|
| P | 1 | 1 | 0 | 0 |
| Q | 0 | 1 | 1 | 2 |
| R | 2 | 1 | 0 | 0 |
| S | 0 | 0 | 1 | 0 |
Dostupan vektor će biti:
Dostupno = Dostupno – Dodijeljeno
= (5, 2, 4, 3) – (4, 2, 2, 3)
= (1, 0, 2, 0)
Algoritam zahtjeva za resurs
Algoritam zahtjeva za resursima omogućuje vam predstavljanje ponašanja sustava kada određeni proces zatraži resurs.
Razumijemo to sljedećim koracima:
Korak 1) Kada je ukupan broj traženih instanci svih resursa manji od broja procesa, prijeđite na korak 2.
Korak 2) Kada su tražene instance svake vrste resursa manje u usporedbi s dostupnim resursima svake vrste, bit će obrađeno do sljedećeg koraka. U suprotnom, proces mora pričekati zbog nedostupnosti dovoljnih resursa.
Korak 3) Resurs je dodijeljen kako je prikazano u donjem pseudokodu.
Available = Available – Request (y) Allocation(x) = Allocation(x) + Request(x) Need(x) = Need(x) - Request(x)
Ovaj posljednji korak se izvodi jer sustav treba pretpostaviti da su resursi dodijeljeni, tako da nakon dodjele ima manje dostupnih resursa.
Karakteristike Bankarovog algoritma
Evo važnih karakteristika bankarskog algoritma:
- Čuva mnogo resursa koji zadovoljavaju zahtjeve barem jednog klijenta.
- Kad god proces dobije sve svoje resurse, mora ih vratiti u ograničenom razdoblju.
- Kada proces zatraži resurs, možda će morati pričekati.
- Sustav ima ograničen broj resursa.
- Nudi naprednu značajku za maksimalnu alokaciju resursa.
Nedostatak Bankerovog algoritma
Evo nedostataka/nedostataka korištenja bankarskog algoritma:
- Ne dopušta procesu da mijenja svoju maksimalnu potrebu tijekom obrade.
- Omogućuje odobravanje svih zahtjeva u ograničenom roku, ali jedna godina je fiksni rok za to.
- Svi procesi moraju unaprijed znati i navesti svoje maksimalne potrebe za resursima.

