Geral Múltipla Escolha

A compreensão dos conceitos de gerenciamento de memória e alocação de processos em um sistema operacional é fundamental para a formação de um profissional de TI. Dentro desse contexto, analise as afirmativas a seguir e marque a alternativa correta sobre Threads.

A compreensão dos conceitos de gerenciamento de memória e alocação de processos em um sistema operacional é fundamental para a formação de um profissional de TI. Dentro desse contexto, analise as afirmativas a seguir e marque a alternativa correta sobre Threads.

  1. A utilização de threads deve ser evitada pelo programador, uma vez que não traz nenhum benefício para o processamento.
  2. Não haverá aumento de desempenho se o sistema possuir múltiplas UCPs.
  3. Pode haver no máximo um thread por processo do sistema.
  4. São linhas de execução concorrentes dentro de um processo.
  5. São processos que executam com menos controle do sistema operacional.

Resolução completa

Explicação passo a passo

D
Alternativa D

Alternativa D - São linhas de execução concorrentes dentro de um processo.

Introdução

Para compreender a resposta correta, é necessário diferenciar os conceitos de Processo e Thread (ou Tarefa) em Sistemas Operacionais. Ambos são fundamentais para o gerenciamento da CPU e da memória.

O conceito central aqui é que uma Thread representa a unidade mínima de processamento que pode ser agendada pelo sistema operacional.

Análise das Alternativas

Abaixo, detalhamos o porquê da alternativa D estar correta e as demais estarem incorretas:

  • Definição Técnica (Alternativa D): Uma thread é essencialmente uma sequência de instruções que podem ser executadas independentemente. Elas residem dentro de um processo e compartilham o mesmo espaço de endereçamento de memória, pilha e recursos do sistema, mas possuem seu próprio contador de programa e registradores. Isso permite a concorrência (execução intercalada ou paralela).
  • Por que a A está errada? O uso de threads não deve ser evitado. Pelo contrário, elas trazem benefícios significativos como maior responsividade (ex: manter a interface gráfica ativa enquanto carrega dados), economia de recursos (criar uma thread é mais leve que criar um novo processo) e melhor utilização da CPU.
  • Por que a B está errada? Em sistemas com múltiplas UCPS (Unidades Centrais de Processamento) ou núcleos, as threads permitem o paralelismo real, onde diferentes threads rodam simultaneamente em diferentes núcleos, aumentando drasticamente o desempenho.
  • Por que a C está errada? Um processo pode conter várias threads. Na verdade, a maioria dos programas modernos utiliza múltiplas threads para realizar tarefas complexas em paralelo.
  • Por que a E está errada? Embora as threads sejam mais leves que processos completos, dizer que são "processos com menos controle" é tecnicamente impreciso. O SO gerencia threads diretamente (via escalonador), e a distinção principal é que elas compartilham recursos do processo pai, enquanto processos têm espaços de memória isolados.

Conclusão

A definição clássica e técnica de thread é a de uma linha de execução independente que opera dentro do contexto de um processo compartilhado. Portanto, a alternativa D é a única que descreve corretamente a natureza dessas entidades.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Geral

Ver mais Geral resolvidas

Tem outra questão de Geral?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.