Ao criar um processo, o sistema operacional executa várias operações. Para identificar os processos, ele atribui um número de identificação de processo (PID) a cada processo. Como o sistema operacional oferece suporte a multiprogramação, ele precisa manter o controle de todos os processos. Para esta tarefa, o bloco de controle de processo (PCB) é usado para rastrear o status de execução do processo. Cada bloco de memória contém informações sobre o estado do processo, contador do programa, ponteiro da pilha, status dos arquivos abertos, algoritmos de agendamento, etc. Todas essas informações são necessárias e devem ser salvas quando o processo é alternado de um estado para outro. Quando o processo faz uma transição de um estado para outro, o sistema operacional deve atualizar as informações no PCB do processo.

Um bloco de controle de processo (PCB) contém informações sobre o processo, ou seja, registros, quantum, prioridade, etc. A tabela de processo é um array de PCBs, o que significa que logicamente contém um PCB para todos os processos atuais no sistema.

  • Ponteiro - É um ponteiro de pilha que deve ser salvo quando o processo é alternado de um estado para outro para reter a posição atual do processo.
  • Estado do processo - Armazena o respectivo estado do processo.
  • Número do processo - cada processo é atribuído com um id único conhecido como ID do processo ou PID que armazena o identificador do processo.
  • Contador de programa - Armazena o contador que contém o endereço da próxima instrução a ser executada para o processo.
  • Register - São os registradores da CPU que incluem: acumulador, base, registradores e registradores de uso geral.
  • Limites de memória - Este campo contém as informações sobre o sistema de gerenciamento de memória usado pelo sistema operacional. Isso pode incluir as tabelas de página, tabelas de segmento, etc.
  • Lista de arquivos abertos - Essas informações incluem a lista de arquivos abertos para um processo.

Dados diversos de contabilidade e status - Este campo inclui informações sobre a quantidade de CPU usada, restrições de tempo, trabalhos ou número de processo, etc.
O bloco de controle de processo armazena o conteúdo do registro também conhecido como conteúdo de execução do processador quando foi bloqueado para execução. Essa arquitetura de conteúdo de execução permite que o sistema operacional restaure o contexto de execução de um processo quando o processo retorna ao estado de execução. Quando o processo faz uma transição de um estado para outro, o sistema operacional atualiza suas informações no PCB do processo. O sistema operacional mantém ponteiros para cada PCB do processo em uma tabela de processos para que possa acessar o PCB rapidamente.

Aprenda todos os conceitos do GATE CS com aulas gratuitas ao vivo em nosso canal do youtube.