Uma das principais características dos sistemas operacionais modernos é gerenciar os recursos computacionais e abstrair toda a complexidade envolvida nesta atividade, facilitando a tarefa do desenvolvimento de aplicativos.
Atualmente, o usuário tem a percepção de que é possível executar uma série de tarefas simultaneamente no seu desktop ou notebook, isto se dá porque é possível para o usuário operar o navegador de internet ao mesmo tempo em que escuta uma música no media player e concorrentemente ao fato de que o software antivírus efetua a varredura por arquivos infectados no computador.
Toda a gerência deste complexo ambiente multiprogramável, onde diversos processos são executados dentro de um mesmo intervalo temporal, é executada pelo Sistema Operacional do computador. Para realizar efetivamente esta atividade de gerenciamento de processos, o SO se baseia em uma série de algoritmos para promover o agendamento ou escalonamento dos processos.