Pular para o conteúdo principal

Questão de Sistemas Operacionais — Threads (SO) — CESPE / CEBRASPE 2025

Sistemas OperacionaisThreads (SO)
Código
ce418246
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.

 

Threads são usadas para agrupar recursos; e processos são entidades escalonadas para execução na CPU.

  1. CCerto
  2. 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”.

Threads e processos: agrupamento de recursos × escalonamento

Gabarito: letra E (ERRADO). A afirmação inverte os papéis: são os processos que servem para agrupar recursos (espaço de endereçamento, arquivos abertos, etc.), enquanto as threads são as entidades escalonadas para execução na CPU. O texto de Tanenbaum é explícito: "Processos são usados para agrupar recursos; threads são as entidades escalonadas para execução na CPU."

O modelo clássico de processo, descrito por Tanenbaum em Sistemas Operacionais Modernos, separa dois conceitos independentes: agrupamento de recursos e execução. O processo é o contêiner — ele detém o espaço de endereçamento com código e dados, arquivos abertos, processos filhos, alarmes pendentes, tratadores de sinais e informações de contabilidade. Já a thread é a unidade de execução dentro desse contêiner: possui contador de programa, registradores e pilha próprios, e é ela que o escalonador do sistema operacional coloca na CPU.

Essa distinção é fundamental para entender por que threads são chamadas de "processos leves": como compartilham o espaço de endereçamento e os recursos do processo-pai, criar e alternar entre threads tem custo (overhead) muito menor do que criar e alternar entre processos. Enquanto a troca de processo exige salvar e restaurar todo o contexto do processo (incluindo o espaço de endereçamento), a troca de thread dentro do mesmo processo preserva o espaço de endereçamento, trocando apenas o contexto de hardware (registradores, pilha, contador de programa).

A pegadinha da banca é exatamente a inversão desses papéis. O candidato que memorizou superficialmente o conceito pode confundir quem agrupa recursos e quem é escalonado. Mas a regra é clara e aparece tanto no modelo clássico quanto na implementação do Windows, onde "os processos são contêineres para programas" e "os threads são a abstração do núcleo para escalonar a CPU".

Guarde a fronteira: processo = posse de recursos; thread = unidade de escalonamento. É exatamente nessa fronteira que a questão se decide.

1Processo
Agrupa recursos
Espaço de endereçamento
Arquivos abertos
Processos filhos
2Thread
Unidade de escalonamento
Contador de programa
Registradores
Pilha própria
3Troca de contexto
Processo: contexto completo
Thread: só contexto de hardware
Processo × Thread
LEVELsoulevel.com.br
Processo × Thread: Processo (Agrupa recursos, Espaço de endereçamento, Arquivos abertos, Processos filhos); Thread (Unidade de escalonamento, Contador de programa, Registradores, Pilha própria); Troca de contexto (Processo: contexto completo, Thread: só contexto de hardware)

Item — ❌ ERRADO

A afirmação "Threads são usadas para agrupar recursos; e processos são entidades escalonadas para execução na CPU" está invertida. O correto é o oposto:

  • Processos agrupam recursos: espaço de endereçamento, descritores de arquivos, processos filhos, alarmes, tratadores de sinais, informações de contabilidade.

  • Threads são as entidades escalonadas: cada thread tem seu próprio contador de programa, registradores e pilha, e é ela que o escalonador seleciona para execução na CPU.

O texto de Tanenbaum é a fonte direta dessa distinção: "Processos são usados para agrupar recursos; threads são as entidades escalonadas para execução na CPU." A banca trocou os sujeitos — um erro clássico de inversão de conceitos.

NÃO CAIA NESSA!

A banca inverte os papéis de processo e thread. O candidato que decorou as definições sem fixar quem faz o quê cai na armadilha. Lembre-se: o processo é o contêiner (agrupa recursos); a thread é a unidade de trabalho (escalonada na CPU). Com essa âncora, você enxerga a inversão de longe.

Gabarito: letra E (ERRADO).

Link permanente: /questoes/ce418246