Algoritmul bancherului în sistemul de operare (exemplu)

Cuprins:

Anonim

Ce este algoritmul bancherului?

Algoritmul bancherului este utilizat în principal în sistemul bancar pentru a evita blocajul. Vă ajută să identificați dacă se va acorda sau nu un împrumut.

Acest algoritm este utilizat pentru a testa simularea în condiții de siguranță a alocării pentru determinarea cantității maxime disponibile pentru toate resursele. De asemenea, verifică toate activitățile posibile înainte de a stabili dacă alocarea trebuie continuată sau nu.

De exemplu, există un număr X de deținători de conturi ai unei anumite bănci, iar suma totală a banilor din conturile lor este G.

Când banca procesează un împrumut auto, sistemul software scade suma împrumutului acordat pentru achiziționarea unei mașini din totalul banilor (G + Depozit fix + Schemă lunară de venit + Aur etc.) pe care îl are banca.

De asemenea, verifică dacă diferența este mai mare sau nu G. Procesează împrumutul auto doar atunci când banca are suficienți bani, chiar dacă toți deținătorii de cont retrag banii G simultan.

În acest tutorial de sistem de operare, veți afla:

  • Ce este algoritmul bancherului?
  • Notări de algoritm bancar
  • Exemplu de algoritm al bancherului
  • Caracteristicile algoritmului bancherului
  • Dezavantajul algoritmului bancherului

Notări de algoritm bancar

Iată o notație importantă utilizată în algoritmul lui Banker:

  • X: Indică numărul total de procese ale sistemului.
  • Y: indică numărul total de resurse prezente în sistem.

Disponibil

[I: Y] indică ce resursă este disponibilă.

Max

[l: X, l: Y]: Exprimarea numărului maxim de resurse de tip j sau proces i

Alocare

[l: X, l: Y]. Indicați în ce proces ați primit o resursă de tip j

Nevoie

Exprimați câte resurse mai pot fi alocate în viitor

Exemplu de algoritm al bancherului

Să presupunem că avem următoarele resurse:

  • 5 Pen drive-uri
  • 2 Imprimante
  • 4 scanere
  • 3 Hard disk-uri

Aici, am creat un vector reprezentând resursele totale: Disponibil = (5, 2, 4, 3).

Să presupunem că există patru procese. Resursele disponibile sunt deja alocate conform tabelului matricial de mai jos.

Numele procesului Pen Drive Imprimantă Scanner Hard disk
P 2 0 1 1
Î 0 1 0 0
R 1 0 1 1
S 1 1 0 1
Total 4 2 2 3

Aici, resursele alocate reprezintă totalul acestor coloane:

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

De asemenea, creăm o Matrice pentru a afișa numărul fiecărei resurse necesare pentru toate procesele. Această matrice se numește Need = (3,0,2,2)

Numele procesului Pen Drive Imprimantă Scanner Hard disk
P 1 1 0 0
Î 0 1 1 2
R 2 1 0 0
S 0 0 1 0

Vectorul disponibil va fi:

Disponibil = Disponibil- Alocat

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

= (1, 0, 2, 0)

Algoritmul de solicitare a resurselor

Algoritmul de solicitare a resurselor vă permite să reprezentați comportamentul sistemului atunci când un anumit proces face o cerere de resursă.

Să înțelegem acest lucru prin următorii pași:

Pasul 1) Când o instanță totală solicitată din toate resursele este mai mică decât procesul, treceți la pasul 2.

Pasul 2) Când o instanță solicitată pentru fiecare tip de resursă este mai mică în comparație cu resursele disponibile pentru fiecare tip, va fi procesată la pasul următor. În caz contrar, procesul necesită așteptare din cauza indisponibilității resurselor suficiente.

Pasul 3) Resursa este alocată așa cum se arată în pseudocodul dat mai jos.

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

Acest pas final este realizat deoarece sistemul trebuie să presupună că resursele au fost alocate. Astfel încât să existe mai puține resurse disponibile după alocare.

Caracteristicile algoritmului bancherului

Iată câteva caracteristici importante ale algoritmului bancherului:

  • Păstrați multe resurse care satisfac cerințele a cel puțin unui client
  • Ori de câte ori un proces își obține toate resursele, trebuie să le returneze într-o perioadă restricționată.
  • Când un proces solicită o resursă, trebuie să aștepte
  • Sistemul are un număr limitat de resurse
  • Funcție avansată pentru alocarea maximă a resurselor

Dezavantajul algoritmului bancherului

Iată, dezavantaje / dezavantaje ale utilizării algoritmului bancherului

  • Nu permite procesului să-și schimbe nevoia maximă în timpul procesării
  • Permite acordarea tuturor cererilor în timp restricționat, dar un an este o perioadă fixă ​​pentru aceasta.
  • Toate procesele trebuie să cunoască și să precizeze în prealabil nevoile lor maxime de resurse.

Rezumat:

  • Algoritmul bancherului este utilizat în principal în sistemul bancar pentru a evita blocajul. Vă ajută să identificați dacă se va acorda sau nu un împrumut.
  • Notările utilizate în algoritmii bancherului sunt 1) Disponibil 2) Max 3) Alocare 4) Necesitate
  • Algoritmul de solicitare a resurselor vă permite să reprezentați comportamentul sistemului atunci când un anumit proces face o cerere de resursă.
  • Algoritmul bancherului păstrează multe resurse care satisfac cerințele a cel puțin unui client
  • Cel mai mare dezavantaj al algoritmului bancherului este că nu permite procesului să-și schimbe nevoia maximă în timpul procesării.