Engenharia Múltipla Escolha

A construção de programas concorrentes permite que sistemas modernos aproveitem a capacidade de multiprocessamento, executando múltiplas tarefas simultaneamente. Neste contexto, o uso de subprocessos e threads são abordagens distintas que apresentam vantagens e limitações específicas. Por exemplo, um servidor web que cria um subprocesso para cada requisição ilustra como a concorrência pode ser aplicada na prática. As threads, por compartilharem o mesmo espaço de endereçamento, proporcionam uma execução cooperativa e com menor sobrecarga de sistema. Considerando o texto, analise as afirmativas abaixo: I: O uso de threads reduz a sobrecarga do sistema em comparação aos subprocessos, uma vez que não há necessidade de alocar um novo espaço de endereçamento para cada thread. II: O modelo baseado em subprocessos exige menor uso de recursos computacionais, já que cada processo filho compartilha integralmente a memória do processo pai. III: A criação de subprocessos em um servidor web permite melhor aproveitamento da capacidade de multiprocessamento do sistema, ao distribuir as requisições entre diferentes processadores.

A construção de programas concorrentes permite que sistemas modernos aproveitem a capacidade de multiprocessamento, executando múltiplas tarefas simultaneamente. Neste contexto, o uso de subprocessos e threads são abordagens distintas que apresentam vantagens e limitações específicas. Por exemplo, um servidor web que cria um subprocesso para cada requisição ilustra como a concorrência pode ser aplicada na prática. As threads, por compartilharem o mesmo espaço de endereçamento, proporcionam uma execução cooperativa e com menor sobrecarga de sistema. Considerando o texto, analise as afirmativas abaixo:

I: O uso de threads reduz a sobrecarga do sistema em comparação aos subprocessos, uma vez que não há necessidade de alocar um novo espaço de endereçamento para cada thread.

II: O modelo baseado em subprocessos exige menor uso de recursos computacionais, já que cada processo filho compartilha integralmente a memória do processo pai.

III: A criação de subprocessos em um servidor web permite melhor aproveitamento da capacidade de multiprocessamento do sistema, ao distribuir as requisições entre diferentes processadores.

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

Resolução completa

Explicação passo a passo

B
Alternativa B

Alternativa B - I e III

A questão aborda conceitos fundamentais de sistemas operacionais, especificamente a diferença entre processos (subprocessos) e threads na programação concorrente.

Análise das Afirmações

Para determinar a resposta correta, é necessário analisar cada afirmativa com base nas características de gerenciamento de memória e execução:

  • Afirmação I (Correta): As threads pertencem a um processo e compartilham o mesmo espaço de endereçamento (memória RAM, código, dados). Isso significa que criar uma thread é muito mais leve ("overhead" menor) do que criar um novo processo, pois não é necessário alocar um novo contexto de memória isolado.
  • Afirmação II (Incorreta): Esta afirmação inverte os conceitos. Subprocessos (Processos) possuem espaços de endereçamento isolados entre si. Eles não compartilham memória integralmente por padrão (para garantir segurança e estabilidade). O compartilhamento total de memória é uma característica das threads, não dos subprocessos. Portanto, subprocessos exigem mais recursos, não menos.
  • Afirmação III (Correta): Como os subprocessos são entidades independentes gerenciadas pelo escalonador do sistema operacional, eles podem ser executados simultaneamente em núcleos físicos distintos (multiprocessamento real). Em um servidor web, criar subprocessos para requisições distintas permite que várias tarefas sejam processadas em paralelo em diferentes processadores, aproveitando melhor a arquitetura multicore.

Resumo Comparativo

CaracterísticaSubprocesso (Processo)Thread
MemóriaEspaço isolado (separado)Compartilhada (com o processo pai)
CriaçãoMais lenta (alto custo)Mais rápida (baixo custo)
ComunicaçãoIPC (Inter-Process Communication)Variáveis globais/memória direta
FalhaIsolada (não afeta outros)Pode derrubar todo o processo

Portanto, apenas as afirmações I e III estão corretas.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Engenharia

Ver mais Engenharia resolvidas

Tem outra questão de Engenharia?

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