Pular para o conteúdo principal

Questão de Sistemas Operacionais — Linux — FGV 2024

Sistemas OperacionaisLinux
Código
fg085502
Banca
FGV
Órgão
INPE
Ano
2024
Nível
Superior
Cargo
Tecnologista Júnior I - Desenvolvimento de Software Embarcado
A divisão dos processos em threads permite a execução de tarefas de maneira paralela ou concorrente.As threads, em um sistema operacional Linux,
  1. Apodem ser terminadas seletivamente através do comando kil.
  2. Bsão executadas de forma independente para minimizar conflitos.
  3. Ccompartilham, em um mesmo processo, o mesmo espaço de endereçamento.
  4. Dapresentam um custo de processamento maior durante mudanças de contexto do que os processos.
  5. Enão são vantajosas em sistemas multiprocessadores, por causarem perda de desempenho.
Revelar gabarito e comentário

GabaritoC — compartilham, em um mesmo processo, o mesmo espaço de endereçamento.

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 no Linux

Gabarito: letra C. As threads de um mesmo processo compartilham o mesmo espaço de endereçamento, incluindo código, dados e heap. Essa é uma característica fundamental que as distingue dos processos, que possuem espaços de endereçamento separados.

Característica

Threads (mesmo processo)

Processos

Espaço de endereçamento

Compartilhado (código, dados, heap)

Separado (cada processo tem o seu)

Custo de mudança de contexto

Menor (não troca tabelas de páginas/TLB)

Maior (troca tabelas de páginas/TLB)

Comunicação entre si

Direta (variáveis globais, sem IPC)

Indireta (IPC: pipes, sockets, etc.)

Independência

Baixa (compartilham recursos, risco de conflitos)

Alta (isolamento de recursos)

Vantagem em multiprocessadores

Alta (paralelismo dentro do processo)

Alta (paralelismo entre processos)

Threads no Linux
  • 1Características
    • Compartilham espaço de endereçamento
    • Mudança de contexto mais leve
    • Conflitos (condições de corrida)
  • 2Comparação com processos
    • Threads: mesmo espaço de endereçamento
    • Processos: espaços separados
  • 3Multiprocessadores
    • Vantajosas (paralelismo real)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Embora o comando kill possa, em algumas implementações, enviar sinais a threads específicas (usando o TID), a afirmação genérica de que "podem ser terminadas seletivamente através do comando kil [sic]" não reflete o uso padrão. O kill tradicional atua sobre processos, não sobre threads individuais. Além disso, o termo "kil" parece um erro de digitação, mas mesmo considerando kill, a forma seletiva não é a prática comum.

Alternativa B — ❌ Incorreta

Threads não são executadas de forma independente para minimizar conflitos; elas compartilham recursos (como memória e descritores de arquivos) e a comunicação entre threads pode gerar conflitos (condições de corrida). A independência é característica de processos, não de threads.

Alternativa C — ✅ Correta

Threads de um mesmo processo compartilham o mesmo espaço de endereçamento. Isso permite que elas acessem variáveis globais e estruturas de dados comuns sem necessidade de mecanismos complexos de comunicação entre processos (IPC). É uma definição clássica de threads.

Alternativa D — ❌ Incorreta

A mudança de contexto entre threads de um mesmo processo é mais leve (menos custo) do que entre processos, pois não envolve troca de tabelas de páginas ou TLB. Portanto, afirmar que o custo é maior está incorreto.

Alternativa E — ❌ Incorreta

Threads são altamente vantajosas em sistemas multiprocessadores, pois permitem que múltiplas tarefas de um mesmo processo sejam executadas em paralelo, aproveitando os múltiplos núcleos. Não há perda de desempenho intrínseca; pelo contrário, o paralelismo pode acelerar a execução.


Gabarito: letra C

Link permanente: /questoes/fg085502