Para que a não fique muito tempo sem executar alguma, os sistemas operacionais utilizam técnicas para escalonar os processos que estão em execução na máquina.
O escalonamento de processos é uma atividade complicada já que nenhum algoritmo é totalmente eficiente e a prova de falhas, principalmente em se tratando de sistemas interativos, como o . Nos sistemas interativos a interação com o usuário é fundamental já que quem o utiliza busca respostas rápidas e, a todo o momento, são interrompidos pelo usuário.
Escalonamento é muito atuante nos sistemas em tempo real, onde o tempo é um fator extremamente crítico, como: aviões, hospitais, usinas nucleares, bancos, multimídia, etc. Em ambientes como estes, quando um sistema tem respostas com atraso, é tão ruim quanto não obter. Tipos de sistemas em tempo real:
Hard Real Time onde atrasos não são tolerados (aviões, usinas nucleares, hospitais);
Soft Real Time quando atrasos são tolerados (Bancos, Multimídia).
O escalonador do SO utiliza alguns critérios de escalonamento, como:
a taxa de utilização de CPU, que é a fração de tempo durante a qual ela está sendo ocupada;
que são números de processos terminados por unidade de tempo;
turnaround que é o tempo transcorrido desde o momento em que o software entra e o instante em que termina sua execução;
tempo de resposta: intervalo entre a chegada ao sistema e inicio de sua execução;
tempo de espera: soma dos períodos em que o processo estava no seu estado pronto.
OS responsáveis por essa tarefa são algoritmos de escalonamento. Os sistemas operacionais utilizam combinações deles para melhor escalonar os processos.