Questão de Sistemas Operacionais — Processos — FUNDATEC 2025
Sistemas Operacionais›Processos
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?
AUm processo é sempre mais leve e rápido que uma thread.
BProcessos compartilham o mesmo espaço de memória, enquanto threads têm espaços de memória separados.
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.
DUm processo não pode conter múltiplas threads.
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
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.