Pular para o conteúdo principal

Questão de Sistemas Operacionais — Processos — FUNDATEC 2025

Sistemas OperacionaisProcessos
Código
qg474883
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2025
Nível
Superior
Cargo
Analista em Computação / Ênfase em Análise de Sistemas / Gerência de Projetos de TI
Qual é a principal diferença entre um processo e uma thread em sistemas operacionais?
  1. AUm processo é sempre mais leve e rápido que uma thread.
  2. BProcessos compartilham o mesmo espaço de memória, enquanto threads têm espaços de memória separados.
  3. CThreads são unidades de execução dentro de um processo, compartilhando os recursos do processo (como memória), o que as torna mais leves para criar e gerenciar.
  4. DUm processo não pode conter múltiplas threads.
  5. EApenas threads podem executar em paralelo em sistemas com múltiplos processadores.
Revelar gabarito e comentário

GabaritoC — Threads são unidades de execução dentro de um processo, compartilhando os recursos do processo (como memória), o que as torna mais leves para criar e gerenciar.

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”.

Diferença entre Processo e Thread

Gabarito: letra C. A principal diferença é que threads são unidades de execução dentro de um processo, compartilhando o espaço de endereçamento e recursos (como memória e arquivos abertos), enquanto processos possuem espaços de memória independentes e são isolados entre si. Essa característica torna as threads mais leves para criar e gerenciar, pois a troca de contexto entre threads de um mesmo processo é menos custosa que a troca entre processos.

NÃO CAIA NESSA!

A banca explora inversões clássicas: (A) troca "leve" por "pesado" – processo é mais pesado; (B) inverte quem compartilha memória – são as threads, não os processos; (D) nega a possibilidade de múltiplas threads em um processo – todo processo moderno pode ter várias threads; (E) afirma que apenas threads executam em paralelo – tanto processos quanto threads podem executar em paralelo em sistemas com múltiplos processadores.

A tabela a seguir resume as diferenças essenciais:

Característica

Processo

Thread

Espaço de endereçamento

Próprio e isolado

Compartilhado com o processo pai

Trocas de contexto

Mais custosas (envolve troca de tabelas de memória)

Mais leves (compartilha mesmo espaço)

Criação

Mais custosa (aloca recursos independentes)

Mais rápida (reutiliza recursos do processo)

Comunicação

IPC (pipe, socket, memória compartilhada)

Memória compartilhada diretamente

Falha

Falha de um processo não afeta outros

Falha de uma thread pode derrubar todo o processo

1Espaço de endereçamento
Processo: próprio e isolado
Thread: compartilhado com o processo
2Troca de contexto
Processo: mais custosa
Thread: mais leve
3Criação
Processo: mais custosa
Thread: mais rápida
4Comunicação
Processo: IPC (pipe, socket)
Thread: memória compartilhada
5Falha
Processo: não afeta outros
Thread: pode derrubar o processo
Processo vs Thread
LEVELsoulevel.com.br
Processo vs Thread: Espaço de endereçamento (Processo: próprio e isolado, Thread: compartilhado com o processo); Troca de contexto (Processo: mais custosa, Thread: mais leve); Criação (Processo: mais custosa, Thread: mais rápida); Comunicação (Processo: IPC (pipe, socket), Thread: memória compartilhada); Falha (Processo: não afeta outros, Thread: pode derrubar o processo)

Alternativa A — ❌ Incorreta

Afirma que "um processo é sempre mais leve e rápido que uma thread". É o oposto: processos são mais pesados, pois possuem seu próprio espaço de endereçamento e exigem mais recursos do SO para criação e gerenciamento. Threads, por compartilharem o contexto do processo, são mais leves e rápidas.

Alternativa B — ❌ Incorreta

Afirma que "processos compartilham o mesmo espaço de memória, enquanto threads têm espaços de memória separados". É o inverso: processos possuem espaços de memória separados (isolamento); threads compartilham o mesmo espaço de memória do processo que as contém.

Alternativa C — ✅ Correta ⟵ GABARITO

Descreve corretamente que "threads são unidades de execução dentro de um processo, compartilhando os recursos do processo (como memória), o que as torna mais leves para criar e gerenciar". Essa é a definição fundamental: threads são a unidade básica de utilização da CPU, enquanto processos são contêineres que fornecem o ambiente de execução.

Alternativa D — ❌ Incorreta

Afirma que "um processo não pode conter múltiplas threads". Falso: sistemas operacionais modernos (Windows, Linux, macOS) suportam multithreading. Um processo pode conter uma ou mais threads, que executam concorrentemente dentro do mesmo espaço de endereçamento.

Alternativa E — ❌ Incorreta

Afirma que "apenas threads podem executar em paralelo em sistemas com múltiplos processadores". Tanto processos quanto threads podem executar em paralelo em sistemas multiprocessadores. A diferença é que threads de um mesmo processo compartilham memória e podem cooperar mais facilmente, mas ambos são capazes de execução paralela.

Gabarito: letra C.

Link permanente: /questoes/qg474883