A UNIX rendszer egy igazi multitaskos rendszer, minden folyamat létrehozhat egy vagy több gyermek-folyamatot, és a gyermek-folyamatok a szülo-folyamattal párhuzamosan futnak. A gyermek-folyamat örökli a szülojének a jogait, és egyéb tulajdonságait. A processz-táblában egy folyamathoz (többek között) a következo információk vannak tárolva:
(A folyamat kulcsfogalomnak számít minden operációs rendszerben - nem csak a UNIX-ban. Az, hogy mi tartozik egy folyamathoz nagyon nagy mértékben befolyásolja az egész operációs rendszer lehetoségeit és szerkezetét.)
Az operációs rendszer egy kicsi, de fontos része a folyamat-ütemezo (scheduler). Mivel a legtöbb UNIX-ot futtató hardveren csak egy processzor van, ezért ezen szimulálni kell a folyamatok párhuzamos futását. Ez pedig a következoképpen történik:
A fentiekben az egyetlen problémás dolog az, hogy hogyan "jár le a folyamat idoszelete" (vagyis egy folyamatnak önmagának "le kell-e mondania" a processzorról, vagy pedig az idoszelet lejárta után az operációs rendszer automatikusan el tudja-e venni a folyamattól a processzorhasználati jogot). A multitaskos rendszerekben legtöbbször a második eset áll fenn (a UNIX rendszereknél mindig). Ha az elso eset állna fenn, akkor lehetne olyan folyamatot írni, amely sosem mond le a processzor használatáról, és ezzel a teljes operációs rendszer megbénulna, nem tudná ellátni a feladatát (az eroforrások igazságos elosztását).
Az Intel 8088-as mikroprocesszor esetén ez az óra-megszakítások kihasználásával oldható meg. Az IBM PC-ben van egy belso óra, amely 1 másodpercben (kb. 100-szor) egy ún. óra-megszakítást generál. Ennek a megszakításnak van egy sorszáma, tehát tartozik hozzá egyértelmuen egy megszakítás-vektor. Az operációs rendszert ilyen gépen úgy írják meg, hogy a megszakítás-vektor az ütemezo modul memóriabeli címét tartalmazza, és ilyen módon minden másodpercben kb. 100-szor, amikor a belso óra "üt", akkor az ütemezo automatikusan megkapja a vezérlést és új folyamatot választ ki.