Pular para o conteúdo principal

Questão de Sistemas Operacionais — Threads — VUNESP 2024

Sistemas OperacionaisThreads
Código
vu083859
Banca
VUNESP
Órgão
Prefeitura de Mogi das Cruzes - SP
Ano
2024
Nível
Superior
Cargo
Analista de Sistemas
Existem diversas razões para o emprego de threads em sistemas operacionais, dentre elas:
  1. Acomo threads são mais “leves” (simples) do que os processos, é mais rápido criá-las e destruí-las do que os processos.
  2. Bcomputadores com mais de uma UCP ganham desempenho, pois computadores com uma única UCP não podem empregar threads.
  3. Cquando se busca aumentar o desempenho de uma UCP, pois threads não permitem que as atividades da UCP e de entrada e saída se sobreponham.
  4. Da maior integridade operacional, pois threads não compartilham um espaço de endereçamento entre elas.
  5. Ea maior segurança, pois threads não compartilham dados entre elas.
Revelar gabarito e comentário

GabaritoA — como threads são mais “leves” (simples) do que os processos, é mais rápido criá-las e destruí-las do que os processos.

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 em sistemas operacionais

Gabarito: letra A. Threads são estruturas mais leves que processos, compartilhando o mesmo espaço de endereçamento e recursos do processo pai, o que torna sua criação e destruição mais rápidas. Essa vantagem é explicitamente citada na literatura de sistemas operacionais (conteúdo de apoio).

A banca testa o conhecimento das características fundamentais das threads. A tabela abaixo resume as principais diferenças:

Característica

Processos

Threads

Criação/destruição

Mais lenta (cópia de contexto)

Mais rápida (compartilha recursos)

Espaço de endereçamento

Próprio e isolado

Compartilhado com o processo pai

Comunicação

IPC (mais complexo)

Compartilhamento direto de dados

Overhead de escalonamento

Alto

Baixo

Impacto de bloqueio

Bloqueio afeta apenas o processo

Bloqueio de uma thread não bloqueia outras do mesmo processo

1Criação/destruição
Threads: mais rápida
Processos: mais lenta
2Espaço de endereçamento
Threads: compartilhado
Processos: próprio e isolado
3Comunicação
Threads: compartilhamento direto
Processos: IPC (complexo)
4Overhead de escalonamento
Threads: baixo
Processos: alto
5Bloqueio
Threads: não bloqueia outras
Processos: afeta apenas o próprio
Threads vs Processos
LEVELsoulevel.com.br
Threads vs Processos: Criação/destruição (Threads: mais rápida, Processos: mais lenta); Espaço de endereçamento (Threads: compartilhado, Processos: próprio e isolado); Comunicação (Threads: compartilhamento direto, Processos: IPC (complexo)); Overhead de escalonamento (Threads: baixo, Processos: alto); Bloqueio (Threads: não bloqueia outras, Processos: afeta apenas o próprio)

Alternativa A — ✅ Correta ⟵ GABARITO

Afirma que threads são mais leves e mais rápidas de criar/destruir. Isso está de acordo com o texto de apoio: "Threads são mais rápidos de criar e destruir se comparado aos processos, uma vez que não possuem quaisquer recursos associados a eles."

Alternativa B — ❌ Incorreta

Diz que computadores com uma única CPU não podem empregar threads. Falso: threads podem ser usadas em sistemas single-CPU; elas executam concorrentemente por meio de time slicing, permitindo, por exemplo, que enquanto uma thread espera E/S, outra use a CPU. A afirmação confunde paralelismo real (multi-CPU) com concorrência.

Alternativa C — ❌ Incorreta

Afirma que threads não permitem sobreposição de atividades da CPU e de E/S. Na verdade, o contrário é verdade: "quando há grande quantidade de computação e de E/S, os threads permitem que essas atividades se sobreponham, acelerando a aplicação." (conteúdo de apoio). Logo, a alternativa inverte o efeito.

Alternativa D — ❌ Incorreta

Diz que threads não compartilham espaço de endereçamento. Falso: threads do mesmo processo compartilham o mesmo espaço de endereçamento, conforme o texto: "Cada thread tem o mesmo contexto de software e compartilha o mesmo espaço de memória (endereçado a um mesmo processo-pai)." A integridade operacional não é uma vantagem nesse sentido; pelo contrário, o compartilhamento exige sincronização.

Alternativa E — ❌ Incorreta

Afirma que threads não compartilham dados entre elas. Falso: threads compartilham dados globalmente (variáveis globais, arquivos abertos etc.). A segurança é, na verdade, um ponto de atenção, não uma vantagem; o compartilhamento pode gerar condições de corrida.

NÃO CAIA NESSA!

A banca aposta na confusão entre threads e processos. O candidato menos atento pode achar que threads só servem para máquinas multi-CPU (alternativa B) ou que não compartilham recursos (D e E). Lembre-se: threads são leves, compartilham espaço de endereçamento e permitem concorrência mesmo em single-CPU. 💪

Gabarito: letra A. A única alternativa que descreve corretamente uma vantagem real das threads.

Link permanente: /questoes/vu083859