Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação paralela utilizando troca de mensagens Exercícios 1. A programação paralela precisa da cooperação entre processadores para a resolução de uma tarefa, requerendo meios de comunicação. Os processos se comunicam por meio da troca de mensagens, utilizando chamadas de sub-rotinas especiais, enviando mensagens uns aos outros. Sendo assim, escolha a opção correta: Você acertou! A. A transferência de mensagens ocorre quando dados se movem de variáveis em um subprograma para variáveis de outro. A alternativa correta é a que diz que a transferência de mensagens ocorre quando dados se movem de variáveis em um subprograma para variáveis de outro. Dessa forma, a alternativa que fala que os dados se movem de uma unidade em um subprograma para uma unidade em outro está incorreta, bem como a que traz que os dados se movem de uma unidade em um subprograma para variáveis de outro, visto que os dados se movem de variáveis em um subprograma para variáveis de outro. Ainda, os processos podem ser executados em modo simultâneo, e seu número pode variar durante a execução do programa, então as demais alternativas também estão incorretas. 2. O meio de comunicação não se interessa pelo valor dos dados, apenas se preocupa com seu envio. Devem ser fornecidas algumas informações ao sistema de transmissão de mensagens, para determinar a transferência corretamente. Qual das alternativas a seguir traz essas informações corretamente? Você acertou! C. Os processadores que estão recebendo a mensagem; o processador receptor, onde os dados devem ser deixados; quantos dados estão sendo enviados. A opção correta é "Os processadores que estão recebendo a mensagem; o processador receptor, onde os dados devem ser deixados; quantos dados estão sendo enviados". A alternativa que trata do processador de recepção, onde os dados se encontram, está incorreta, pois o correto seria no processador de envio. A opção que menciona que os dados estão sendo recebidos também está incorreta, pois o correto é que os dados estão sendo enviados. A opção que cita o processador de envio, onde os dados devem ser deixados, está incorreta, já que o correto seria o processador receptor. Por fim, a opção que cita que o processador direcionador está apto a aceitar está incorreta, pois o correto seria que o processador receptor está apto a aceitar. 3. O paradigma de troca de mensagens exige um conjunto de processos somente com memória local, mas que se comunicam com os demais processos por meio do envio e do recebimento de mensagens. Sendo assim, considere as afirmações a seguir: I. A transferência dos dados de uma memória local de um processo para outro requer que as operações sejam executadas pelos dois processos. II. O processo de origem, mesmo que não tenha conexão lógica com o processo solicitante, deverá participar da interação. III. Os códigos escritos para esse tipo de paradigma podem ser complexos, porém podem atingir um desempenho muito elevado. IV.O processo de destino, mesmo que não tenha conexão lógica com o processo solicitante, deverá participar da interação. V. A transferência dos dados de uma memória local de um processo para outro requer que as operações sejam executadas apenas por um dos processos. Está correto o que se afirma em: Você acertou! E. I, II e III. A afirmação IV está incorreta, pois indica que o processo de destino, mesmo que não tenha conexão lógica com o processo solicitante, deverá participar da interação; o correto é o processo de origem, e não o de destino. A afirmação V também está incorreta, pois é necessário que as operações sejam executadas pelos dois processos, e não apenas por um deles. As afirmações I, II, III apresentam explicações pertinentes sobre a troca de mensagens. 4. Os programas de passagem de mensagens podem ser escritos utilizando-se paradigmas assíncronos ou fracamente síncronos. Dessa forma, é importante entender o que são os paradigmas assíncronos e fracamente síncronos. Assinale a alternativa correta referente a esses termos: Você acertou! B. Nos paradigmas assíncronos, todas as tarefas simultâneas são executadas de modo assíncrono, e nos fracamente síncronos, as tarefas ou subconjuntos de tarefas são sincronizadas para a realização das interações. A alternativa correta é a que conceitua os paradigmas assíncronos como aqueles em que todas as tarefas simultâneas são executadas de modo assíncrono (ou seja, para que uma mensagem seja enviada, não é necessário o recebimento da confirmação de entrega da mensagem anterior) e como paradigmas fracamente síncronos aqueles em que as tarefas ou subconjuntos de tarefas são sincronizadas para a realização das interações (ou seja, uma mensagem só é enviada após receber a confirmação de entrega da mensagem anterior). 5. Os detalhes de implementação e protocolos de mensagens garantem que as operações de envio e recebimento na comunicação de processos funcione de maneira adequada. Há dois modelos de operação de troca de mensagens, chamados de bloqueantes e não bloqueantes. Nesse sentido, analise as afirmações a seguir: I. No modelo de operação de troca de mensagens bloqueantes, há garantia de que a operação de envio retorne somente após a confirmação de autorização de envio por parte do destinatário. II. No modelo de operação de troca de mensagens não bloqueantes, a classe de protocolos sem bloqueio é mais lenta do que a com bloqueios, pois não necessita ficar aguardando retorno do processo de destino para enviar a mensagem; no entanto, está mais propensa a erros. III. No modelo de operação de troca de mensagens não bloqueantes, a classe de protocolos sem bloqueio é mais rápida do que a com bloqueios, pois não necessita ficar aguardando retorno do processo de destino para enviar a mensagem; no entanto, está mais propensa a erros. IV. No modelo de operação de troca de mensagens bloqueantes, há garantia de que a operação de envio retorne somente após a confirmação de autorização de envio por parte do remetente. V. No modelo de operação de troca de mensagens não bloqueantes, a classe de protocolos sem bloqueio é mais rápida do que a com bloqueios, pois não necessita ficar aguardando retorno do processo de destino para enviar a mensagem; no entanto, está menos propensa a erros. Quais afirmações estão corretas? Você acertou! D. Apenas I e III. A afirmação II está incorreta, pois, no modelo de operação de troca de mensagens não bloqueantes, a classe de protocolos sem bloqueio é mais rápida, e não mais lenta do que a com bloqueios. A afirmação IV também está incorreta, pois diz que, no modelo de operação de troca de mensagens bloqueantes, há garantia de que a operação de envio retorne somente após a confirmação de autorização de envio por parte do remetente — o correto é por parte do destinatário. A afirmação V está incorreta, pois afirma que a classe de protocolos sem bloqueio está menos propensa a erros — na verdade, ela está mais propensa a erros. Ou seja, apenas as afirmações I e III estão corretas. Programação paralela utilizando troca de mensagens Exercícios
Compartilhar