Middle
Jaký je rozdíl mezi sirotím procesem a zombie procesem?
sobes.tech AI
Odpověď od AI
Sirotčí proces (Orphan Process) — je proces, jehož rodičovský proces skončil dříve, než dítě dokončilo svou činnost. Inicializační proces (init, PID 1) automaticky přijímá sirotka a stává se jeho novým rodičem pro následné uvolnění zdrojů.
Zombi proces (Zombie Process) — je proces, který dokončil svou činnost, ale jeho záznam v tabulce procesů jádra (PCB) ještě nebyl odstraněn, protože rodičovský proces nevolal systémové volání wait() nebo waitpid(), aby shromáždil stav ukončení dítěte. Takový proces nevyužívá CPU zdroje, ale zabírá místo v tabulce procesů.
Porovnání:
| Vlastnost | Sirotčí proces | Zombi proces |
|---|---|---|
| Stav | Probíhá (nebo čeká na provedení) | Ukončený |
| Rodič | Původní rodič skončil, nový rodič je init (PID 1). |
Rodič existuje, ale nevolal wait(). |
| CPU zdroje | Spotřebovává CPU zdroje pro vykonání svého úkolu. | Ne spotřebovává CPU zdroje. |
| Místo v tabulce | Zabírá místo v tabulce procesů jako běžící proces. | Zabírá místo v tabulce procesů, dokud jeho stav není přečten rodičem. |
| Odstranění | Bude ukončen a vyčištěn operačním systémem po ukončení. | Zůstává v tabulce procesů, dokud rodič nevolá wait() nebo dokud rodič nezkončí. |