Sobes.tech
Middle

Каква е разликата между процес-сира и зомби процес?

sobes.tech AI

Отговор от AI

Процес-сирота (Orphan Process) — това е процес, чиито родителски процес е приключил преди детския процес да е завършил изпълнението си. Инициализиращият процес (init, PID 1) автоматично приема сиротата и става негов нов родител за последващо освобождаване на ресурсите.

Зомби-процес (Zombie Process) — това е процес, който е приключил изпълнението си, но неговият запис в таблицата с процеси на ядрото (PCB) все още не е бил премахнат, тъй като родителският процес не е извикал системния повик wait() или waitpid(), за да събере статуса на приключване на детския процес. Такъв процес не консумира CPU ресурси, но заема място в таблицата с процеси.

Сравнение:

Признак Процес-сирота Зомби-процес
Състояние Изпълнява се (или чака за изпълнение) Завършил е
Родител Първоначалният родител е приключил, новият родител е init (PID 1). Родителят съществува, но не е извикал wait().
CPU ресурси Използва CPU ресурси за изпълнение на задачата си. Не използва CPU ресурси.
Място в таблицата Заето място в таблицата с процеси като обикновен работещ процес. Заето място в таблицата с процеси, докато статусът му не бъде прочетен от родителя.
Премахване Ще бъде приключен и почистен от операционната система след приключване. Остава в таблицата с процеси, докато родителят не извика wait() или не приключи.