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.

  • 🏦 Svrha: Izbjegava zastoj provjeravajući da alokacija resursa ostavlja sustav sigurnim.
  • 🔢 Četiri matrice: Dostupno, Maksimalno, Dodjela i Potreba trackorištenje resursa k.
  • 🧮 Sigurno stanje: Zahtjev se odobrava samo ako se svi procesi još uvijek mogu završiti.
  • 📋 Zahtjev: Svaki proces mora unaprijed deklarirati svoje maksimalne potrebe za resursima.
  • Korist: Osigurava da resursi zadovoljavaju barem jednog klijenta u bilo kojem trenutku.
  • ⚠️ Nedostatak: Procesi ne mogu mijenjati svoju maksimalnu potrebu tijekom izvođenja.

Bankarski algoritam u Operating sustav

Š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.

Pitanja i odgovori

Sigurno stanje je ono u kojem barem jedan redoslijed izvršavanja omogućuje svakom procesu da dobije maksimalne resurse i završi. Ako takav redoslijed ne postoji, stanje je nesigurno i može dovesti do zastoja.

Sprječavanje zastoja unaprijed uklanja jedan uvjet potreban za zastoj. Izbjegavanje zastoja, poput bankarskog algoritma, dopušta te uvjete, ali provjerava svaki zahtjev kako bi sustav bio siguran.

Ime je dobio po načinu na koji banka upravlja kreditima. Banka posuđuje novac samo ako i dalje može zadovoljiti svakog klijenta. Slično tome, algoritam dodjeljuje resurse samo ako se svi procesi i dalje mogu sigurno dovršiti.

Umjetna inteligencija može predvidjeti potražnju za resursima i otkriti rizične obrasce alokacije prije nego što uzrokuju zastoj. Može predložiti koje zahtjeve treba odgoditi, nadopunjujući Bankarov algoritam u složenim sustavima gdje je maksimalne potrebe teško predvidjeti.

Ne u potpunosti. Bankarski algoritam jamči siguran rezultat kada su poznate maksimalne potrebe. Umjetna inteligencija može poboljšati predviđanje i učinkovitost, ali najbolje funkcionira uz njega, a ne kao potpuna zamjena.

Sažmite ovu objavu uz: