Buscar

Sistemas Distribuidos - Prova 01 - Célio

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Respostas P1 ­ Outra turma 
  
(Peso 3) Esquematizar (podia ser desenho, pseudocógico, etc) um servidor e o cliente 
solicitando um dos serviços (essa questão era baseada nas práticas do lab, mais 
precisamente no primeiro exercício). 
 
 
  
(Peso 1) Quais as características dos sistemas distribuídos? (def. genérica e mais 
alguma coisa pra complementar). 
Um Sistema Distribuído é uma coleção de computadores independentes que aparenta                     
aos usuários do sistema como se fosse um único computador.  
Características: 
•​          ​Um único mecanismo de comunicação interprocesso (global ­ qualquer processo pode 
se comunicar com qualquer outro) 
•​          ​Esquema global de proteção 
•​          ​Gerenciamento de processos precisa ser o mesmo no sistema todo (criação, 
destruição, iniciação, interrupção de processos) 
•​          ​Único conjunto de chamadas do sistema (e que tenha sentido em um SD) 
•​          ​Sistema de arquivo também precisa ter as mesmas características 
•​          ​Cópias idênticas do kernel executam em todas as CPUs do sistema (escalonamento, 
swapping, paginação, etc) 
  
(Peso 1) O que significa transparência no paralelismo? 
 
Transparente ao paralelismo: a aparência que um sistema distribuído deve ter para seus 
usuários tem de ser a mesma de um sistema tradicional, fazendo uso de um único processador 
com tempo compartilhado. Atividades podem acontecer em paralelo sem que o usuário 
perceba. 
 
(Peso 2) Fazer uma comparação entre os modelos cliente­servidor e RPC. O que pode 
ser feito para solucionar o problema da passagem por referência no modelo RPC? Pq o 
modelo cliente­servidor n possui esse problema? 
Problema do Modelo Cliente­Servidor​ ­ O paradigma básico que envolve toda comunicação é 
construído como Entrada e Saída ­­> perda da transparência. 
Idéia Básica da​ ​RPC ​­­ Programas (ou processos) podem chamar procedimentos localizados 
em outras máquinas. 
CARACTERÍSTICAS: 
­ Idéia simples e elegante, fazer a chamada remota se parecer o máximo possível com 
a chamada local. 
­ Problemas: quando as máquinas são diferentes (espaço de endereçamento, 
parâmetros) e quando há falha em uma delas. 
 
Para solucionar o problema da passagem por referência no modelo RPC, temos as 
seguintes opções:  
Solução 1 ­­ ​Proibir o uso de ponteiros e passagem de parâmetros por referência. 
Solução 2 ­­ ​Copiar o arranjo apontado pelo ponteiro na mensagem e enviá­lo para o servidor. 
O servidor “stub” pode então chamar o servidor com um ponteiro para este arranjo. Mudanças 
que o servidor faz nas posições apontadas pelo ponteiro afetam o buffer de mensagem do 
servidor “stub”. Quando o servidor termina, o arranjo é enviado de volta para o Cliente “stub”, 
que o copia de volta para o Cliente. 
Efeito: ​A chamada por referência foi substituida pela chamada copia/restaura. 
 
O modelo cliente­servidor não possui esse problema pois ele não altera os valores, 
apenas lê, logo não precisa de passagem de parâmetros. 
  
(Peso 1) Para que servem os "stubs"? Como eles podem ser implementados? 
   
Os stubs são responsáveis por empacotar/desempacotar os parâmetros do 
procedimento e enviar/recebê­los do cliente/servidor. Servindo para garantir a transparencia do 
sistema. 
Eles tem a função de deixar a chamada remota transparente, ou seja, faz com que a 
chamada no servidor pareça uma chamada local ao cliente. 
 
● Stub cliente ­ serve para interceptar as chamadas de procedimento do cliente                       
empacotando os parâmetros e enviando ao servidor. Após a chegada da resposta do                         
servidor ele desempacota o resultado e encaminha para o cliente. 
● Stub servidor ­ recebe a requisição do cliente, desempacota os parâmetros, chama o                         
procedimento passando os parâmetros e quando obtém o resultado ele empacota e                       
encaminha de volta ao cliente. 
 
 
 
Possível implementação: 
Componentes: cliente, servidor e seus respectivos stubs e a rede pela qual os dados                           
serão transmitidos: 
Inter­relações: Cliente ­> stub ­> rede ­> stub serv ­> servidor 
● Execução: 1. Cliente requisita algum procedimento do servidor 
● Execução: 2. o cliente­stub intercepta a chamada, empacota os parâmetros                   
(marshalling) e envia mensagem de request ao servidor pela rede; 
● Execução: 3. chegando lá o serv­stub desempacota os parâmetros                 
(unmarshalling), chama o procedimento passando os parâmetros, empacota o                 
resultado e envia a mensagem de reply ao cliente pela rede; 
● Execução: 4. cliente­stub recebe mensagem, desempacota o resultado e                 
encaminha para o cliente;   
(Peso 1) Qual a principal diferença entre SO de rede e SO distribuído? 
 
A principal diferença entre os sistemas centralizados e os distribuídos está na forma de 
comunicação e de sincronização entre os processos. Enquanto nos sistemas centralizados a 
sincronização é realizada por áreas compartilhadas de memória nos sistemas distribuídos a 
sincronização é obtida através da troca de mensagens.  
 
  
(Peso 1) A transparência na concorrência é uma característica desejável nos sist. 
distribuídos. Os sistemas centralizados possuem essa característica automaticamente? 
 
            Transparente à concorrência: os usuários não devem notar a presença de outros 
usuários. Os usuários são independentes. 
Transparência de concorrência: múltiplos usuários podem partilhar recursos 
automaticamente. 
  Isso já existe nos sistemas centralizados porque possuem apenas o próprio usuário que 
está utilizando a máquina, por isso já possui essa característica automaticamente.

Outros materiais