Middle
Mis vahe on orvuks jäänud protsessil ja zombi-protsessil?
sobes.tech AI
Vastus AI-lt
Orphan Process — see protsess, mille vanemprotsess on lõpetanud enne, kui lapseprotsess on lõpetanud oma täitmise. Initsiaatorprotsess (init, PID 1) võtab automaatselt üle orvatsprotsessi ja muutub selleks uueks vanemaks edasise ressursside kasutamise jaoks.
Zombie Process — see protsess, mis on lõpetanud oma täitmise, kuid tema kirje kerneli protsesside tabelis (PCB) pole veel kustutatud, kuna vanemprotsess ei ole kutsunud välja süsteemikõne wait() või waitpid() lapse protsessi staatuse kogumiseks. Selline protsess ei tarbi CPU ressursse, kuid hõivab kohta protsesside tabelis.
Võrdlus:
| Märge | Orvatsprotsess | Zombie Process |
|---|---|---|
| Staatus | Teostatakse (või ootab täitmist) | On lõpetanud oma täitmise |
| Vanem | Algne vanem on lõpetanud, uus vanem — init (PID 1). |
Vanem eksisteerib, kuid/ või ei kutsu wait(). |
| CPU ressursid | Kasutab CPU ressursse oma ülesande täitmiseks. | Ei kasuta CPU ressursse. |
| Koht tabelis | Võtab koha protsesside tabelis kui tavaline töötav protsess. | Võtab koha protsesside tabelis, kuni tema staatus on vanema poolt loetud. |
| Kustutamine | Lõpetatakse ja puhastatakse operatsioonisüsteemi poolt pärast lõpetamist. | Jätkub protsesside tabelis kuni vanem kutsub wait() või kuni vanem lõpetab (sel juhul muutub ta init-ks ja puhastatakse). |