Sobes.tech
Middle

Kuo skiriasi našlaičio proceso ir zombio proceso?

sobes.tech AI

Atsakymas iš AI

Našlaičio procesas (Orphan Process) — tai procesas, kurio tėvinis procesas baigėsi iki to laiko, kai vaiko procesas dar nebuvo baigęs savo vykdymo. Inicijuojantis procesas (init, PID 1) automatiškai perima našlaičio procesą ir tampa jo nauju tėvu tolimesniam išteklių panaudojimui.

Zombio procesas (Zombie Process) — tai procesas, kuris baigė savo vykdymą, bet jo įrašas branduolio procesų lentelėje (PCB) dar nėra pašalintas, nes tėvinis procesas nebuvo iškvietęs sistemos šaukimo wait() arba waitpid() vaikų proceso būsenos surinkimui. Tokis procesas neapkrauna CPU išteklių, bet užima vietą procesų lentelėje.

Palyginimas:

Žymuo Našlaičio procesas Zombio procesas
Būklė Vykdomas (arba laukia vykdymo) Baigė savo vykdymą
Tėvas Pradinis tėvas baigėsi, naujas tėvas — init (PID 1). Tėvas egzistuoja, bet/ar nekviečia wait().
CPU ištekliai Naudoja CPU išteklius savo užduočiai vykdyti. Nenaudoja CPU išteklių.
Vietos lentelėje Užima vietą procesų lentelėje kaip įprastas veikiantis procesas. Užima vietą procesų lentelėje, kol jo būsena nebus surinkta tėvo.
Ištrynimas Bus užbaigtas ir išvalytas operacinės sistemos po pabaigos. Lieka procesų lentelėje tol, kol tėvas iškvies wait() arba kol tėvas baigsis (tuo atveju jis tampa init našlaičiu ir bus išvalytas).