Bankerjev algoritem v operacijskem sistemu (primer)

Kazalo:

Anonim

Kaj je Bankerjev algoritem?

Bankerjev algoritem se v glavnem uporablja v bančnem sistemu, da se prepreči zastoj. Pomaga vam ugotoviti, ali bo posojilo dano ali ne.

Ta algoritem se uporablja za preizkušanje varne simulacije dodelitve za določitev največje količine, ki je na voljo za vse vire. Prav tako preveri vse možne dejavnosti, preden ugotovi, ali je treba dodelitev nadaljevati ali ne.

Na primer, obstaja X število imetnikov računov določene banke, skupni znesek denarja na njihovih računih pa je G.

Ko banka obdela avtomobilsko posojilo, sistemski program odšteje znesek posojila, odobrenega za nakup avtomobila, od celotnega denarja (G + fiksni depozit + shema mesečnega dohodka + zlato itd.), Ki ga ima banka.

Preveri tudi, ali je razlika večja ali ne G. Avtomobilsko posojilo obdela samo, kadar ima banka dovolj denarja, tudi če vsi imetniki računov denar G istočasno dvignejo.

V tej vadnici o operacijskem sistemu boste izvedeli:

  • Kaj je Bankerjev algoritem?
  • Zapisi bankirjevega algoritma
  • Primer Bankerjevega algoritma
  • Značilnosti Bankerjevega algoritma
  • Pomanjkljivost Bankerjevega algoritma

Zapisi bankirjevega algoritma

Tu je pomemben zapis, ki se uporablja v Bankerjevem algoritmu:

  • X: Označuje skupno število procesov v sistemu.
  • Y: Označuje skupno število virov v sistemu.

Na voljo

[I: Y] označi, kateri vir je na voljo.

Maks

[l: X, l: Y]: izraz največjega števila virov tipa j ali procesa i

Dodelitev

[l: X, l: Y]. Navedite, kje v procesu ste prejeli vir vrste j

Potreba

Izrazite, koliko virov lahko dodelite v prihodnosti

Primer Bankerjevega algoritma

Predpostavimo, da imamo naslednje vire:

  • 5 pogoni pisala
  • 2 Tiskalniki
  • 4 Optični bralniki
  • 3 trdi diski

Tu smo ustvarili vektor, ki predstavlja skupne vire: Na voljo = (5, 2, 4, 3).

Predpostavimo, da obstajajo štirje procesi. Razpoložljivi viri so že dodeljeni v skladu s spodnjo matrično tabelo.

Ime procesa Pen pogoni Tiskalnik Optični bralnik Trdi disk
P 2. 0 1. 1.
Vprašanje 0 1. 0 0
R 1. 0 1. 1.
S 1. 1. 0 1.
Skupaj 4. 2. 2. 3.

Tu so dodeljeni viri vsota teh stolpcev:

Dodeljeno = (4, 2, 2, 3).

Ustvarimo tudi matrico za prikaz števila posameznih virov, potrebnih za vse procese. Ta matrika se imenuje Need = (3,0,2,2)

Ime procesa Pen pogoni Tiskalnik Optični bralnik Trdi disk
P 1. 1. 0 0
Vprašanje 0 1. 1. 2.
R 2. 1. 0 0
S 0 0 1. 0

Razpoložljivi vektor bo:

Na voljo = Na voljo- Dodeljeno

= (5, 2, 4, 3) - (4, 2, 2, 3)

= (1, 0, 2, 0)

Algoritem zahteve za vir

Algoritem zahteve za vir vam omogoča, da predstavite vedenje sistema, ko določen postopek poda zahtevo za vir.

Naj to razumemo z naslednjimi koraki:

1. korak) Ko je skupni zahtevani primerek vseh virov manjši od postopka, pojdite na 2. korak.

Korak 2) Ko je zahtevani primerek vsake vrste vira manjši od razpoložljivih virov posamezne vrste, bo obdelan do naslednjega koraka. V nasprotnem primeru mora postopek počakati, ker ni na voljo zadostnih virov.

Korak 3) Sredstva so dodeljena, kot je prikazano v spodnji psevdokodi.

Available = Available - Request (y)Allocation(x) = Allocation(x) + Request(x)Need(x) = Need(x) - Request(x)

Ta zadnji korak se izvede, ker mora sistem domnevati, da so bila sredstva dodeljena. Tako, da bi moralo biti po dodelitvi na voljo manj sredstev.

Značilnosti Bankerjevega algoritma

Tu so pomembne značilnosti algoritma bankirja:

  • Hranite veliko virov, ki izpolnjujejo zahteve vsaj ene stranke
  • Kadar koli proces dobi vse svoje vire, jih mora vrniti v omejenem obdobju.
  • Ko postopek zahteva vir, mora počakati
  • Sistem ima omejeno število virov
  • Vnaprejšnja funkcija za največjo dodelitev virov

Pomanjkljivost Bankerjevega algoritma

Tu so slabosti / slabosti uporabe algoritma bankirja

  • Ne dovoli, da postopek med obdelavo spremeni svojo največjo potrebo
  • Omogoča odobritev vseh prošenj v omejenem času, vendar je za to določeno eno leto.
  • Vsi procesi morajo vnaprej poznati in navesti svoje največje potrebe po virih.

Povzetek:

  • Bankerjev algoritem se v glavnem uporablja v bančnem sistemu, da se prepreči zastoj. Pomaga vam ugotoviti, ali bo posojilo dano ali ne.
  • Oznake, ki se uporabljajo v algoritmih bankirjev, so 1) na voljo 2) največ 3) dodelitev 4) potreba
  • Algoritem zahteve za vir vam omogoča, da predstavite vedenje sistema, ko določen postopek poda zahtevo za vir.
  • Bankerjev algoritem hrani veliko virov, ki izpolnjujejo zahteve vsaj ene stranke
  • Največja pomanjkljivost algoritma bankirja je ta, da procesu ne dovoli, da bi med obdelavo spremenil svojo največjo potrebo.