Informática Múltipla Escolha

Considerando o texto, analise as afirmativas abaixo: Ao criar threads com o flag CLONE_VM, o sistema assegura que todos compartilhem o mesmo espaço de endereço. II. A criação de subprocessos no Linux com uso do mecanismo de cópia na escrita (copy on write) reduz o tempo de criação ao evitar a duplicação imediata dos segmentos de memória. III. A comutação de contexto entre subprocessos é menos custosa que entre threads, pois há maior isolamento e recursos dedicados.

Considerando o texto, analise as afirmativas abaixo:

I. Ao criar threads com o flag CLONE_VM, o sistema assegura que todos compartilhem o mesmo espaço de endereço.
II. A criação de subprocessos no Linux com uso do mecanismo de cópia na escrita (copy on write) reduz o tempo de criação ao evitar a duplicação imediata dos segmentos de memória.
III. A comutação de contexto entre subprocessos é menos custosa que entre threads, pois há maior isolamento e recursos dedicados.

  1. I, III
  2. I, II
  3. II, III
  4. I, II, III
  5. I

Resolução completa

Explicação passo a passo

B
Alternativa B

Alternativa B - I e II

Análise Detalhada

Vamos examinar cada uma das afirmativas apresentadas sobre gerenciamento de processos e threads no Linux.

Afirmação I: Correta

"Ao criar threads com o flag CLONE_VM, o sistema assegura que todos compartilham o mesmo espaço de endereço..."

No Linux, a criação de threads geralmente utiliza a chamada de sistema clone(). O flag CLONE_VM instrui o kernel a compartilhar o espaço de memória virtual entre o processo pai e o filho. Como threads de um mesmo processo precisam acessar os mesmos dados globais e heap, compartilhar o espaço de endereçamento é fundamental para esse funcionamento.

Afirmação II: Correta

"A criação de subprocessos no Linux com uso do mecanismo de cópia na escrita (copy on write) reduz o tempo de criação ao evitar a duplicação imediata dos segmentos de memória."

Quando utilizamos fork() para criar um processo, o Linux não copia imediatamente todo o conteúdo da memória RAM para o novo processo (o que seria extremamente lento). Em vez disso, ele aplica o mecanismo Copy-on-Write (COW):

  • Ambos os processos apontam para as mesmas páginas de memória físicas inicialmente.
  • Se um deles tentar modificar um dado, o kernel então copia aquela página específica para o novo processo.
    Isso otimiza drasticamente a criação de processos filhos.

Afirmação III: Incorreta

"A comutação de contexto entre subprocessos é menos custosa que entre threads..."

Esta afirmação inverte a realidade. A comutação de contexto (troca de execução) entre threads é muito mais rápida (menos custosa) do que entre processos/subprocessos.

  • Threads: Compartilham o mesmo espaço de memória, logo, não é necessário trocar as tabelas de páginas ou limpar caches complexos como a TLB (Translation Lookaside Buffer).
  • Processos: Possuem espaços de memória isolados. Trocar de processo exige atualizar o mapeamento de memória virtual, o que gera overhead significativo de hardware e software.

Conclusão

As afirmações corretas são a I e a II. A afirmação III está errada porque a troca de contexto entre processos é mais cara que entre threads devido ao isolamento de memória.

Portanto, a alternativa correta é a B.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Informática

Ver mais Informática resolvidas

Tem outra questão de Informática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.