Sunteți pe pagina 1din 3

Universidade Católica de Pernambuco  

Centro de Ciências e Tecnologia  
Sistemas Distribuídos  
Prof. Almir Pires – almir.pires@gmail.com  
Data de Entrega: 29/03/2012  
 
Lista de Exercícios – Capítulo 4  
 
Comunicação Interprocessos  
 
1. É conceitualmente útil que uma porta tenha vários receptores? (Coulouris – 
Exercício 4.1). 
Se vários processos compartilham uma porta, em seguida, deve ser possível para todos os 
mensagens que chegam nessa porta para ser recebido e processado de forma 
independente por esses processos. 
Processos não costumam compartilhar dados, mas que partilham uma porta faria requer 
acesso a dados ordinárias representativas do mensagens na fila no porto. Além disso, a 
estrutura da fila seria complicado pelo facto de que cada processo tem a sua própria ideia 
da frente da fila e, quando a fila está vazia. 
Note­se que um grupo de portas pode ser usado para permitir que vários processos para 
receber a mesma mensagem 
 
2. Um servidor cria uma porta que usa para receber requisições de clientes. Discuta 
os objetivos desse projeto de acordo com o relacionamento entre o nome desta porta 
e os nomes usados pelos clientes. (Coulouris – Exercício 4.2)  
As principais questões de projeto para localizar as portas do servidor são: 
(i) Como é que um cliente sabe o porta eo endereço IP para usar para atingir um serviço? 
As opções são: 
• usar um servidor de nome / ligante para mapear o nome textual de cada serviço à 
sua porta; 
• cada serviço usa bem conhecido id porta independente do local, o que evita uma 
pesquisa em um servidor de nomes. 
O sistema operacional ainda tem de olhar para cima o paradeiro do servidor, mas a 
resposta pode ser armazenada em cache localmente. 
(ii) Como podem diferentes servidores oferecem o serviço em momentos diferentes? 
Identificadores de porta independentes do local do serviço para permitir que têm a mesma 
porta em diferentes locais. Se um ligante é usado, o cliente precisa voltar a consultar o 
cliente para encontrar o novo local. 
(iii) Eficiência de acesso aos portos e identificadores locais. 
Às vezes, os sistemas operacionais permitem que os processos de usar nomes locais 
eficientes para se referir aos portos. Isto torna­se um problema quando um servidor cria 
uma porta não­pública para um determinado cliente para enviar mensagens para, porque o 
nome local é insignificante para o cliente e tem de ser traduzido para um identificador global 
para utilização pelo cliente. 
 
 
3. SUN XDR faz o marshalling dos dados convertendo­os para o padrão big­endian 
antes da transmissão. Discuta as vantagens e desvantagens deste método 
comparando­o com o método para marshalling usado pelo CORBA, CDR CORBA. 
(Coulouris – Exercício 4.7)  
O método XDR que utiliza um formulário padrão é ineficiente quando a comunicação 
ocorre entre pares de computadores semelhantes cuja byte ordenamentos diferir do padrão. 
É eficiente nas redes em que o byte de ordenação utilizado pela maioria dos computadores 
é a mesma como a forma padrão. A conversão por remetentes e os destinatários que 
utilizam o formulário padrão está em vigor uma operação nula. 
Em CORBA remetentes CDR incluem um identificador em cada mensagem e os 
destinatários para converter os bytes para a sua própria ordenação, se necessário. Este 
método elimina todas as conversões de dados desnecessários, mas aumenta a 
complexidade em que todos os computadores precisam lidar com ambas as variantes. 
 
 
4. Descreva um cenário em que um cliente poderia receber uma mensagem de 
resposta de uma requisição que foi realizada há algum tempo e cuja resposta já tenha 
sido recebida anteriormente. (Coulouris – Exercício 4.17). 
Cliente envia mensagem de pedido, tempo limite e, em seguida, retransmite a 
mensagem de pedido, esperando apenas uma resposta.O servidor que está operando sob 
uma carga pesada, eventualmente, recebe ambas as mensagens de solicitação e envia dois 
responde. 
Quando o cliente envia uma solicitação subseqüente ele vai receber a resposta da 
chamada anterior, como resultado. Se pedido identificadores são copiados do pedido para 
responder mensagens, o cliente pode rejeitar a resposta à mensagem anterior. 
 
 
5. Descreva as maneiras utilizadas pelo protocolo request/reply para mascarar a 
heterogeneidade de sistemas operacionais e redes de computadores. (Coulouris – 
Exercício 4.18)  
(i) sistemas operativos diferentes podem proporcionar uma variedade de diferentes 
interfaces para os protocolos de comunicação. Essas interfaces são escondidos pelas 
interfaces do protocolo de solicitação­resposta. 
(ii) Embora os protocolos de Internet são amplamente disponíveis, algumas redes de 
computadores podem fornecer outras protocolos. O protocolo de solicitação­resposta 
podem igualmente ser implementado ao longo de outros protocolos. [Além disso, pode ser 
implementada através do TCP ou UDP.] 
 
 
6. Explique as decisões de projeto que são relevantes para minimizar a quantidade de 
dados associados às mensagens de respostas que são armazenadas pelos 
servidores. Compare os requisitos de armazenamento destes dados quando os 
protocolos RR e RRA são utilizados. (Coulouris – Exercício 4.20). 
 
Para activar mensagens de resposta de voltar a ser transmitidos sem operações de 
re­execução, um servidor deve reter o último responder a cada cliente. Quando RR é usado, 
é assumido que uma mensagem de solicitação é uma confirmação da última mensagem de 
resposta. Portanto, uma mensagem de resposta deve ser realizada até uma mensagem de 
solicitação subseqüente chega do mesmo cliente. O uso de armazenamento pode ser 
reduzido por aplicação de um limite de tempo para o período durante o qual uma resposta é 
armazenado. O requisito de armazenamento para RR = tamanho médio de mensagem x 
número de clientes que fizeram pedidos desde o período de tempo limite. Quando RRA é 
usado, uma mensagem de resposta é mantida apenas até um reconhecimento chega. 
Quando uma confirmação é perdida, a mensagem de resposta será realizada como para o 
protocolo de RR.