Vá para uma página ou matéria
Prática · Sistemas Operacionais · 03/09/2026
Em um sistema de núcleo único apenas um processo é executado por vez, pois há um único processador disponível. A impressão de simultaneidade vem da alternância rápida entre processos, coordenada pelo escalonador por meio das transições entre pronto, execução e bloqueio.
O PCB é a estrutura na qual o sistema operacional registra os dados necessários para gerenciar e retomar o processo: identificador, registradores, contador de programa e prioridade, entre outros. É justamente por guardar esses dados que o PCB permite salvar e restaurar o estado do processo durante a troca de contexto.
Para o processo pronto basta que o processador fique livre e ele seja escolhido. O processo bloqueado, por outro lado, não pode executar mesmo que a CPU esteja ociosa, porque falta o evento externo que ele aguarda. O PCB é mantido em ambos os casos, e a distinção não tem relação com primeiro ou segundo plano.
O texto lista quatro origens possíveis para a criação de um processo: inicialização do sistema, solicitação do usuário, chamada feita por outro processo e início de uma tarefa em lote. As demais alternativas restringem indevidamente a criação a apenas uma dessas situações.
O término pode ser natural, quando o processo conclui sua execução, ou forçado, quando ocorre um erro ou faltam recursos para continuar. Em qualquer dos casos, o sistema operacional libera memória, arquivos e demais recursos associados ao processo.
Em sistemas UNIX o processo já encerrou a execução, mas sua entrada permanece na tabela de processos como zumbi para que o processo pai possa ler o código de saída. Só depois dessa leitura o PCB é removido definitivamente. O zumbi não executa nem consome tempo de CPU: ele apenas ocupa a entrada na tabela.
O processo bloqueado sai da fila de prontos e passa a aguardar em uma fila associada ao recurso ou evento pelo qual espera. Como não tem condições de executar, ele libera a CPU, que fica disponível para outros processos. É justamente esse comportamento que permite o uso eficiente do processador durante operações de entrada e saída.
A troca de contexto acontece nas transições que tiram o processo da CPU, como o fim da fatia de tempo ou o bloqueio. Nela o estado atual, incluindo registradores e contador de programa, é salvo no PCB, de modo que o processo possa continuar exatamente de onde parou quando voltar a executar.
Enquanto está em criação, o processo aguarda ser admitido pelo escalonador de longo prazo, que decide quais processos entram na fila de prontos. O escalonador de curto prazo atua depois, escolhendo qual dos processos prontos vai ocupar a CPU. A troca de contexto é o mecanismo que salva e restaura estado, não quem admite processos.
Ao ser desbloqueado, o processo volta ao estado de pronto e não diretamente à execução, pois precisa disputar o processador com os demais processos prontos. Quem decide o momento de voltar a executar é o escalonador de curto prazo, e não o fim do evento em si.
O fim da fatia de tempo interrompe a execução, mas o processo continua apto a executar: ele apenas perdeu a vez na CPU. Por isso retorna ao estado de pronto e volta à fila, aguardando nova seleção. O bloqueio só acontece quando o processo depende de um evento externo, e o término encerra definitivamente o ciclo.
A leitura do arquivo é uma operação de entrada e saída, ou seja, um evento externo. O processo é bloqueado enquanto a leitura ocorre, liberando a CPU, e ao término da operação volta ao estado de pronto, de onde poderá ser escalonado novamente para execução.
Quando um processo se bloqueia esperando uma operação de entrada e saída ou outro evento, ele deixa a CPU livre. O escalonador aproveita esse intervalo para colocar outro processo pronto em execução, evitando que o processador fique ocioso. Essa alternância, coordenada pelos escalonadores e registrada no PCB, é a base da execução concorrente.
O bloqueio ocorre quando o processo não pode prosseguir sem que algo externo aconteça: a liberação de um recurso, a chegada de dados ou um sinal de outro processo. Simplesmente esperar a CPU ficar livre corresponde ao estado de pronto, o fim das instruções leva ao término e o adiamento da admissão ocorre ainda no estado de criação.
O programa é estático: apenas instruções gravadas em disco. O processo é a abstração dinâmica criada pelo sistema operacional quando esse programa entra em execução, incluindo estado atual, registradores da CPU, memória alocada e demais recursos. Por isso o processo evolui ao longo do tempo, transitando entre estados, o que não acontece com o programa.
O processo é criado, admitido na fila de prontos, selecionado para execução e, ao requisitar uma operação de entrada e saída, passa a bloqueado. Quando a operação termina, ele retorna a pronto, e não diretamente à execução. As demais sequências invertem essa ordem ou omitem o retorno obrigatório ao estado de pronto.
O ciclo entre pronto, execução e bloqueio pode se repetir muitas vezes ao longo da vida do processo, conforme ele alterna entre usar a CPU e esperar por eventos. Já a criação e o término delimitam o ciclo de vida e acontecem apenas uma vez para cada processo.
No estado de pronto o processo já foi admitido e só depende do processador ficar livre e de ser escolhido pelo escalonador de curto prazo. Executar instruções corresponde ao estado de execução, esperar por um evento externo corresponde ao bloqueio e aguardar liberação de recursos após o fim corresponde ao término.
No estado de criação o sistema operacional prepara a estrutura do processo: aloca memória, cria o PCB com identificador, registradores, contador de programa e prioridade, e coloca o processo na fila de admissão. Nesse estado o processo ainda não disputa o processador. Executar instruções só ocorre no estado de execução, e a liberação de recursos acontece no término.
A escolha do processo pronto que passa a executar cabe ao escalonador de curto prazo, que pode usar políticas como round robin ou prioridade. O escalonador de longo prazo cuida da admissão, o PCB apenas armazena informações do processo e o processo não escolhe a si mesmo para executar.