Questão de Sistemas Operacionais — Conceitos de Gerência de Processos (SO) — CESPE / CEBRASPE 2025
Sistemas Operacionais›Conceitos de Gerência de Processos (SO)
Código
ce418248
Banca
CESPE / CEBRASPE
Órgão
PC DF
Ano
2025
Cargo
GAAPC ( )
Julgue o item a seguir, relativo a gerenciamento de memória, conceitos de processo e threads e LDAP.
Cada processo tem um contador de programa, que controla a instrução a ser executada em seguida, e registradores, que armazenam suas variáveis de trabalho atuais.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoE — Errado
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Gerenciamento de Processos: Contador de Programa e Registradores
Gabarito: letra E (ERRADO). A afirmação está incorreta porque, embora cada processo tenha seu próprio contador de programa e registradores, esses valores são salvos no bloco de controle do processo (PCB) quando o processo não está em execução, e não permanecem nos registradores físicos da CPU. A banca explora a confusão entre o contexto de hardware (registradores físicos) e o contexto lógico do processo.
O enunciado mistura dois conceitos que precisam ser separados com precisão. Um processo é uma instância de um programa em execução, e o sistema operacional mantém, para cada processo, um contexto de hardware — que inclui o valor do contador de programa e o conteúdo dos registradores — mas esse contexto é armazenado na memória, tipicamente no PCB (Process Control Block), e não nos registradores físicos do processador. Quando o processo está em execução, esses valores são carregados nos registradores reais; quando o processo é suspenso (por exemplo, em uma troca de contexto), eles são salvos de volta no PCB.
A confusão central está em afirmar que os registradores "armazenam" as variáveis de trabalho atuais do processo de forma permanente. Na verdade, os registradores são um recurso compartilhado da CPU, e cada processo tem seu próprio conjunto lógico de registradores, que só existe fisicamente enquanto o processo está rodando. Fora disso, o que persiste é a cópia salva no PCB. O mesmo vale para o contador de programa: cada processo tem seu próprio contador lógico, mas há apenas um contador físico na CPU, que é carregado e salvo a cada troca de contexto.
Um exemplo prático: imagine dois processos, P1 e P2, em um sistema de tempo compartilhado. Quando P1 está executando, o contador de programa físico aponta para a próxima instrução de P1. Quando chega a vez de P2, o sistema salva o contador de P1 no PCB de P1, carrega o contador de P2 do PCB de P2, e assim por diante. Se os registradores "armazenassem" permanentemente as variáveis de cada processo, não haveria necessidade de salvar e restaurar contexto — o que contradiz o funcionamento real dos sistemas operacionais.
A pegadinha da banca está em usar o verbo "armazenam" como se os registradores fossem uma área de memória dedicada a cada processo. Na verdade, os registradores são um recurso efêmero, e o que persiste é o contexto salvo no PCB. Essa distinção é clássica em provas de sistemas operacionais e aparece em questões sobre troca de contexto, escalonamento e multiprogramação.
Guarde o critério decisivo: processo tem contexto lógico (PCB), não registradores físicos dedicados. É exatamente essa fronteira que separa o certo do errado nesta questão.
Contexto de hardware do processo
1Contador de programa (lógico)
Próxima instrução a executar
2Registradores (lógicos)
Variáveis de trabalho atuais
3Armazenamento
Não nos registradores físicos
No PCB (bloco de controle do processo)
4Troca de contexto
Salva contexto no PCB
Carrega contexto do PCB
LEVEL · soulevel.com.br
Item — ❌ ERRADO
A afirmação diz que "cada processo tem um contador de programa, que controla a instrução a ser executada em seguida, e registradores, que armazenam suas variáveis de trabalho atuais". O erro está em afirmar que os registradores armazenam as variáveis de trabalho do processo. Na verdade, os registradores são um recurso compartilhado da CPU; cada processo possui um contexto de registradores que é salvo no PCB quando o processo não está em execução. Durante a execução, os valores são carregados nos registradores físicos, mas não há armazenamento permanente. O contador de programa também é lógico por processo, mas o enunciado erra ao generalizar que os registradores "armazenam" — o correto seria dizer que o PCB armazena o contexto, e os registradores apenas refletem o estado durante a execução.