Tėvinis procesas

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Peršokti į: navigaciją, paiešką

Tėvinis procesas yra kompiuterinis procesas, kuris sukūrė vieną ar daugiau vaikų procesų.

Operacinėse sistemose su hierarchine procesų organizacija, pvz., UNIX, Linux), kiekvienas procesas, išskyrus nulinį procesą (kintamasis) yra sukuriamas, kai kitas procesas atlieka fork sistemos komandą (angl. system call). Procesas, kuris iššaukia fork komandą, yra tėvinis procesas, o naujai sukurtas procesas vadinamas vaiko procesu (angl. child process). Kiekvienas procesas (išskyrus nulinį procesą) turi tik vieną tėvinį procesą, bet gali turėti daug vaikų procesų.

Branduolys identifikuoja kiekvieną procesą pagal jo identifikatorių (PID) (angl. process identifier). Nulinis procesas yra ypatingas procesas, kuris yra sukuriamas kai sistema užsikrauna; po vaiko proceso išsišakojimo (1 procesas), nulinis procesas tampa kintamuoju procesu. Pirmasis procesas, žinomas kaip pirminis (angl. init), yra kiekvieno kito proceso sistemoje protėvis.

Kai vaiko procesas baigia darbą, iškviesdamas sistemines komandas: exit (angl. exitsystem call) - jeigu sėkmingai baigė darbą, dėl klaidos, sugeneruodamas lemtingą pabaigos klaidą(angl. fatal execution error) arba gavęs darbo pabaigos signalą. Darbo pabaigos būdas grąžinamas operacinei sistemai. Tėvinis procesas yra informuojamas apie jo vaiko proceso nutraukimą per SIGCHLD (SIGCHILD – vaiko proceso signalas) signalą. Tėvinis procesas gauna vaiko proceso išėjimo būseną iškviesdamas wait sistemos komandą. Tačiau, jei tėvinis procesas to neatlieka, vaiko procesas tampa mirusiu procesu (angl. zombie process).[1].


Taip pat skaityti[taisyti | redaguoti kodą]

Nuorodos[taisyti | redaguoti kodą]