Sistemas distribuidos RPC X RMI
RPC e RMI
Francisco Jos´e da Silva e Silva
Laborat´
orio de Sistemas Distribu´ıdos (LSD)
Departamento de Inform´ atica / UFMA http://www.lsd.deinf.ufma.br 15 de abril de 2013
Francisco Silva (UFMA/LSD)
SD: Conceitos e Projeto
15 de abril de 2013
1/1
Agenda
Francisco Silva (UFMA/LSD)
SD: Conceitos e Projeto
15 de abril de 2013
2/1
Chamada de Procedimento Remoto (RPC)
Chamada de Procedimento Remoto
(RPC)
Francisco Silva (UFMA/LSD)
SD: Conceitos e Projeto
15 de abril de 2013
3/1
Chamada de Procedimento Remoto (RPC)
Objetivo RPC
Permitir que a chamada a um procedimento remoto se assemelhe ao programador o m´aximo poss´ıvel com a chamada a um procedimento convencional; A id´eia surgiu em 1984 em um artigo escrito por Birrell e Nelson.
Francisco Silva (UFMA/LSD)
SD: Conceitos e Projeto
15 de abril de 2013
4/1
Chamada de Procedimento Remoto (RPC)
Chamada a Procedimento Local count = read(fd, buf, nbytes)
Figura: a) Passagem de parˆametros em uma chamada local: a pilha antes da chamada ao procedimento b) A pilha enquanto o procedimento chamado est´a ativo Francisco Silva (UFMA/LSD)
SD: Conceitos e Projeto
15 de abril de 2013
5/1
Chamada de Procedimento Remoto (RPC)
Passagem de Parˆametros
Por valor (fd e nbytes): O parˆ ametro ´e copiado para a pilha.
Mudan¸cas em seu valor n˜ ao afetam quem chamou o procedimento;
´ copiado para a pilha a referˆencia ao
Por referˆ encia (buf): E parˆametro, isto ´e, um apontador (endere¸co de mem´oria) da vari´avel.
Portanto, Altera¸c˜oes em seu valor no procedimento chamado afeta quem o chamou;
Copy/restore: O parˆ ametro ´e copiado para a pilha e depois da chamada copiado de volta, sobrescrevendo o valor original.
Normalmente possui a mesma semˆ antica da c´ opia por referˆencia exceto em situa¸c˜oes como o mesmo parˆ ametro sendo enviado mais de uma vez.