V sistemu z enim procesorjem lahko na enkrat teče samo en proces. Vsi ostali morajo čakati, da se procesor sprosti. Do razvrščanja pride v naslednjih primerih:
V 1. in 4. primeru v bistvu ne govorimo o razvrščanju, saj v smislu razvrščanja nimamo izbire. Govorimo lahko o neprekinjevalnem (nonpreemptive) ali prekinjevalnem razvrščanju (preemptive). V primeru neprekinjevalnega razvrščanja gre za odločanje v 1. in 4. primeru (primer Windows 3.1).
Kriteriji za razvrščanje so lahko:
Za razvrščanje se uporabljajo različni algoritmi.
Procesi se izvršujejo po vrstnem redu prihoda v vrsto. FIFO je kratica angleške oznake algoritma – First In First Out.
Za vsak proces se oceni, koliko časa potrebuje za svojo izvršitev. Najkrajšemu procesu se najprej dodeli procesor. Pri vsakem razvrščanju se torej najprej izvrši proces, za katerega se oceni, da bo zavzel najmanj procesorskega časa.
Vsakemu procesu se dodeli določena prioriteta. Proces, ki ima večjo prioriteto se prej izvrši kot tisti z manjšo.
Algoritem Raund-Robin je podoben algoritvu FIFO z razliko, da vključuje prekinjevalno obnašanje. Izvajanje procesov se vrši v časovnih presledkih - quantumih. Razvrščanje se zgodi ob vsakem quantumu. Izvajani proces se prekine in prerazporedi na rep vrste.
Večvrstno razvrščanje pomeni razdelitev procesov glede na določeno lastnost. Najenostavneje jih razdelimo na tiste, ki tečejo v ozadju in tiste, ki tečejo v ospredju ali drugače.
Na podlagi določene lastnosti se vsak proces za stalno uvrsti v določeno vrsto. Znotraj vsake vrste se lahko uporabljajo različni razvrščevalni algoritmi, obstajati pa mora tudi algoritem razvrščanja med vrstami, ki daje odločitev, kateremu procesu se bo dodelil procesor v primeru obstoja procesov v več vrstah.
V primeru uporabe tega algoritma se lahko procesi prerazvrščajo iz ene vrste v drugo. Cilj algoritma je uvrstitev procesa glede na njegovo obnašanje. Če proces potrebuje preveč procesorskega časa, bo uvrščen v vrsto z manjšo prioriteto. Nasprotno se lahko proces, ki predolgo čaka v vrsti z manjšo prioriteto prerazporedi v vrsto z večjo prioriteto in s tem ne zastara.
Čakalne vrste so enosmerno povezani seznami. Procesi pa pridejo do procesorskega časa s sistemskimi klici. Gre za programske prekinitve, ki zagotavljajo začetek in konec obdelave procesov glede na njihove prioritete v večopravilnih operacijskih sistemov.