Diferența cheie: Blocajul se referă la situația în care procesele sunt blocate în cercurile de așteptare pentru resurse. Pe de altă parte, foametea apare atunci când un proces așteaptă o resursă pe termen nelimitat. Blocajul implică înfometare, dar foametea nu implică blocaj.
Un exemplu simplu este un sistem cu două unități de bandă, iar două procese ocupă fiecare câte o unitate de bandă și așteaptă cealaltă ca cerință de a continua.
Este important să menționăm că situația blocajului ocluziei în cazul în care aceste patru condiții se aplică tuturor simultan -
- Excluderea mutuală - o resursă poate fi utilizată numai de un proces la un moment dat
- Țineți și așteptați - un proces care ocupă cel puțin o resursă trebuie să achiziționeze o resursă suplimentară care este ocupată de un alt proces și, prin urmare, acest proces așteaptă eliberarea acestei resurse
- Nicio resursă preemovătoare nu este eliberată decât de procesul care la ocupat, după îndeplinirea sarcinii sale.
- Circulară așteptați - toate procesele din seturi așteaptă o resursă care este susținută de alte procese, care include chiar și ultimul proces din set.
Se întâmplă ca un proces de prioritate mai rău nevers devine resursă datorită unui flux constant de procese de o prioritate mai bună decât acesta și, prin urmare, procesul ar putea să trebuiască să aștepte pentru totdeauna. Soluția pentru tratarea foametei este de a se asigura că un manager independent trebuie să gestioneze alocările de resurse, asigurând că fiecare proces devine resursa la un moment dat. Alegerea selectivă sau necontrolată trebuie evitată pentru a preveni foametea. Blocajul presupune foametea, dar foametea nu implică blocaj.
Prin urmare, impasul și înfometarea diferă unul de celălalt. Momentul de blocare apare atunci când niciunul dintre procesele din set nu este capabil să avanseze din cauza ocupării resurselor necesare printr-un alt proces. Pe de altă parte, foametea apare atunci când un proces așteaptă o perioadă nedeterminată de timp pentru a obține resursa necesară.
Comparație între Deadlock și foamete:
Impas | Foame | |
Definiție | Momentul de blocare apare atunci când niciunul dintre procesele din set nu este capabil să avanseze din cauza ocupării resurselor necesare printr-un alt proces | Înfometarea apare atunci când un proces așteaptă o perioadă nedeterminată de timp pentru a obține resursa necesară. |
Alt nume | Circulara așteaptă | A trăit blocarea |
Creșterea condițiilor | Aceste patru condiții apar simultan - excluziune reciprocă, țineți și așteptați, fără preemțiune și spirit circular | Controlul necontrolat al resurselor Prioritățile procesului fiind strict aplicate Scăderea resurselor |
Tehnici de evitare / prevenire |
|
|
progres | Nici un proces nu poate progresa | În afară de procesul victimei, alte procese pot progresa sau pot continua |
Final | Necesită intervenție externă | Poate sau nu poate necesita intervenție externă |