Folyamatkezelés: előtér- és háttérfolyamatok, démonok és jobok

Programok és folyamatok

A UNIX, mint multitasking rendszer, képes arra, hogy egyszerre több feladat futhasson a gépen. Ennek kapcsán két igen fontos fogalom merül fel, amelyek szorosan összefüggenek ugyan, de egymással nem helyettesíthetőek be: a program és a folyamat (process). A program egy futtatható (akár gépi kódot tartalmazó bináris, akár a shell által értelmezhető parancsokból álló) fájl; valahányszor egy programot elindítunk, egy új folyamat jön létre. Némileg leegyszerűsítve, a folyamat egy programnak egy futó példánya, a saját külön adatterületével. Lehetséges tehát, hogy ugyanazt a programot egyszerre többen is futtassák a rendszerben - ilyenkor ugyanabból az egy programfájlból annyi darab önálló, egymástól teljesen független folyamat jön létre, ahányan elindították a programot. (Csak zárójelben jegyezzük most meg, egy elindított folyamat több másik, ún. gyermekfolyamatot is elindíthat.)

Háttérfolyamatok és démonok

A parancsok (pontosabban a parancsok elindításával életre keltett folyamatok) végrehajtása szekvenciálisan történik; ez annyit jelent, hogy ha a felhasználó elindít egy parancsot, addig nem kapja vissza a parancs promptot, s nem indíthat el újabb parancsot, amíg az éppen futó be nem fejeződött. Ha azonban a felhasználó egy háttérfolyamatot (background process) indít el, rögtön visszakapja a parancspromptot, s lehetősége van újabb parancs végrehajtására. E mechanizmus használata kiváltképp olyankor előnyös, ha egy hosszan futó folyamat futtatása mellett más tevékenységgel is szeretnénk foglalkozni.

 

A háttérfolyamatoknak egy speciális válfaja a démon (daemon) folyamat. Ez egy olyan folyamat, amit rendszerint automatikusan indít el a rendszer, s valamilyen felügyeleti szerepet ellátva állandóan fut a háttérben. Démon folyamatok gondoskodnak például a nyomtatási kérelmek besorolásáról és végrehajtásáról, a terminálvonalak figyeléséről, hogy van-e újonnan belépő felhasználó, de démonok felügyelik a memóriahasználatot éppúgy, mint a lokális hálózaton történő belépéseket. A rendszer "üresjáratában", amikor éppen nincs bejelentkezett felhasználó, általában több tucat ilyen démonfolyamat fut, biztosítva a rendszer folyamatos működését.

A démonoknak végrehajtásra átadott nyomtatást és egyéb kérelmeket job-oknak (feladatoknak) nevezik, ezeket a démon sürgősségi és egyéb szempontok alapján sorba rendezi (queue), és egyenként hajtja végre őket.

 

Tartalomjegyzék