Ajutor online ESET

Căutare Română
Selectaşi subiectul

Blocaj

Un blocaj este o situație în care fiecare proces de pe computer așteaptă o resursă atribuită unui alt proces. În această situație, niciunul dintre procese nu este executat, deoarece resursa necesară este deținută de un alt proces care așteaptă eliberarea unei alte resurse. Este important să preveniți un blocaj înainte ca acesta să poată apărea. Planificatorul de resurse (care ajută sistemul de operare să țină evidența tuturor resurselor alocate diferitelor procese) poate detecta apariția unui blocaj. Blocajul poate apărea dacă următoarele patru condiții sunt valabile simultan:

Nicio acțiune preventivă – O resursă poate fi eliberată doar în mod voluntar de către procesul care o deține, după ce acest proces a finalizat sarcina.

Excludere reciprocă – Un tip special de semafor binar utilizat pentru a controla accesul la resursa partajată. Acesta permite ca sarcinile curente cu prioritate mai mare să fie blocate pentru cât mai scurt timp posibil.

Ținere și așteptare - În această condiție, procesele trebuie oprite să dețină resurse unice sau multiple în timp ce așteaptă simultan una sau mai multe alte resurse.

Așteptare circulară - Impune o ordonare totală a tuturor tipurilor de resurse. Așteptarea circulară necesită, de asemenea, ca fiecare proces să solicite resurse în ordine crescătoare a enumerării.

 

Există trei modalități de a gestiona un blocaj:

Nu lăsați sistemul într-o stare de blocaj.

Lăsați blocajul să apară, apoi efectuați acțiunea de preempțiune pentru a gestiona blocajul atunci când a avut loc.

Dacă apare un blocaj, reporniți sistemul.