Saj jih v resnici ne. Računalnik lahko obenem opravlja le eno opravilo (ali proces). Pač pa lahko silno hitro preklaplja z enega opravila na drugega, tako da mnogo počasnejšim ljudem ustvari privid hkratnega izvajanja. Temu pravimo tudi sistem z dodeljevanjem časa.
Eno od opravil jedra je tudi dodeljevanje procesorskega časa procesom. Ta del jedra se imenuje razporejevalnik opravil (angl. scheduler) in shranjuje vse potrebne podatke za vse uporabniške procese v zverinjaku. Vsako stotinko sekunde se v jedru sproži prekinitev; prestreže jo razporejevalnik in začasno ustavi proces, ki trenutno teče, ter požene naslednji proces s seznama.
Stotinka sekunde se morda ne sliši dosti, vendar današnji mikroprocesorji v tem času izvedejo na tisoče strojnih ukazov, ki lahko postorijo kar nekaj. Tako lahko, tudi če obenem teče veliko procesov, vsak od njih vseeno opravi kar nekaj v času, ki mu je dodeljen.
V praksi program ni vedno deležen vsega razpoložljivega časa. Če med izvajanjem prispe zahtevek za prekinitev, jedro ustavi trenutno opravilo in požene prekinitveni servisni program. Šele ko ta opravi svoje, se začne tekoče opravilo spet izvajati. Plaz prekinitev visoke pomembnosti lahko tako povsem zaustavi normalno obdelavo -- na srečo pa je pri sodobnih Unixih to redko.
Hitrost, s katero se program izvaja, je v resnici zelo redko omejena s procesorskim časom, ki je programu na voljo (izjema so seveda računsko intenzivne operacije, denimo generiranje zvoka ali tridimenzionalne grafike). Dosti pogosteje so zastoji pogojeni s tem, da program čaka na podatke z diska ali iz omrežja.
Operacijski sistem, ki podpira več hkratnih procesov, imenujemo večopravilni sistem. Družino operacijskih sistemov Unix so zasnovali z mislijo na večopravilnost in je v tem pogledu zelo dobra -- dosti bolj učinkovita kakor Windows ali Mac OS, pri katerih so večopravilnost dodali pozneje in je izvedena slabše. Učinkovita in zanesljiva večopravilnost je precej zaslužna za uspeh Linuxa kot omrežnega strežnika.