Pular para o conteúdo principal

Questão de Sistemas Operacionais — Threads (SO) — Avança SP 2023

Sistemas OperacionaisThreads (SO)
Código
qa541248
Banca
Avança SP
Órgão
Pref Morungaba
Ano
2023
Cargo
ASI (Morungaba)
Qual das alternativas abaixo é um mecanismo que possibilita a execução simultânea de instruções em um sistema operacional?
  1. AOtimização de memória.
  2. BProcessamento paralelo.
  3. CSegmentação de memória.
  4. DMinimização de processos.
  5. EThreading.
Revelar gabarito e comentário

GabaritoE — Threading.

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 execução simultânea em sistemas operacionais

Gabarito: letra E. O mecanismo que possibilita a execução simultânea de instruções em um sistema operacional é o threading (multithreading), pois permite que um processo seja dividido em múltiplos fluxos de execução (threads) que podem rodar concorrentemente — e, em máquinas com múltiplos núcleos, verdadeiramente em paralelo. As demais alternativas tratam de outros aspectos (memória, processos) que não têm como finalidade a execução simultânea de instruções.

O conceito central aqui é o de thread (ou linha de execução). Uma thread é um fluxo de execução independente dentro de um processo. Enquanto um processo tradicional (single-thread) executa uma sequência única de instruções, um processo multithread pode ter várias threads, cada uma executando seu próprio código, mas compartilhando o mesmo espaço de endereçamento e os mesmos recursos do processo (arquivos abertos, variáveis globais, etc.). Essa característica é o que permite a execução simultânea: em um sistema com uma única CPU, as threads são escalonadas de forma tão rápida que parecem simultâneas (concorrência); em sistemas com múltiplas CPUs ou núcleos, elas podem ser executadas de fato ao mesmo tempo (paralelismo).

A banca explora a confusão entre concorrência e paralelismo. O threading é o mecanismo que viabiliza ambos: a concorrência (intercalação de execuções) e, quando há hardware adequado, o paralelismo real. As alternativas incorretas tentam atrair o candidato com termos relacionados a outros subsistemas do SO, como gerência de memória (otimização, segmentação) ou gestão de processos (minimização), que não têm relação direta com a execução simultânea de instruções.

Para fixar: a execução simultânea de instruções é o objetivo do multithreading. O sistema operacional gerencia as threads (sejam de usuário ou de núcleo) e o escalonador decide qual thread executa em cada momento. Em um sistema multicore, threads de um mesmo processo podem rodar em paralelo, acelerando a aplicação. Esse é o ponto que separa a alternativa correta das demais: apenas o threading é um mecanismo voltado à execução simultânea.

Threading (multithreading)
  • 1Fluxo de execução independente
    • Dentro de um processo
    • Compartilha espaço de endereçamento
  • 2Execução simultânea
    • Concorrência (1 núcleo, escalonamento)
    • Paralelismo (múltiplos núcleos)
  • 3Tipos
    • Threads de núcleo (SO)
    • Threads de usuário (bibliotecas)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Otimização de memória é um conceito ligado à gerência de memória (técnicas como alocação, paginação, segmentação, memória virtual). Não é um mecanismo de execução simultânea de instruções. A otimização de memória visa melhorar o uso da memória disponível, não criar fluxos de execução paralelos.

Alternativa B — ❌ Incorreta

Processamento paralelo é um resultado ou uma capacidade do hardware (múltiplas CPUs/núcleos) que permite executar instruções simultaneamente. No entanto, a questão pergunta por um mecanismo do sistema operacional que possibilita essa execução. O processamento paralelo é a consequência, não o mecanismo. O mecanismo que o SO oferece para aproveitar o paralelismo é o threading (multithreading). Além disso, a alternativa é genérica e não se refere a um mecanismo específico do SO.

Alternativa C — ❌ Incorreta

Segmentação de memória é uma técnica de gerência de memória que divide o espaço de endereçamento em segmentos lógicos (código, dados, pilha). Não tem relação com execução simultânea de instruções. É um mecanismo de organização da memória, não de execução.

Alternativa D — ❌ Incorreta

Minimização de processos não é um termo técnico consagrado em sistemas operacionais. Reduzir o número de processos não cria execução simultânea; pelo contrário, diminuir a quantidade de processos tende a reduzir a concorrência. Não há relação com o mecanismo de execução simultânea.

Alternativa E — ✅ Correta ⟵ GABARITO

Threading (ou multithreading) é exatamente o mecanismo que permite a execução simultânea de instruções. Uma thread é um fluxo de execução independente dentro de um processo; múltiplas threads podem ser executadas concorrentemente (em um único núcleo, por escalonamento) ou em paralelo (em múltiplos núcleos). O suporte a threads é fornecido pelo sistema operacional (threads de núcleo) ou por bibliotecas de usuário (threads de usuário). É o conceito que responde diretamente ao enunciado.

Gabarito: letra E

Link permanente: /questoes/qa541248