lunes, 7 de mayo de 2012

UNIDAD 2 Comunicación en los sistemas operativos distribuidos

COMUNICACIÓN Sod.


Un modelo de interacción entre los procesos de un sistema distribuido que es el modelo cliente-servidor. Para implementarlo, el sistema dispone de dos llamadas al sistema, send y receive, que las aplicaciones utilizan de forma conveniente. Estas primitivas, a pesar de constituir la base de la construcción de los sistemas distribuidos, pertenecen a un nivel demasiado bajo como para programar de forma eficiente aplicaciones distribuidas. 
La llamada a procedimiento remoto constituye un mecanismo que integra el concepto cliente-servidor con la programación convencional basada en llamadas a procedimientos. La idea surgió en 1984 y consiste en que el cliente se comunica con el servidor mediante una llamada ordinaria a un procedimiento.



  1. include <header.h>
void main(void) {
 struct mensaje m1, m2; /* Mensajes entrante y saliente */
 int r;

 while(1)
 {
  receive(FILE_SERVER, &m1);  /* El servidor se bloquea esperando un mensaje */
  switch(m1.opcode)
  {
   case CREATE: r = do_create(&m1, &m2); break;  
   case READ: r = do_read(&m1, &m2); break;  
   case WRITE: r = do_write(&m1, &m2); break;  
   case DELETE: r = do_delete(&m1, &m2); break;  
   case DELETE: r = E_BAD_OP; break;
  }
  m2.result = r;
  send(m1.source, &m2);
 }
}




No hay comentarios:

Publicar un comentario