A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Distribuídos Prof. Marcus Rodrigues

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos Prof. Marcus Rodrigues"— Transcrição da apresentação:

1 Sistemas Distribuídos Prof. Marcus Rodrigues marcus.rodrigues@gmail.com

2 Comunicação em Sistemas Distribuídos Capítulo 2 – Aula 7

3 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Comunicação em Sistemas Distribuídos Material baseado no livro Distributed Systems: Principles and Paradigms Prentice Hall Copyright © Andrew S. Tanembaum, Maarten van Steen, 2001

4 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Chamada Remota de Procedimentos Protocolos de comunicação Comunicação baseada em primitivas de comunicação (send & receive) Transparência? Chamada remota de procedimentos (RPC – Remote Procedure Call) Permite que programas chamem procedimentos localizados em outra máquinas Nenhuma passagem de mensagem é visível ao programador

5 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Operação básica de uma RPC count = read(fd, buf, nbytes); Passagem de parâmetro por valor x passagem de parâmetro por referência

6 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Stubs Cliente e Servidor RPC entre programa cliente e servidor RPC assemelha-se a uma chamada local.

7 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Passos de uma RPC 1. Procedimento cliente chama stub cliente 2. Stub cliente monta uma mensagem, e faz uma chamada local ao SO 3. SO do cliente envia uma mensagem ao SO remoto 4. SO remoto entrega a mensagem ao stub servidor 5. Stub servidor desempacota os parâmetros, e chama o procedimento servidor 6. Servidor executa o trabalho, e retorna o resultado ao stub 7. Stub servidor empacota a mensagem, e chama o SO local 8. SO do servidor envia a mensagem ao cliente 9. SO do cliente entrega a mensagem ao stub cliente 10. Stub desempacota o resultado, e retorna ao cliente

8 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Passagem de parâmetros por valor (1) 2-8

9 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Passagem de parâmetros por valor (2) a) Mensagem original no Pentium b) Mensagem recebida no SPARC c) Mensagem após inversão.

10 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Doors Uso de doors como mecânismo IPC

11 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos RPC Assíncrona (1) 2-12

12 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos RPC Assíncrona (2) 2-13

13 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Escrevendo um Cliente e um Servidor 2-14

14 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Associando um Cliente a um Servidor 2-15

15 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC Projetado para realizar a comunicação entre servidor e cliente no NFS Suporta TCP e UDP Semântica at-least-once (UDP), at-most- once (TCP) Utiliza uma linguagem para descrição da interface chamada XDR Não implementa de forma completa a transparência total de localização (clnt_create)

16 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC XDR (External Data Representation) especifica um conjunto de definições de procedimentos e definições de tipos suportados definição da interface número de programa e número de versão definição de procedimento assinatura de procedimento e número de procedimento suporte a um único valor como entrada e como saída (utilização de structs) assinatura de procedimento: tipo da saída, nome do procedimento, tipo da entrada

17 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC Exemplo de XDR

18 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC Geração dos stubs rpcgen addit.x Gera os arquivos addit.h addit_clnt.c addit_svc.c addit_xdr.c

19 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC

20 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos

21 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos

22 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC Geração do cliente e servidor gcc add_clnt.c addit_clnt.c addit_xdr.c -o addit_clnt -lnsl gcc addit_svc.c add_svc.c addit_xdr.c -o addit_svc -lnsl Execução O daemon portmap deve estar rodando!

23 Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC Binding servidor registra localmente o programa (identificador, versão, porta) utilizando o portmapper Autenticação Sem autenticação Autenticação UNIX (UID e GID) DES (Data Encryption Standard)


Carregar ppt "Sistemas Distribuídos Prof. Marcus Rodrigues"

Apresentações semelhantes


Anúncios Google