Baixe o app para aproveitar ainda mais
Prévia do material em texto
Pontifícia Universidade católica de goiás Escola de Ciências Exatas e da Computação Engenharia de Computação e Ciências da Computação VINICIUS BIASI NASCIMENTO EXERCÍCIOS GOIÂNIA, 2021/1 Pontifícia Universidade católica de goiás Escola de Ciências Exatas e da Computação Engenharia de Computação e Ciências da Computação EXERCÍCIOS vinicius biasi nascimento Atividade apresentada como requisito para aprovação na disciplina CMP 1190, sob orientação da Prof.(a) Olegario Correa da Silva Neto. GOIÂNIA, 2021/1 Sumário 1 - Capítulo 4 4 1.1 Tanembaum - Exercícios: 6, 7, 8, 9, 14. 4 2 - Referências Bibliográficas 4 1 - Capítulo 4 1.1 Tanembaum - Exercícios: 6, 7, 8, 9, 14. 6) Um modo de manipular conversão de parâmetro em sistemas RPC é fazer com que cada máquina envie parâmetros em sua representação nativa, e a outra faça a tradução, se necessário. O sistema nativo poderá ser indicado por um código no primeiro byte. Contudo, uma vez que localizar o primeiro byte na primeira palavra é exatamente o problema, isso pode funcionar? Inicialmente, quando um computador envia o byte 0 (zero), ele sempre chega 0(zero). Assim, o computador destino pode acessar o byte 0 (usando a instrução byte) e o código estará nele. Não importa se se trata de “little-endian” ou “big-endian”. Uma alternativa pode ser colocar o código em todos os bytes da primeira palavra. Então, não importando qual byte seja examinado, o código estará lá. 7) Considere que um cliente chama uma RPC assíncrona para um servidor e, na sequência, espera até que o servidor retorne uma outra RPC assíncrona. Essa abordagem é o mesmo que deixar o cliente executar uma RPC normal? Não. Uma RPC assíncrona retorna um “ack” para o cliente chamador, significando que depois da primeira chamada do cliente, uma mensagem adicional é enviada pela rede. Da mesma forma, o servidor sabe que sua resposta foi entregue ao cliente. Duas RPCs assíncronas podem garantir uma comunicação confiável. 8) Em vez de deixar que um servidor registre a si mesmo em um daemon como em DCE, poderíamos também preferir sempre designar a ele a mesma porta. Portanto, essa porta pode ser usada em referências a objetos no espaço de endereço do servidor. Qual é a principal desvantagem desse esquema? A principal desvantagem é que se torna muito mais difícil alocar objetos dinamicamente aos servidores. Além disso, muitos endpoints precisam ser corrigidos, em vez de apenas um (ou seja, aquele para o daemon). Para máquinas que possivelmente têm um grande número de servidores, a atribuição estática de terminais não é uma boa ideia. 9) Seria útil fazer também uma distinção entre RPCs dinâmicas e estáticas? Sim, pelo mesmo motivo, é útil com invocações de objetos remotos: ele simplesmente introduz mais flexibilidade. A desvantagem, entretanto, é que muito da transparência da distribuição é perdida para a qual os RPCs foram introduzidos em primeiro lugar. 14) Faz sentido implementar comunicação persistente assíncrona por meio de RPCs? Sim, mas apenas numa base “nó-a-nó”, no qual um processo que gere uma fila de espera, passa uma mensagem ao próximo gestor de fila, por meio de um RPC. Efetivamente, o serviço oferecido por um gestor de fila de espera a outro, é o armazenamento de uma mensagem. Ao gestor de fila de espera chamante, é oferecida uma implementação de interface (proxy) para a fila remota, enquanto receberá, possivelmente, um feedback do estado de sucesso ou falha de cada operação. Deste modo, até mesmo os gestores de filas de espera ‘vêem’apenas filas e mais nenhuma ‘comunicação’ adicional logo grande transparência, independência e flexibilidade. - Referências Bibliográficas TANENBAUM, A. S.; STEEN, M. V. Sistemas Distribuídos: princípios e paradigmas. 2 ed. Prentice Hall, 2007.
Compartilhar