Analise as afirmações a seguir sobre execução de múltiplos ...
Analise as afirmações a seguir sobre execução de múltiplos processos e threads em um sistema operacional e assinale com V as verdadeiras e com F as falsas.
( ) Processos são considerados mais pesados que threads porque podem realizar operações de entrada / saída.
( ) Uma troca de contexto entre threads de um mesmo processo é mais leve do que uma troca de contexto entre processos.
( ) Comunicação interprocessos utilizando transmissão de mensagem tem desempenho superior à comunicação utilizando memória compartilhada.
( ) Uma razão para utilizar threads em vez de processos para computação paralela é facilitar compartilhamento de memória.
Assinale a sequência CORRETA.
( F ) Processos são considerados mais pesados que threads porque podem realizar operações de entrada / saída.
Incorreta, não é por que processos realizam I/O que eles são mais pesados, na verdade as threads são mais leves por que compartilham vários 'itens' dos processos.
( V ) Uma troca de contexto entre threads de um mesmo processo é mais leve do que uma troca de contexto entre processos.
Correto, conforme mencionado acima
( F ) Comunicação interprocessos utilizando transmissão de mensagem tem desempenho superior à comunicação utilizando memória compartilhada.
Incorreta, motivo? Não encontrei nada na literatura que corrobore, porém dificilmente transmissão de mensagem será superior a algo que já esteja em memória compartilhada. Porém se alguém souber qual fonte o examinador usou, ou se cometi algum erro, por favor me envie uma mensagem!
( V ) Uma razão para utilizar threads em vez de processos para computação paralela é facilitar compartilhamento de memória.
Correto, já que thread compartilham memória; e processos são isolados, não compartilham memória
GABARITO ALTERNATIVA C
Gabarito C
1) Threads também podem fazer I/O
2) Sim troca de contexto entre threads é mais leve do que de processo
3) Não, pois quando manda via mensagem, o mesmo está mandando pela rede... logo quando tem algo in loco, é mais rápido para processar.
4) Sim pois threads também é mais leve e facil de utilizar.
Vamos analisar a questão e chegar à alternativa correta, que é a letra C (F V F V).
Primeiro, vamos entender cada afirmação e discutir por que elas são verdadeiras ou falsas.
( ) Processos são considerados mais pesados que threads porque podem realizar operações de entrada/saída.
Essa afirmação é FALSA. Processos são, de fato, mais "pesados" que threads, mas não é por causa das operações de entrada/saída. A principal razão é que processos possuem um espaço de endereço separado, necessitando de mais recursos do sistema para gerenciar e trocar contextos, enquanto as threads compartilham o mesmo espaço de endereço do processo pai, tornando a troca de contexto mais eficiente.
( ) Uma troca de contexto entre threads de um mesmo processo é mais leve do que uma troca de contexto entre processos.
Essa afirmação é VERDADEIRA. Como as threads compartilham o mesmo espaço de endereço, a troca de contexto entre elas é menos custosa em termos de tempo e recursos comparada à troca de contexto entre processos, que envolve a troca não apenas dos registradores, mas também dos espaços de memória.
( ) Comunicação interprocessos utilizando transmissão de mensagem tem desempenho superior à comunicação utilizando memória compartilhada.
Essa afirmação é FALSA. A comunicação via memória compartilhada é, em geral, mais rápida e eficiente porque a troca de informações acontece diretamente na memória, sem a necessidade de cópias adicionais ou processos de sincronização envolvidos na transmissão de mensagens.
( ) Uma razão para utilizar threads em vez de processos para computação paralela é facilitar compartilhamento de memória.
Essa afirmação é VERDADEIRA. Utilizar threads facilita o compartilhamento de memória, pois as threads do mesmo processo compartilham o mesmo espaço de endereço, permitindo uma comunicação mais eficiente e menos complexa entre elas. Isso é particularmente vantajoso em aplicações que requerem troca frequente e rápida de informações.
Resumindo, a alternativa C está correta porque:
F - A primeira afirmação está incorreta sobre a razão de processos serem mais pesados que threads.
V - A segunda afirmação está correta sobre a troca de contexto entre threads ser mais leve.
F - A terceira afirmação está incorreta sobre o desempenho da comunicação interprocessos.
V - A quarta afirmação está correta sobre o compartilhamento de memória ser uma razão para utilizar threads.
Espero que esta explicação tenha esclarecido suas dúvidas. Se precisar de mais alguma coisa, estarei por aqui para ajudar!