SEC 7.2 LLAMADA DE PROCEDIMIENTOS REMOTOS 531 podría ocasionar que el procedimiento delete, envíe un mensaje al servi
Views 92 Downloads 0 File size 65MB
SEC 7.2
LLAMADA DE PROCEDIMIENTOS REMOTOS
531
podría ocasionar que el procedimiento delete, envíe un mensaje al servidor de archivos pidiéndole que destruya el archivo especificado. Al proporcionar procedimientos cabo apropiados, se puede hacer que el cliente invoque acciones arbitrarias en el servidor, de una manera que viene a ser mucho más natural para el programador de aplicaciones, que la de batallar con comandos de E/S e interrupciones. El objetivo final consiste en hacer que una llamada de procedimiento remoto no se vea distinta a una llamada a un procedimiento local. 7.2.2 Realización de llamadas de procedimientos remotos En esta sección se verá con mayor detalle la manera cómo se realiza las RPC. Para tener mayor información al respecto se puede hacer referencia al trabajo realizado por Birrell y Nelson (1984). En la figura 7-13 se muestra una manera de realizar un sistema de llamadas de procedimientos remotos. En esta figura, la llamada remota toma diez pasos. El paso 1 consiste en el programa (o procedimiento) cliente llamando al procedimiento cabo montando dentro de su propio espacio de direcciones. Los parámetros pueden pasarse de la manera normal. El cliente no nota ninguna cosa rara en esta llamada, porque se trata de una llamada normal, de tipo local. El procedimiento cabo del cliente, entonces, colecta los parámetros y los empaqueta en un mensaje. Esta operación se conoce como encapsulado de parámetros. Después de que el mensaje se haya construido, se pasa a la capa de transporte para su transmisión (paso 2). En un sistema LAN sin conexión, la entidad de transporte probablemente sólo unirá una cabecera al mensaje y lo pondrá en la red (paso 3). En una red tipo LAN, la transmisión real puede ser más complicada. En muchos sistemas, el paso 2 es una llamada al sistema operativo. Cuando el mensaje llega al servidor, la entidad de transporte lo pasa al procedimiento cabo del servidor (paso 4), el cual se encarga de desencapsular los paráMáquina del cliente
Máquina del servidor 5
1
Cabo del cliente
cliente
Cabo del servidor
Servidor
10
6 9
2
4
Entidad de transporte
7 Entidad de transporte
3 8 Fig. 7-13. Los diez pasos necesarios para ejecutar una llamada de procedimiento remoto