Bloco de controle de processo
Este artigo não cita fontes confiáveis. (Dezembro de 2013) |
O bloco de controle de processo ou bloco de controlo do processo (em inglês: Process control block ou PCB) é uma estrutura de dados no núcleo do sistema operacional que serve para armazenar a informação necessária para tratar um determinado processo.
Como o PCB contém informações críticas do processo ele deve ficar armazenado em uma área da memória protegida do acesso de usuários. Em alguns sistemas operacionais o PCB é alocado no início da pilha do núcleo do processo, já que é uma localização convenientemente protegida.
Informações incluídas
[editar | editar código-fonte]Geralmente as informações contidas em um PCB incluem:
- Identificador do processo (PID)
- Registradores da CPU (incluindo o contador de programa)
- O espaço de endereçamento do processo
- A prioridade do processo
- O status do processo
- Informações sobre o escalonamento de processo
- Informações de entrada/saída (dispositivos de hardware ligados ao processo, arquivos abertos, etc.)
- O ponteiro para o próximo PCB
Durante a troca de contexto, o processo em execução é interrompido e é dada a chance para um outro processo correr. O núcleo deve parar o processo que esta em execução, copiar os valores dos registros de hardware para seu PCB, e atualizar os registros de hardware com os valores do PCB do novo processo.