ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Sistemas de Procesamientos Distribuidos


Enviado por   •  22 de Noviembre de 2012  •  504 Palabras (3 Páginas)  •  711 Visitas

Página 1 de 3

TEMA:

Sistemas de Procesamientos Distribuidos

La implementación de un RPC se va a llevar a cabo en el sistema operativo libre GNU LINUX, versión CenTOs con la ayuda de la librería de desarrollo que viene integrado en Linux, como es el gcc y rpcgen, que nos ayuda en todo el proceso de codificación. En un lenguaje similar a C (pero no igual) definimos los prototipos de las funciones que queremos que se publiquen, generen varios ficheros con todo el código hecho, excepto, naturalmente, el código de las funciones que queremos publicar.

Que es el RPC?

En UNIX es posible tener en ejecución un programa en C con varias funciones que pueden ser llamadas desde otros programas. Estos otros programas pueden estar corriendo en otros ordenadores conectados en red.

OBJETIVOS

 Objetivo principal

 Desarrollar aplicaciones distribuidas con RPC.

 Objetivo secundario

 Implementar los métodos RPC en un equipo cliente.

 Conocer cómo funciona el sistema RPCGEN.

Librerias a utilizar

Rpcgen: un compilador que toma la definición de la interfaz de un procedimiento remoto y genera el “stub” del cliente y el “stub” del servidor.

Gcc.

DESARROLLO

Lo que se va a llevar a cabo es muy sencillo, en este caso se va a realizar la suma de dos números, permitiendo enviar la solicitud de ejecución el cliente al servidor.

Definimos el XDR. Lo primero es definir qué métodos está ofreciendo el servidor así como los parámetros que admite y el tipo de retorno

SUMA.X

struct intpair {

int a;

int b;

};

program ADD_PROG {

version ADD_VERS {

int ADD(intpair)=1;

} = 5;

} = 24;

Luego de esto procedemos a compilar el archivo, para generar los template para el cliente y servidor, además de un makefile.

Modificamos los archivos generados por el comando.

El archivo suma_server.c

#include "suma.h"

int *

add_5_svc(intpair *argp, struct svc_req *rqstp)

{

static int result;

printf ("Llamada al servidor \n");

printf ("valores a sumar: %d, %d\n",argp->a, argp->b);

result = argp->a + argp->b;

printf ("returning: %d\n",result);

return &result;

}

Modificamos el archivo Makefile.suma.x las lineas de codigo

CFLAGS += -g –DRCP_SVC_FG

RPCGENFLAGS = -C

Luego de realizar todos estos pasos procedemos a compilar el programa con

...

Descargar como (para miembros actualizados) txt (3 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com