Ho capito come più processi possono essere eseguiti su un singolo core interlacciando l'elaborazione. Quello che non capisco è come il sistema operativo garantisce che il programma rilasci il processore dopo un certo periodo di tempo. Se è possibile eseguire un solo programma alla volta e l'os consente l'esecuzione di un processo, che cosa impedisce che tale processo non restituisca mai il processore?