Un nuovo processo viene caricato e va nello stato Ready. Questo stato consiste in una coda detta la run queue, sortizzata per priorita' dei processi.
Ad intervalli piu' o meno regolari e piuttosto frequenti il sistema compie la schedulazione del processo in testa alla coda e per quel processo avviene la transizione allo stato di Running in modalita' utente o user. Quando e' in questo stato il processo sta eseguendo le sue stesse istruzioni. Il processo puo' richiedere servizi al kernel tramite chiamate di sistema, nel cui caso esegue una transizione allo stato Running in System Mode. In questo stato le istruzioni che vengono eseguite sono nello spazio di indirizzi del kernel, ma per conto del processo e quasi come se fossero delle subroutines del processo stesso. Le chiamate di sistema sono tutte progettate per eseguire velocemente, quindi ben presto il processo ritorna in modalita' Running in Modo User.
Se il tempo di esecuzione consecutiva del processo in modo Running supera il suo time quantum, il kernel compie una prelazione del processo, cioe' lo toglie forzatamente dal modo esecuzione e lo riporta nella 'run queue'. Immediatamente dopo il kernel compie la schedulazione del processo successivo alla testa della coda. La doppia operazione di prelazione e schedulazione si chiama uno switch di processo o switch di contesto. I processi non possono essere prelazionati se sono in esecuzione in modalita' di sistema.
Un processo in esecuzione puo' richiedere l'attivita' di una periferica o puo' trovarsi a dover sospendere l'esecuzione in attesa di input dall'utente. In tal caso il processo lascia spontaneamente la CPU ed esegue una transizione allo stato Sleeping. Quando si verifica l'input utente atteso o la periferica ha terminato le operazioni richieste, allora tale evento e' notificato al processo in stato 'Sleeping' e questi si risveglia e torna in stato 'Ready", nella 'run queue'.
Ogni processo Time-Sharing ha una componente dinamica di priorita' che inizia ad un certo livello all'atto del caricamento e poi varia a seconda della storia del processo. A seconda delle versioni di UNIX la variazione di priorita' e' controllata da un algoritmo o da una tabella.
Di default UNIX favorisce i processi che passano poco tempo relativo in esecuzione nella CPU e molto tempo in attesa di eventi in stato 'Sleeping': i cosiddetti processi I/O bound. Sono invece penalizzati in modo relativo i processi CPU bound rispetto a quelli interattivi, o altrimenti conquisterebbero gran parte del tempo di CPU e renderebbero il sistema poco responsivo.