Pular para o conteúdo principal

Questão de Sistemas Operacionais — Geral — INSTITUTO AOCP 2025

Sistemas OperacionaisGeral
Código
qa701192
Banca
INSTITUTO AOCP
Órgão
TRE TO
Ano
2025
Cargo
TJ
Existem diversas tecnologias e conceitos fundamentais para o desenvolvimento moderno de sistemas, desde aplicativos móveis até soluções web e empresariais complexas, sendo um desses conceitos essenciais o de threads. Nesse sentido, assinale a alternativa que descreve corretamente a função de threads dentro de um programa de computador.
  1. ASão maneiras pelas quais um processo ou uma tarefa de um programa é subdividido(a) em múltiplas tarefas menores, que podem ser executadas simultaneamente ou de forma concorrente.
  2. BSão técnicas de segurança utilizadas para proteger programas contra falhas durante sua execução.
  3. CSão partes de um programa que são executadas apenas uma vez e nunca podem ser reutilizadas em outros programas.
  4. DSão processos que precisam ser manualmente reiniciados sempre que um erro ocorre durante sua execução.
  5. ESão tipos de dispositivos de hardware que executam comandos específicos de um programa.
Revelar gabarito e comentário

GabaritoA — São maneiras pelas quais um processo ou uma tarefa de um programa é subdividido(a) em múltiplas tarefas menores, que podem ser executadas simultaneamente ou de forma concorrente.

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: a unidade de execução dentro de um processo

Gabarito: letra A. Threads são as unidades básicas de execução em que um processo é subdividido, permitindo que múltiplas tarefas menores rodem de forma concorrente ou simultânea dentro do mesmo espaço de endereçamento — exatamente o que descreve a alternativa correta. Esse é um conceito central de sistemas operacionais, presente em qualquer material de referência da área, como os livros clássicos de Tanenbaum e Silberschatz.

Para entender threads, é preciso primeiro diferenciá-las de processos. Um processo é um programa em execução, com seu próprio espaço de endereçamento de memória, recursos e contexto. Uma thread (ou linha de execução) é uma unidade menor dentro desse processo — é o "fluxo de execução" que o processador realmente executa. Um processo pode conter uma ou várias threads, que compartilham o mesmo espaço de memória, arquivos abertos e outros recursos do processo. Isso é o que torna as threads mais "leves" que processos: criar uma thread é mais rápido e consome menos recursos do que criar um processo inteiro, pois não há necessidade de duplicar o espaço de endereçamento.

A grande vantagem das threads é permitir que um programa realize várias tarefas ao mesmo tempo (ou de forma aparentemente simultânea). Um navegador, por exemplo, pode usar uma thread para renderizar a página, outra para baixar imagens e outra para responder à interação do usuário — tudo dentro do mesmo processo. Isso melhora o desempenho e a responsividade. Por outro lado, como as threads compartilham memória, um erro em uma thread pode corromper dados e derrubar todo o processo, o que não acontece com processos isolados.

A distinção fundamental que a banca explora é: processo = unidade de propriedade de recursos; thread = unidade de escalonamento e execução. Enquanto processos são isolados entre si, threads são concorrentes dentro do mesmo processo. É essa fronteira que separa a alternativa correta das demais.

1Definição
Unidade básica de execução
Subdivisão de um processo
Execução concorrente ou simultânea
2Processo × Thread
Processo: unidade de propriedade de recursos
Thread: unidade de escalonamento e execução
3Características
Compartilham memória e recursos
Mais leves que processos
Criação e destruição dinâmicas
4Vantagens
Melhor desempenho e responsividade
Múltiplas tarefas no mesmo processo
5Desvantagens
Erro em uma thread pode derrubar o processo
Threads
LEVELsoulevel.com.br
Threads: Definição (Unidade básica de execução, Subdivisão de um processo, Execução concorrente ou simultânea); Processo × Thread (Processo: unidade de propriedade de recursos, Thread: unidade de escalonamento e execução); Características (Compartilham memória e recursos, Mais leves que processos, Criação e destruição dinâmicas); Vantagens (Melhor desempenho e responsividade, Múltiplas tarefas no mesmo processo); Desvantagens (Erro em uma thread pode derrubar o processo)

Alternativa A — ✅ Correta ⟵ GABARITO

A alternativa descreve com precisão o conceito de threads: são maneiras pelas quais um processo é subdividido em tarefas menores, que podem ser executadas simultaneamente (em sistemas multiprocessados, com múltiplos núcleos) ou de forma concorrente (em sistemas com um único núcleo, onde as threads se alternam rapidamente no processador). Essa é a definição clássica encontrada na literatura de sistemas operacionais.

Alternativa B — ❌ Incorreta

Threads não são técnicas de segurança. Segurança em sistemas operacionais envolve mecanismos como controle de acesso, autenticação, criptografia e isolamento de processos — não a subdivisão de tarefas. A alternativa confunde o conceito de thread com medidas de proteção de software.

Alternativa C — ❌ Incorreta

Threads não são partes de um programa executadas apenas uma vez e que nunca podem ser reutilizadas. Pelo contrário, threads são criadas e destruídas dinamicamente durante a execução, e o código que elas executam (o método run, por exemplo) pode ser reutilizado quantas vezes for necessário. A alternativa descreve algo sem sentido no contexto de programação.

Alternativa D — ❌ Incorreta

Threads não são processos que precisam ser reiniciados manualmente a cada erro. Erros em threads são tratados pelo próprio sistema operacional ou pelo programa, e a criação de novas threads é uma operação automática e rápida. A alternativa confunde threads com processos que exigem intervenção manual, o que não corresponde à realidade.

Alternativa E — ❌ Incorreta

Threads são entidades de software, não dispositivos de hardware. Hardware executa instruções de máquina, mas threads são abstrações criadas pelo sistema operacional para organizar a execução de tarefas dentro de um processo. A alternativa confunde o conceito de thread com componentes físicos do computador.

Gabarito: letra A

Link permanente: /questoes/qa701192