Sobes.tech
Middle

Care este diferența dintre un proces orfan și un proces zombie?

sobes.tech AI

Răspuns de la AI

Proces orfan (Orphan Process) — este un proces al cărui proces părinte s-a încheiat înainte ca procesul fiu să-și finalizeze execuția. Procesul de inițializare (init, PID 1) adoptă automat orfanul și devine noul său părinte pentru eliberarea ulterioară a resurselor.

Procesul zombie (Zombie Process) — este un proces care și-a încheiat execuția, dar înregistrarea sa în tabelul de procese al nucleului (PCB) nu a fost încă eliminată, deoarece procesul părinte nu a apelat sistemul wait() sau waitpid() pentru a colecta starea de finalizare a procesului fiu. Un astfel de proces nu consumă resurse CPU, dar ocupă spațiu în tabelul de procese.

Comparare:

Caracteristică Proces orfan Proces zombie
Stare În execuție (sau așteaptă să fie executat) S-a încheiat
Părinte Părintele inițial s-a încheiat, noul părinte este init (PID 1). Părintele există, dar nu a apelat wait().
Resurse CPU Consumă resurse CPU pentru a-și îndeplini sarcina. Nu consumă resurse CPU.
Loc în tabel Ocupă spațiu în tabelul de procese ca un proces normal în execuție. Ocupă spațiu în tabelul de procese până când starea sa este citită de părinte.
Eliminare Va fi încheiat și curățat de sistemul de operare după finalizare. Rămâne în tabelul de procese până când părinte îl va apela wait() sau până când părinte se va încheia (în acest caz devine orfan init și va fi curățat).