Questão de Sistemas Operacionais — Threads — VUNESP 2024
Sistemas Operacionais›Threads
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:
Acomo threads são mais “leves” (simples) do que os processos, é mais rápido criá-las e destruí-las do que os processos.
Bcomputadores com mais de uma UCP ganham desempenho, pois computadores com uma única UCP não podem empregar threads.
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.
Da maior integridade operacional, pois threads não compartilham um espaço de endereçamento entre elas.
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
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.