Bankarski algoritam u Operating sustav [primjer]
Što je bankarov algoritam?
Bankarski algoritam uglavnom se koristi u bankarskom sustavu kako bi se izbjegao 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, ima X vlasnika računa određene banke, a ukupan iznos novca na njihovim računima je G.
Kada banka obrađuje kredit za automobil, softverski sustav oduzima iznos kredita odobren za kupnju automobila od ukupnog novca (G+ oročeni depozit + shema mjesečnih prihoda + zlato itd.) kojim banka raspolaže.
Također provjerava je li razlika veća od G. Kredit za automobil obrađuje samo kada banka ima dovoljno novca, čak i ako svi vlasnici računa podignu novac G istovremeno.
Oznake bankovnog algoritma
Evo važne oznake koja se koristi u Bankerovom algoritmu:
- X: Označava ukupan broj procesa sustava.
- Y: Označava ukupan broj resursa prisutnih u sustavu.
Dostupno
[I: Y] označava koji je resurs dostupan.
maksimum
[l:X,l:Y]: Izraz maksimalnog broja resursa tipa j ili procesa i
namjena
[l:X,l:Y]. Označite u kojem procesu ste primili resurs tipa j
Trebati
Izrazite koliko se još resursa može dodijeliti u budućnosti
Primjer Bankerovog algoritma
Pretpostavimo da imamo sljedeće resurse:
- 5 Pen pogona
- 2 pisača
- 4 skenera
- 3 Tvrdi diskovi
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 |
Dostupni 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 resursom omogućuje vam da predstavite ponašanje sustava kada određeni proces postavi zahtjev za resurs.
Razumijemo ovo pomoću sljedećih koraka:
Korak 1) Kada je ukupna tražena instanca svih resursa manja od procesa, prijeđite na korak 2.
Korak 2) Kada je tražena instanca svake pojedine vrste resursa manja u usporedbi s dostupnim resursima svake vrste, bit će obrađena na sljedeći korak. U suprotnom, proces zahtijeva čekanje zbog nedostupnosti dovoljnih resursa.
Korak 3) Resursi se dodjeljuju kao što je prikazano u donjem pseudokodu.
Available = Available – Request (y) Allocation(x) = Allocation(x) + Request(x) Need(x) = Need(x) - Request(x)
Ovaj posljednji korak izvodi se jer sustav treba pretpostaviti da su resursi dodijeljeni. Tako da bi trebalo biti manje dostupnih resursa nakon dodjele.
Karakteristike Bankarovog algoritma
Evo važnih karakteristika bankarovog algoritma:
- Držite mnoge resurse 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, mora pričekati
- Sustav ima ograničen broj resursa
- Napredna značajka za maksimalnu raspodjelu resursa
Nedostatak Bankerovog algoritma
Ovdje su mane/nedostaci korištenja bankarskog algoritma
- Ne dopušta procesu promjenu svoje maksimalne potrebe tijekom obrade
- Omogućuje da se svi zahtjevi udovolje u ograničenom vremenu, ali za to je godinu dana fiksno razdoblje.
- Svi procesi moraju unaprijed znati i navesti svoje maksimalne potrebe za resursima.
rezime
- Bankarski algoritam uglavnom se koristi u bankarskom sustavu kako bi se izbjeglo zastoj. Pomaže vam da utvrdite hoće li zajam biti dan ili ne.
- Oznake koje se koriste u algoritmima bankara su 1) dostupno 2) maksimalno 3) raspodjela 4) potreba
- Algoritam zahtjeva za resursom omogućuje vam da predstavite ponašanje sustava kada određeni proces postavi zahtjev za resurs.
- Bankarski algoritam čuva mnoge resurse koji zadovoljavaju zahtjeve barem jednog klijenta
- Najveći nedostatak bankarovog algoritma je taj što ne dopušta procesu da promijeni svoju maksimalnu potrebu tijekom obrade.