logo

Algoritme del banquer al sistema operatiu (SO)

És un algorisme de banquer utilitzat evitar el bloqueig i assignar recursos de manera segura a cada procés del sistema informàtic. el ' Estat S' examina totes les proves o activitats possibles abans de decidir si s'ha de permetre l'assignació a cada procés. També ajuda el sistema operatiu a compartir amb èxit els recursos entre tots els processos. L'algorisme del banquer s'anomena perquè verifica si una persona ha de ser sancionada per un préstec o no per ajudar el sistema bancari a simular de manera segura els recursos d'assignació. En aquesta secció, aprendrem el Algoritme del banquer en detall. A més, resoldrem problemes basats en el Algoritme del banquer . Per entendre primer l'algoritme del banquer, veurem un exemple de paraula real.

Suposem que el nombre de titulars de comptes en un banc concret és 'n' i que el total de diners en un banc és 'T'. Si el titular del compte sol·licita un préstec; primer, el banc resta l'import del préstec de l'efectiu total i després estima que la diferència d'efectiu és superior a T per aprovar l'import del préstec. Aquests passos es prenen perquè si una altra persona sol·licita un préstec o retira alguna quantitat del banc, ajuda el banc a gestionar i operar totes les coses sense cap restricció en la funcionalitat del sistema bancari.

De la mateixa manera, funciona en un sistema operatiu . Quan es crea un nou procés en un sistema informàtic, el procés ha de proporcionar tot tipus d'informació al sistema operatiu com els propers processos, les sol·licituds dels seus recursos, el seu recompte i els retards. A partir d'aquests criteris, el sistema operatiu decideix quina seqüència de procés s'ha d'executar o esperar perquè no es produeixi cap bloqueig en un sistema. Per tant, també es coneix com algorisme d'evitació de bloqueig o detecció de bloqueig en el sistema operatiu.

Avantatges

A continuació es mostren les característiques essencials de l'algorisme de Banker:

  1. Conté diversos recursos que compleixen els requisits de cada procés.
  2. Cada procés hauria de proporcionar informació al sistema operatiu per a les properes sol·licituds de recursos, el nombre de recursos i quant de temps es mantindran els recursos.
  3. Ajuda al sistema operatiu a gestionar i controlar les sol·licituds de procés per a cada tipus de recurs del sistema informàtic.
  4. L'algorisme té un atribut de recursos màxim que indica que cada procés pot contenir el nombre màxim de recursos en un sistema.

Desavantatges

  1. Requereix un nombre fix de processos i no es poden iniciar processos addicionals al sistema mentre s'executa el procés.
  2. L'algorisme ja no permet que els processos intercanviïn les seves màximes necessitats mentre processen les seves tasques.
  3. Cada procés ha de conèixer i indicar amb antelació el seu màxim de recursos necessaris per al sistema.
  4. El nombre de sol·licituds de recursos es pot atorgar en un temps finit, però el límit de temps per assignar els recursos és d'un any.

Quan es treballa amb l'algorisme d'un banquer, demana saber sobre tres coses:

  1. Quant pot demanar cada procés per a cada recurs del sistema. Es denota per [ MAX ] petició.
  2. Quant té cada procés actualment cada recurs en un sistema. Es denota per [ ASIGNAT ] recurs.
  3. Representa el nombre de cada recurs disponible actualment al sistema. Es denota per [ DISPONIBLE ] recurs.

A continuació es mostren els termes importants d'estructures de dades aplicats a l'algorisme del banquer de la següent manera:

Suposem que n és el nombre de processos i m és el nombre de cada tipus de recurs utilitzat en un sistema informàtic.

    Disponible: és una matriu de longitud 'm' que defineix cada tipus de recurs disponible al sistema. Quan Disponible[j] = K, significa que 'K' instàncies de tipus de recursos R[j] estan disponibles al sistema.Màxim:És una matriu [n x m] que indica que cada procés P[i] pot emmagatzemar el màxim nombre de recursos R[j] (cada tipus) en un sistema.Assignació:És una matriu de m x n ordres que indica el tipus de recursos assignats actualment a cada procés del sistema. Quan l'assignació [i, j] = K, vol dir que el procés P[i] té actualment assignades K instàncies de tipus de recursos R[j] al sistema.Necessitat:És una seqüència matricial M x N que representa el nombre de recursos restants per a cada procés. Quan Need[i] [j] = k, el procés P[i] pot requerir K més instàncies de recursos tipus Rj per completar el treball assignat.
    Nedd[i][j] = Max[i][j] - Assignació[i][j].Acabar: És el vector de l'ordre m . Inclou un valor booleà (true/false) que indica si el procés s'ha assignat als recursos sol·licitats i tots els recursos s'han alliberat després d'acabar la seva tasca.

L'algoritme del banquer és la combinació de l'algoritme de seguretat i l'algoritme de sol·licitud de recursos per controlar els processos i evitar el bloqueig en un sistema:

quants zero per un milió

Algorisme de seguretat

És un algorisme de seguretat que s'utilitza per comprovar si un sistema està o no en un estat segur o segueix la seqüència segura de l'algorisme d'un banquer:

1. Hi ha dos vectors Wok i Acabar de longitud m i n en un algorisme de seguretat.

Inicialitzar: Treball = Disponible
Acabar[i] = fals; per I = 0, 1, 2, 3, 4... n - 1.

2. Comproveu l'estat de disponibilitat de cada tipus de recursos [i], com ara:

Necessito [i]<= work
Acabat[i] == fals
Si la i no existeix, aneu al pas 4.

3. Treball = Treball + Assignació(i) // per obtenir una nova assignació de recursos

Acabat[i] = cert

Aneu al pas 2 per comprovar l'estat de la disponibilitat dels recursos per al següent procés.

4. Si Acabat[i] == cert; vol dir que el sistema és segur per a tots els processos.

Algoritme de sol·licitud de recursos

Un algorisme de sol·licitud de recursos comprova com es comportarà un sistema quan un procés faci cada tipus de sol·licitud de recurs en un sistema com a matriu de sol·licitud.

Creem una matriu de sol·licitud de recursos R[i] per a cada procés P[i]. Si la sol·licitud de recursi[j] igual a 'K', el que significa que el procés P[i] requereix 'k' instàncies de tipus de recursos R[j] al sistema.

1. Quan el nombre de recursos sol·licitats de cada tipus és menor que el Necessitat recursos, aneu al pas 2 i si la condició falla, el que significa que el procés P[i] supera la seva reclamació màxima per al recurs. Com suggereix l'expressió:

Si sol·licita (i)<= need
Aneu al pas 2;

2. I quan el nombre de recursos sol·licitats de cada tipus sigui inferior al recurs disponible per a cada procés, aneu al pas (3). Com suggereix l'expressió:

Si sol·licita (i)<= available
En cas contrari, el procés P[i] ha d'esperar el recurs ja que no està disponible per utilitzar-lo.

3. Quan el recurs sol·licitat s'assigna al procés canviant d'estat:

edat de shilpa shetty

Disponible = Disponible - Sol·licitud
Assignació (i) = Assignació (i) + Sol·licitud (i)
Necessitati= Necessitati- Sol·licitudi

Quan l'estat d'assignació de recursos és segur, els seus recursos s'assignen al procés P(i). I si el nou estat no és segur, el procés P (i) ha d'esperar cada tipus de sol·licitud R(i) i restaurar l'antic estat d'assignació de recursos.

Exemple: Considereu un sistema que conté cinc processos P1, P2, P3, P4, P5 i els tres tipus de recursos A, B i C. A continuació es mostren els tipus de recursos: A en té 10, B en té 5 i el tipus de recurs C té 7 instàncies.

Procés Assignació
A B C
Màx
A B C
Disponible
A B C
P1 0 1 0 7 5 3 3 3 2
P2 2 0 0 3 2 2
P3 3 0 2 9 0 2
P4 2 1 1 2 2 2
P5 0 0 2 4 3 3

Respon les preguntes següents utilitzant l'algorisme del banquer:

  1. Quina és la referència de la matriu de necessitats?
  2. Determineu si el sistema és segur o no.
  3. Què passarà si la sol·licitud de recurs (1, 0, 0) per al procés P1 pot el sistema acceptar aquesta sol·licitud immediatament?

Anys. 2: El context de la matriu de necessitats és el següent:

Necessitat [i] = Màx. [i] - Assignació [i]
Necessitat de P1: (7, 5, 3) - (0, 1, 0) = 7, 4, 3
Necessitat de P2: (3, 2, 2) - (2, 0, 0) = 1, 2, 2
Necessitat de P3: (9, 0, 2) - (3, 0, 2) = 6, 0, 0
Necessitat de P4: (2, 2, 2) - (2, 1, 1) = 0, 1, 1
Necessitat de P5: (4, 3, 3) - (0, 0, 2) = 4, 3, 1

Procés Necessitat
A B C
P1 7 4 3
P2 1 2 2
P3 6 0 0
P4 0 1 1
P5 4 3 1

Per tant, hem creat el context de la matriu de necessitats.

Ans. 2: Apliqueu l'algoritme del banquer:

Els recursos disponibles d'A, B i C són 3, 3 i 2.

Ara comprovem si cada tipus de sol·licitud de recurs està disponible per a cada procés.

Pas 1: Per al procés P1:

Necessitat<= available< p>

7, 4, 3<= 2 3, condition is fals .

Així doncs, examinem un altre procés, P2.

Pas 2: Per al procés P2:

Necessitat<= available< p>

1, 2, 2<= 2 3, condition veritat

Nou disponible = disponible + Assignació

matriu de làtex

(3, 3, 2) + (2, 0, 0) => 5, 3, 2

De la mateixa manera, examinem un altre procés P3.

Pas 3: Per al procés P3:

P3 Necessitat<= available< p>

6, 0, 0<= 2 5, 3, condition is fals .

De la mateixa manera, examinem un altre procés, P4.

Pas 4: Per al procés P4:

P4 Necessitat<= available< p>

0, 1, 1<= 2 5, 3, condition is veritat

Nou recurs disponible = Disponible + Assignació

5, 3, 2 + 2, 1, 1 => 7, 4, 3

De la mateixa manera, examinem un altre procés P5.

Pas 5: Per al procés P5:

P5 Necessitat<= available< p>

4, 3, 1<= 3 7, 4, condition is veritat

Nou recurs disponible = Disponible + Assignació

7, 4, 3 + 0, 0, 2 => 7, 4, 5

Ara, tornem a examinar cada tipus de sol·licitud de recursos per als processos P1 i P3.

Pas 6: Per al procés P1:

P1 Necessitat<= available< p>

7, 4, 3<= 5 7, 4, condition is veritat

Nou recurs disponible = Disponible + Assignació

7, 4, 5 + 0, 1, 0 => 7, 5, 5

Així doncs, examinem un altre procés P2.

Pas 7: Per al procés P3:

P3 Necessitat<= available< p>

6, 0, 0<= 5 7, 5, condition is true< p>

Nou recurs disponible = Disponible + Assignació

7, 5, 5 + 3, 0, 2 => 10, 5, 7

Per tant, executem l'algorisme del banquer per trobar l'estat segur i la seqüència segura com P2, P4, P5, P1 i P3.

Anys. 3: Per concedir la sol·licitud (1, 0, 2), primer hem de comprovar-ho Sol·licitud<= available< strong>, és a dir (1, 0, 2)<= (3, 3, 2), since the condition is true. so process p1 gets request immediately.< p>


cadena a nombre enter