So unidad ii

Solo disponible en BuenasTareas
  • Páginas : 20 (4902 palabras )
  • Descarga(s) : 0
  • Publicado : 18 de octubre de 2010
Leer documento completo
Vista previa del texto
Comunicación en los Sistemas Operativos Distribuidos
M.C. Juan Carlos Olivares Rojas

Agenda
• 2.1 Comunicación

• 2.2 Sincronización
• 2.3Nominación

2.1 Comunicación
• 2.1.1 Comunicación (sockets). con cliente servidor

• 2.1.2 Comunicación con RPC.

• 2.1.3 Comunicación en grupo.
• 2.1.4 Tolerancia a fallos.

2.1 Comunicación
• Para lograr la distribución de procesos serequiere de mecanismos que permitan coordinar y controlar la ejecución de procesos en ambientes no centralizados, ya sean de manera local y remota. • Los primeros protocolos para la distribución de procesos remotos fueron para máquinas homogéneas.

Comunicación
• Otra forma de comunicación fue la estandarización de sistemas heterogéneos con interfaz común UUCP (Unix to Unix Copy Protocol) quedio origen a los comandos R (rcopy, rlogin, rsh). • rlogin jcolivar@antares.itmorelia.edu.mx • rsh jcolivar@antares.itmorelia.edu.mx

Comunicación
• La comunicación entre procesos (IPC) es parte fundamental de las primitivas de sincronización de un sistema distribuido. • Los mecanismos de comunicación entre procesos no sólo aplican a aplicaciones distribuidas sino a cualquier tipo. Comunicación
• El mecanismo de comunicación entre procesos más famosos es el IPC (Inter Process Comunication) de Unix System V. • El otro punto a tratar es sobre los mecanismos de intercomunicación entre entidades de procesamiento diferentes con diferentes sistemas operativos: POSIX.

2.1.1 Sockets
• Los sockets son el mecanismo sincronización distribuida más importante. de

• Se les denominaconectores por que pueden unir un proceso cliente y un proceso servidor, de manera semejante a como se puede unir un enchufe de un dispositivo eléctrico con su respectivo zócalo.

Sockets
• El mecanismo de sockets más conocido es el referente a la API de Berkeley. • Está API está implementado en prácticamente todos los sistemas Unix, por lo que se maneja C, pero también está portado a otrasarquitecturas como Windows (WinSock) y a otros lenguajes como Java

Sockets
• Los sockets trabajan sobre capa 4 (Transporte) del modelo OSI, aunque algunos autores la ubican en la capa 5 (Sesión). • Para la comunicación de procesos remotos se necesita conocer la dirección de la máquina destino y el puerto donde se va a escuchar.

Sockets
• Los sockets no están casados con ningún tipo de red, porlo que se pueden implementar en diversos protocolos de red como IPX/SPX, NetBEUI, TCP/IP, siendo este último el más importante. • Para hacer uso de sockets se necesitan dos cosas: una familia o protocolo a utilizar para la comunicación y un tipo de conexión.

Sockets
• Se utiliza la biblioteca

• Se utilizan las siguientes estructuras de datos:
struct sockaddr {
u_shortsa_family_;/*Familia*/ char sa_data[14]; /*Dirección*/

};

Sockets
• Para utilizar sockets TCP/IP se debe emplear la familia o protocolo Internet, la cual define sus direcciones en y son: struct in_addr {
u_long s_addr; /*32 bits*/

};

Sockets
struct sockaddr_in {
short sin_familiy; /*AF_INET*/ u_short sin_port; /*16 bits*/ struct in_addr sin_addr; /*32 bits*/ char sin_zero[8]; /*8 bytes no usados*/};
• También existen sockets para sistemas Unix de manera nativa llamados “Unix Domain”

Sockets
• La biblioteca define la siguiente estructura: struct sockaddr_un {
short sun_family; /*AF_UNIX*/ char sun_family; /*Ruta*/

};

• Los sockets se basan en la arquitectura cliente/servidor

Funciones de un servidor
1. Abrir el canal de comunicación e informar a la red su dirección ysu disposición para aceptar peticiones de servicio. 2. Esperar a que un cliente pida un servicio 3. Atender un cliente (servidor interactivo) a la vez o crear un proceso hijo (servidor concurrente) 4. Volver al punto 2 para esperar nuevas peticiones.

Funciones de un cliente
1. Abrir el canal de comunicaciones conectarse a la dirección del servidor. y

2. Enviar al servidor un mensaje de...
tracking img