A programação paralela e distribuída é feita principalmente por dois conceitos básicos: processos e threads. Sabe-se que processos são mais pesados que threads. Por que isso acontece?

Questão

A programação paralela e distribuída é feita principalmente por dois conceitos básicos: processos e threads.

Sabe-se que processos são mais pesados que threads. Por que isso acontece?

Alternativas

a) Processos realizam um número maior de comunicações.

b) Threads se comunicam por memória compartilhada, que é rápida.

c) Processos se comunicam apenas por mensagens, portanto são mais lentos.

d) Threads alocam menos memória do que processos.

e) Threads vivem dentro de um processo já existente e têm acesso à sua memória

92%

Explicação

Ideia central: um processo é uma unidade de execução com espaço de endereçamento próprio e diversos recursos associados (tabelas de páginas, descritores/handles, contexto de segurança, etc.). Já uma thread é uma unidade de execução dentro de um processo, compartilhando praticamente todos esses recursos (principalmente memória), tendo “próprio” basicamente contador de programa, registradores e pilha (stack).

Por que processos são mais “pesados” que threads?

  1. Isolamento de memória: cada processo tende a ter seu próprio espaço de memória virtual. Criar/trocar de processo envolve lidar com estruturas do SO relacionadas a esse isolamento (ex.: mapeamentos de memória, tabelas de páginas), o que aumenta o custo.
  2. Mais recursos por unidade: processos carregam mais “estado” e recursos gerenciados pelo sistema operacional do que uma thread.
  3. Troca de contexto (context switch) mais cara: alternar entre processos geralmente exige trocar o contexto incluindo o espaço de endereçamento (ou estruturas equivalentes), enquanto alternar entre threads do mesmo processo reaproveita o mesmo espaço de memória e boa parte dos recursos.

A alternativa que melhor expressa esse motivo fundamental é a que destaca que threads existem dentro de um processo e acessam a memória dele, logo demandam menos estruturas e menos custo de gerenciamento pelo SO.

Alternativa correta: (e).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.