A estrutura dos sistemas operacionais modernos trabalha com a existência de três diferentes estados de processo e quatro tipos de transições entre processos. Isto se faz necessário em ambientes multiprogramáveis onde o SO tem que gerenciar a execução simultânea de mais de um processo. A figura abaixo apresenta os três estados: pronto, em execução, e em espera, bem como as transações possíveis entre cada um deles.
Quando um determinado processo está no estado “pronto”, ou ready, significa que o mesmo está em condições de ser posto em execução, ou seja, está apenas aguardando ser alocado no processador para realizar a sua tarefa.
Já o estado “em execução”, ou running, é alcançado quando o processo está efetivamente alocado na CPU.
Por sua vez, o estado “em espera”, ou wait, é alocado a um processo que está a espera de uma resposta externa ou aguardando a liberação de recursos computacionais compartilhados para que possa prosseguir com o processamento.