Sobes.tech
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).