Gerência de TI |
Um processo é um programa em execução, acompanhado de todo o contexto necessário à sua operação: código, dados, pilha, registradores e recursos alocados.
Programa é entidade passiva, armazenada em disco; processo é entidade ativa, com estado que evolui no tempo.
Estados do Processo
Novo: em criação.
Pronto: apto a executar, aguardando apenas a disponibilidade do processador.
Executando: ocupando efetivamente a CPU.
Bloqueado ou em espera: aguardando um evento externo, tipicamente a conclusão de uma operação de E/S.
Terminado: encerrado, com recursos liberados.
A transição de executando para pronto ocorre por preempção; de bloqueado, o processo retorna sempre ao estado pronto, nunca diretamente à execução.
Bloco de Controle
O PCB (Process Control Block) armazena todas as informações necessárias à retomada do processo: identificador, estado, contador de programa, registradores, informações de escalonamento, memória alocada e arquivos abertos.
A troca de contexto consiste em salvar o PCB do processo que deixa a CPU e restaurar o do próximo. É pura sobrecarga: durante ela, nenhum trabalho útil é realizado.