Re: ¿Qué formas de comunicación tienen los procesos en sistemas operativos distribuidos?

441 views
Skip to first unread message

Emisael Parada Soto

unread,
Sep 13, 2012, 10:58:28 PM9/13/12
to SOII...@googlegroups.com

La Comunicación Puede Ser:

  • Síncrona o asíncrona
  • Persistente (persistent) o momentánea (transient)
  • Directa o indirecta
  • Simétrica o asimétrica
  • Con uso de buffers explícito o automático
  • Envío por copia del mensaje o por referencia
  • Mensajes de tamaño fijo o variable

Síncrona: quien envía permanece bloqueado esperando a que llegue una respuesta del receptor antes de realizar cualquier otro ejercicio.

Asíncrona: quien envía continúa con su ejecución inmediatamente después de enviar el mensaje al receptor.

Persistente: el receptor no tiene que estar operativo al mismo tiempo que se realiza la comunicación, el mensaje se almacena tanto tiempo como sea necesario para poder ser entregado Ejemplo: E-mail.

Momentánea (Transient): el mensaje se descarta si el receptor no está operativo al tiempo que se realiza la comunicación, por lo tanto no será entregado.

Directa: los primitivos enviar y recibir explicitan el nombre del proceso con el que se comunican, es decir, se debe especificar cual va a ser el proceso fuente y cual va a ser el proceso Destino.

Las operaciones básicas Send y Receive se definen de la siguiente manera:

  • Send: envía un mensaje al proceso destino.
  • Receive: espera la recepción de un mensaje por parte del proceso el cual es el proceso fuente.
    • Receive puede esperar de un proceso cualquiera, un mensaje, pero el Send sí debe especificar a quién va dirigido y cuál es el mensaje.

Indirecta: es aquella donde la comunicación está basada en una herramienta o instrumento ya que el emisor y el receptor están a distancia.

Simétrica: todos los procesos pueden enviar o recibir, también llamada bidireccional para el caso de dos procesos.

Asimétrica: un proceso puede enviar, los demás procesos solo reciben, también llamada unidireccional; suele usarse para hospedar servidores en Internet.

Uso De Buffers Automático: el transmisor se bloquea hasta que el receptor recibe el mensaje (capacidad cero).

Jesus Velazquez

unread,
Sep 14, 2012, 7:11:49 PM9/14/12
to SOII...@googlegroups.com
Formas de comunicación que tienen los procesos en sistemas distribuidos.
El paso de mensajes entre procesos se basa en dos operaciones: enviar y recibir.
Es decir, un proceso emisor envía una secuencia de bytes(mensaje) y un proceso receptor los recibe y lo lee. Esto requiere a veces una sincronización entre ambos. Entonces puede ser:
  1. Comunicación:
    1. Síncrona. El emisor se bloquea hasta que el receptor lea el mensaje.
    2. Asíncrona: Tan pronto como el mensaje sea escrito en el buffer, el emisor continúa su ejecución.
  2. Por medio de un servicio web:
    1. Dirección de internet y por el puerto local.
  3. Por protocolo Petición-Respuesta:
    1. hazOperacion, damePeticion y enviaRespuesta.
  4. A nivel aplicación:
    1. Mediante routers multidifusión.
  5. Socket.
  6. Streams TCP.
  7. LLamado remoto.
Message has been deleted

Jesus Velazquez

unread,
Sep 14, 2012, 9:29:49 PM9/14/12
to SOII...@googlegroups.com
Ese emisael, haciendo las tareas al dia. Nuestra información tiene algunas cosas en común, esperemos estemos acertados. 

Vianey Espinoza

unread,
Sep 14, 2012, 11:47:55 PM9/14/12
to SOII...@googlegroups.com
COMUNICACIÓN DE PROCESOS EN SISTEMAS DISTRIBUIDOS

Existen dos enfoques de comunicación, ambos basados en el paso de mensajes: 

Mecanismos de bajo nivel. En este tipo de esquemas se ofrecen servicios en los que el programador debe encargarse de establecer los protocolos de comunicación, la forma de representación de los datos, etc. Ejemplos de este tipo de mecanismos son las colas de mensajes de POSIX, los Mailslots. de Win32 y los sockets.

Mecanismos de alto nivel. En este tipo de enfoques se ofrecen abstracciones que facilitan la programación y en las que el programador no debe preocuparse de los aspectos de bajo nivel relacionados con el paso de mensajes. En este tipo de esquemas se incluyen las llamadas a procedimiento remotos y la invocación de métodos remotos, como la que ofrece CORBA o RMI de Java.

Aparte de los mecanismos de comunicación que se empleen, existen dos patrones básicos de comunicación en sistemas distribuidos: 

1-Comunicación cliente-servidor

2-Comunicación en grupos.

Vianey Espinoza

unread,
Sep 14, 2012, 11:53:57 PM9/14/12
to SOII...@googlegroups.com
Mencionas las formas de comunicación,  buena información Emisael :)

Vianey Espinoza

unread,
Sep 14, 2012, 11:58:24 PM9/14/12
to SOII...@googlegroups.com
Todo bien, fácil de entender tu tarea:) jesus

Jesus Velazquez

unread,
Sep 15, 2012, 12:05:43 AM9/15/12
to SOII...@googlegroups.com
Excelente vianey, creo que tu info va apegada a lo que el profe a comentado en las clases.. esperemos que sea lo que sea exacto lo que nos pidió

Emisael Parada Soto

unread,
Sep 15, 2012, 3:08:06 AM9/15/12
to SOII...@googlegroups.com
Para: Jesus Velazquez
De: Emisael Parada

Asi es, algo en común hay en nuesta información, tu información es muy corta y entendible; los sockets son mecanismos de comunicación entre programas a traves de una red TCP/IP y Stream TCP son un servicio orientado a conexiones donde los datos se transfieren sin encuadrarlos en registros o bloques.

Emisael Parada Soto

unread,
Sep 15, 2012, 3:34:28 AM9/15/12
to SOII...@googlegroups.com
Para: Vianey Espinoza
De: Emisael Parada

Buena informacion Vianey, los cliente/servidor ofrecen servicios como la ejecución de un programa, acceso a una base de datos, acceso a un dispositivo de hardware, etc. La comunicacion en grupos es dinamica; un proceso se puede unir a un grupo o dejar a otro, ademas un proceso puede ser miembro de varios grupos a la vez.

Angel Gabriel Moreno Páez

unread,
Sep 15, 2012, 11:45:46 AM9/15/12
to SOII...@googlegroups.com

La comunicación entre procesos es una de las diferencias más grandes que hay entre sistemas distribuidos y centralizados. Existen 5 formas básicas de comunicación entre procesos en los sistemas distribuidos y son:

 

- Protocolos con Capas. Debido a la ausencia de memoria compartida, la comunicación de los SD se basa en la transferencia de mensajes. Para facilitar la comunicación la ISO ha desarrollado el modelo OSI para permitir la comunicación entre sistemas abiertos.

 

- Redes con Transferencia Asíncrona. Es un tipo de transferencia híbrida que permite tanto la transmisión de voz analógica como la transmisión de paquetes de datos, que proporciona un rendimiento razonable para ambos tipos de transmisión, se ha convertido en un estándar internacional y puede jugar un papel importante en los sistemas operativos distribuidos.

 

- Modelo Cliente-Servidor. Se basa en la idea de estructurar el sistema operativo como un grupo de procesos en cooperación, llamados servidores, que ofrecen servicios a usuarios, llamados clientes. Se basa en un protocolo solicitud/respuesta sencillo. El cliente envía un mensaje de solicitud al servidor para pedir cierto servicio. El servidor hace el trabajo y regresa los datos solicitados o un código de error para indicar la razón por la que falló.

 

- Llamada a Procedimientos Remotos (RPC). Es un modelo en el cual un proceso en una máquina A llama a un proceso en una máquina B, el proceso que realiza la llamada a A se supende y la ejecución del procedimiento se realiza en B. La información se puede transportar de un lado a otro mediante los parámetros y puede regresar en el resultado del procedimiento.

 

- Comunicación en Grupo. Un grupo es una colección de procesos que actúan juntos en cierto sistema o alguna forma determinada por el usuario. Cuando un mensaje se envía al grupo, todos los miembros de éste lo reciben. Es una forma de comunicación uno-muchos.

Angel Gabriel Moreno Páez

unread,
Sep 15, 2012, 11:48:16 AM9/15/12
to SOII...@googlegroups.com
Para: Vianey Espinoza
De: Angel Gabriel Moreno Páez
Me parece correcta tu intervención, me parece adecuada la información que das de los tipos de comunicación de procesos en los sistemas distribuidos, me pareció adecuado la clasificación mediante enfoques y mecanismos

Angel Gabriel Moreno Páez

unread,
Sep 15, 2012, 11:50:39 AM9/15/12
to SOII...@googlegroups.com
Para: Jesus Velasquez 
De: Angel Gabriel Moreno Páez
Me parece correcta tu intervención, me parece adecuada la información sobre todos los tipos de comunicación que puede haber en los procesos en los sistemas distribuidos, tal vez te faltó un poquito de información de cada uno para definirlos, pero está muy bien de todas formas puesto que das muchos y muy buenos ejemplos 

valeria moreno

unread,
Sep 15, 2012, 2:51:40 PM9/15/12
to SOII...@googlegroups.com
El “modelo OSI” está diseñado para permitir la comunicación de los sistemas 
abiertos:
 Son aquellos preparados para comunicarse con cualquier otro sistema abierto 
mediante reglas estándar:
– Establecen el formato, contenido y significado de los mensajes recibidos y enviados. 
– Constituyen los protocolos, que son acuerdos en la forma en que debe desarrollarse la 
comunicación

Capas 
Aplicación
 Protocolos diseñados para responder a los requisitos de comunicación de
aplicaciones específicas, a menudo definiendo la interfaz a un servicio.

Presentación
 Los protocolos de este nivel transmiten datos en una representación de datos de red 
independiente de las utilizadas comúnmente en los computadores, que pueden ser 
distintas. Si se necesitara, la encriptación también se llevaría a cabo en este nivel.

Sesión
En este nivel se implementa la fiabilidad y la adaptación, tales como la
detección de fallos y la recuperación automática.

Transporte
 Éste es el nivel más bajo en el que se gestionan mensajes (en lugar de paquetes).
Los mensajes son dirigidos a los puertos de comunicaciones asociados a los procesos.
Los protocolos de esta capa pueden ser orientados a conexión o no. 

Red
 Transfiere paquetes de datos entre computadores en una red específica. En una WAN
o en una interred esto implica la generación de una ruta de paso a través de los
routers. En una LAN simple no se necesita encaminamiento.

Enlace de datos
Es responsable de la transmisión de paquetes entre nodos que están conectados
directamente por un enlace físico. En  una transmisión WAN será entre pares de 
routers o entre un router y un host. EN las LANs es entre cualquier par de hosts.

Física
 Los circuitos y el hardware que dirigen la red. Transmite secuencias de datos binarios
mediante señales binarias, utilizando modulación en amplitud o en frecuencia de las
señales eléctricas (en los circuitos de cables), señales ópticas (en los circuitos de fibra
óptica) u otras señales electromagnéticas (en los circuitos de radio o microondas).

miranda...@hotmail.com

unread,
Sep 15, 2012, 4:12:10 PM9/15/12
to SOII...@googlegroups.com
Yo encontré que se comunica por medio de las normas o por el método OSI como quieran decirle.
El modelo OSI fue diseñado con la finalidad de permitir la comunicación de sistemas abiertos.
Estas son las que establecen el formato, contenido y significado de los mensajes que son recibidos y enviados, también constituyen los protocolos
que son necesarios para que el desarrollo de la comunicación se de la mejor manera.

Aquí las capas del modelo OSI:

Aplicación- Protocolos diseñados para responder a los requisitos de comunicación de aplicaciones específicas, a menudo definiendo la interfaz a un servicio.

Presentación- Los protocolos de este nivel transmiten datos en una representación de datos de red independiente de las utilizadas comúnmente en los computadores, que pueden ser distintas. Si se necesitara, la encriptación también se llevaría a cabo en este nivel.

Sesión- En este nivel se implementa la fiabilidad y la adaptación, tales como la detección de fallos y la recuperación automática.

Transporte- Éste es el nivel más bajo en el que se gestionan mensajes (en lugar de paquetes). Los mensajes son dirigidos a los puertos de comunicaciones asociados a los procesos.Los protocolos de esta capa pueden ser orientados a conexión o no. 

Red- Transfiere paquetes de datos entre computadores en una red específica. En una WAN o en una interred esto implica la generación de una ruta de paso a través de los routers. En una LAN simple no se necesita encaminamiento.

Enlace de datos- Es responsable de la transmisión de paquetes entre nodos que están conectados directamente por un enlace físico. En  una transmisión WAN será entre pares de  routers o entre un router y un host. EN las LANs es entre cualquier par de hosts.

Física- Los circuitos y el hardware que dirigen la red. Transmite secuencias de datos binarios mediante señales binarias, utilizando modulación en amplitud o en frecuencia de las señales eléctricas (en los circuitos de cables), señales ópticas (en los circuitos de fibra óptica) u otras señales electromagnéticas (en los circuitos de radio o microondas). 

Mario Valdez

unread,
Sep 16, 2012, 11:13:26 AM9/16/12
to SOII...@googlegroups.com

¿Qué formas de comunicación tienen los procesos en sistemas operativos distribuidos?

Sistema operativo distribuido es una capa que hace transparente a los usuarios la localización de los elementos que forman parte del sistema.

Los sistemas centralizados tienen un punto de fallo único (hay un único computador en el que se ejecutan todas las aplicaciones). En los sistemas distribuidos, los elementos que lo componen están dispersos y, por lo tanto, tienen probabilidades de fallo independientes.

 La Comunicaciones:

  • Síncrona o asíncrona
  • Persistente (persistent) o momentánea (transient)
  • Directa o indirecta
  • Simétrica o asimétrica
  • Con uso de buffers explícito o automático
  • Envío por copia del mensaje o por referencia
  • Mensajes de tamaño fijo o variable

Otras comunicaciones podrían ser:

Sistemas distribuidos y centralizados:

 -Protocolos con Capas. 

 

- Redes con Transferencia Asíncrona. 

 

- Modelo Cliente-Servidor. 

 

- Llamada a Procedimientos Remotos (RPC). 

 

- Comunicación en Grupo. 

Mario Valdez

unread,
Sep 16, 2012, 12:05:23 PM9/16/12
to SOII...@googlegroups.com
sii cuando hise mi investigacion salio mucho relacionado con lo que encontraste compañeroo muy buena contestacion a la pregunta puesta 

MISAEL MARQUEZ SOTO

unread,
Sep 16, 2012, 1:45:12 PM9/16/12
to SOII...@googlegroups.com
La comunicación entre procesos, en ingles IPC (Inter-process Communication) es una función básica de los sistemas operativos. Los procesos pueden comunicarse entre sí a través de compartir espacios de memoria, ya sean variables compartidas o buffers, o a través de las herramientas provistas por las rutinas de IPC.
La comunicación puede ser:

Síncrona

Quien envía permanece bloqueado esperando a que llegue una respuesta del receptor antes de realizar cualquier otro ejercicio. 

Asíncrona

Quien envía continúa con su ejecución inmediatamente después de enviar el mensaje al receptor.

Persistente

El receptor no tiene que estar operativo al mismo tiempo que se realiza la comunicación, el mensaje se almacena tanto tiempo como sea necesario para poder ser entregado (Ej.: e-Mail).

Momentánea (transient)

El mensaje se descarta si el receptor no está operativo al tiempo que se realiza la comunicación. Por lo tanto no será entregado. 

Directa

Las primitivas enviar y recibir explicitan el nombre del proceso con el que se comunican. Ejemplo:

enviar (mensaje, A) envía un mensaje al proceso A

Es decir se debe especificar cual va a ser el proceso fuente y cual va a ser el proceso Destino.

Las operaciones básicas Send y Receive se definen de la siguiente manera: Send (P, mensaje); envía un mensaje al proceso P (P es el proceso destino). Receive (Q, mensaje); espera la recepción de un mensaje por parte del proceso Q (Q es el proceso fuente).

Indirecta

La comunicación Indirecta: Es aquella donde la comunicación está basada en una herramienta o instrumento ya que el emisor y el receptor están a distancia.

Simétrica

Todos los procesos pueden enviar o recibir. También llamada bidireccional para el caso de dos procesos.

Asimétrica

Un proceso puede enviar, los demás procesos solo reciben. También llamada unidireccional. Suele usarse para hospedar servidores en Internet.

Uso de buffers automático

El transmisor se bloquea hasta que el receptor recibe el mensaje (capacidad cero).

MISAEL MARQUEZ SOTO

unread,
Sep 16, 2012, 1:46:54 PM9/16/12
to SOII...@googlegroups.com
muy simple directo buena informacion lo que queria el profe 

MISAEL MARQUEZ SOTO

unread,
Sep 16, 2012, 1:49:10 PM9/16/12
to SOII...@googlegroups.com
muy bien ney ! corto y explicado (y)

Jessica H. Osuna

unread,
Sep 16, 2012, 7:25:10 PM9/16/12
to SOII...@googlegroups.com

Comunicación

Para lograr la distribución de procesos se requiere de mecanismos que permitan coordinar y controlar la ejecución de procesos en ambientes no centralizados, ya sean de manera local y remota.

·         Comunicación cliente-servidor (Sockets)

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

Se les denomina conectores 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.

Los sockets trabajan sobre capa 4 (Transporte) del modelo OSI, aunque algunos autores la ubican en la capa 5 (Sesión).

·         Comunicación con RPC

Las llamadas a procedimientos remotos (RPC) fue el primer intento por obtener un middleware para la construcción de sistemas distribuidos. Su funcionamiento se basa en la arquitectura cliente/servidor siendo totalmente transparente para el usuario.

El nivel de transparencia en RPC es muy alto ya que el usuario no tiene que ver con detalles de conexión.

·         Comunicación en Grupo

Se define a un grupo como un conjunto de procesos que actúan entre ellos en cierto sistema. Son dinámicos, ya que pueden aceptar nuevos procesos o estos pueden  dejar a su grupo.

 Los grupos pueden ser abiertos o cerrados dependiendo de cómo es el paso de mensajes entre los elementos del grupo.

·         Tolerancia a fallos

La tolerancia a fallas es considerada la principal característica que debe de tener un sistema distribuido para alcanzar el principio de transparencia. Para lograr la tolerancia a fallos se necesita de una buena comunicación entre procesos distribuidos y sobretodo de una correcta coordinación entre procesos.

Jessica H. Osuna

unread,
Sep 16, 2012, 7:27:29 PM9/16/12
to SOII...@googlegroups.com
buena respuesta 

Jessica H. Osuna

unread,
Sep 16, 2012, 7:28:32 PM9/16/12
to SOII...@googlegroups.com
buena respuesta muy concreta

fatima galvez

unread,
Sep 17, 2012, 1:43:47 AM9/17/12
to SOII...@googlegroups.com
La comunicación entre procesos necesita compartir información:
a) datos compartidos
b) pasajes de mensajes o copias compartidas

Tipos de Comunicación
Comunicación Persistente: almacena el mensaje (información) enviado por el emisor el tiempo que tome entregarlo al receptor.
Comunicación Transitoria: almacena un mensaje sólo mientras las aplicaciones del emisor y receptor están en ejecución.
Comunicación asincrónica: el emisor continúa inmediatamente después de que ha pasado su mensaje para la transmisión.
Comunicación sincrónica: el emisor es bloqueado hasta que se sabe que su petición es aceptada.

Hay tres tipos de grupos de comunicación:
– Uno a muchos
– Muchos a uno
– Muchos a muchos

Uno a muchos
Este esquema es conocido como comunicación multicast. En este caso los procesos receptores de los mensajes constituyen un grupo, que a su vez pueden ser de dos tipos:
Grupos cerrados
Grupos abiertos
Grupos cerrados

Muchos a uno

Enviadores múltiples envian mensajes a un único receptor.
Hay un no determinismo.

Muchos a muchos
Múltiples enviadores envían mensajes a múltiples
receptores.

Eduardo Campas

unread,
Sep 17, 2012, 12:38:16 PM9/17/12
to SOII...@googlegroups.com

Comunicación en los Sistemas Operativos Distribuidos.

Para lograr la distribución de procesos se requiere 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.

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.

Mecanismos de Comunicación

       Comunicación con cliente servidor (sockets). son el mecanismo de sincronización distribuida más importante. Se les denomina conectores 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.

       Comunicación con RPC. Su funcionamiento se basa en la arquitectura cliente/servidor siendo totalmente transparente para el usuario.

       Comunicación en grupo. En base a su organización los grupos pueden ser de compañeros (cuando todos los procesos son iguales y para hacer elecciones hacen recuento de votos) o Jerárquico (donde existe un proceso coordinador y el resto son trabajadores). Cuando entran nuevos procesos o se salen del grupo, se debe garantizar que los mensajes lleguen a los procesos que actualmente conforman el grupo.

     Tolerancia a fallos. Para prevenir errores se utilizan los Detectores de Fallo, los cuales son procesos que nos indican la presencia de fallos en un sistema. Se utiliza la duplicidad de los datos para tener sistemas tolerantes a fallos, de más fácil acceso, entre otras ventajas.


Fuente: "Comunicación en los Sistemas Operativos Distribuidos" - M.C. Juan Carlos Olivares Rojas (itmolrelia)

Eduardo Campas

unread,
Sep 17, 2012, 12:42:00 PM9/17/12
to SOII...@googlegroups.com
Muy buena información Parada.. todo esta claro

Eduardo Campas

unread,
Sep 17, 2012, 12:43:18 PM9/17/12
to SOII...@googlegroups.com
Muy bien tu trabajo, aunque me hubiera gustado mas si hubieras definido las comunicaciones cliente-servidor y en grupo.

Rosa María

unread,
Sep 17, 2012, 3:31:19 PM9/17/12
to SOII...@googlegroups.com

Comunicación entre procesos

 

En sistemas distribuidos requieren dar soporte a la comunicación entre procesos.

• Permite que 2 procesos colaboren en una tarea comunicación entre procesos en una misma máquina.

• Ejemplos: pipes, memoria compartida, señales, semáforos, etc

Comunicación entre procesos en máquinas distintas.

• Mediante intercambio de mensajes entre emisor y receptor/es

◦ uno a uno (unicast)

◦ uno a muchos (multicast)

Esquema tipico: mecanismo peticion-respuesta

• Distintos niveles de abstracción

• Ejemplos: interfaz sockets, mecanismos RPC (llamada procedim. remoto)

 

 

Es una función básica de los sistemas operativos. Los procesos pueden comunicarse entre sí a través de compartir espacios de memoria, ya sean variables compartidas o buffers, o a través de las herramientas provistas por las rutinas de IPC. La IPC provee un mecanismo que permite a los procesos comunicarse y sincronizarse entre sí, normalmente a través de un sistema de bajo nivel de paso de mensajes que ofrece la red subyacente.

La comunicación se establece siguiendo una serie de reglas (protocolos de comunicación). Los protocolos desarrollados para internet son los mayormente usados: IP (capa de red), protocolo de control de transmisión(capa de transporte) y protocolo de transferencia de archivos , protocolo de transferencia de hipertexto (capa de aplicación).

 

Los procesos pueden estar ejecutándose en una o más computadoras conectadas a una red. Las técnicas de IPC están divididas dentro de métodos para: paso de mensajes, sincronización, memoria compartida y llamadas de procediemientos remotos (RPC). El método de IPC usado puede variar dependiendo del ancho de banda y latencia (el tiempo desde el pedido de información y el comienzo del envío de la misma) de la comunicación entre procesos, y del tipo de datos que están siendo comunicados.

 

Síncrona

Quien envía permanece bloqueado esperando a que llegue una respuesta del receptor antes de realizar cualquier otro ejercicio.

Asíncrona

Quien envía continúa con su ejecución inmediatamente después de enviar el mensaje al receptor.

Persistente

El receptor no tiene que estar operativo al mismo tiempo que se realiza la comunicación, el mensaje se almacena tanto tiempo como sea necesario para poder ser entregado (Ej.: e-Mail).

Momentánea (transient)

El mensaje se descarta si el receptor no está operativo al tiempo que se realiza la comunicación. Por lo tanto no será entregado.

Directa

Las primitivas enviar y recibir explicitan el nombre del proceso con el que se comunican. Ejemplo:

enviar (mensaje, A) envía un mensaje al proceso A

Es decir se debe especificar cual va a ser el proceso fuente y cual va a ser el proceso Destino.

Las operaciones básicas Send y Receive se definen de la siguiente manera: Send (P, mensaje); envía un mensaje al proceso P (P es el proceso destino). Receive (Q, mensaje); espera la recepción de un mensaje por parte del proceso Q (Q es el proceso fuente).

Nota: Receive puede esperar de un proceso cualquiera, un mensaje, pero el Send sí debe especificar a quién va dirigido y cuál es el mensaje.

yadira portillo

unread,
Sep 17, 2012, 5:20:14 PM9/17/12
to SOII...@googlegroups.com

FORMAS DE COMUNICACIÓN QUE TIENEN LOS PROCESOS EN SISTEMAS OPERATIVOS DISTRIBUIDOS

La diferencia más importante entre un sistema distribuido y un sistema de un único procesador es la comunicación entre procesos.

En un sistema distribuido no existe la memoria compartida y por ello toda la naturaleza de la comunicación entre procesos debe replantearse.

 

FORMAS DE COMUNICACIÓN:

  1.       Protocolos con Capas
  2.       Modelo Cliente - Servidor (C - S)
  3.       Primitivas de Bloqueo Vs. No Bloqueo en C - S
  4.         Primitivas Almacenadas en Buffer Vs. No Almacenadas en C - S
  5.          Primitivas Confiables Vs. No Confiables en C - S
  6.          Llamada a un Procedimiento Remoto (RPC)
  7.        Transferencia de Parámetros en RPC
  8.         Conexión Dinámica en RPC
  9.         Semántica de RPC en Presencia de Fallos
  10.     Comunicación en Grupo

Victor Valdez

unread,
Sep 17, 2012, 6:15:37 PM9/17/12
to SOII...@googlegroups.com

Formas de comunicación en los SOD:

Protocolos con Capas

Debido a la ausencia de memoria compartida, toda la comunicación en los sistemas distribuidos se basa en la transferencia de mensajes, cuando el proceso “A” quiere comunicarse con el proceso “B”. Construye un mensaje en su propio espacio de direcciones. Ejecuta una llamada al sistema para que el S. O. busque el mensaje y lo envíe a través de la red hacia “B”. Para evitar el caos, “A” y “B” deben coincidir en el significado de los bits que se envíen.

Comunicación cliente-servidor Sockets

Un socket es el mecanismo de sincronización distribuida más importante. Se les denomina conectores porque pueden unir un proceso cliente y un proceso servidor de manera semejante a como se puede unir un enchufe de un dispositivo eléctrico a su respectivo socket. Para la comunicación de procesos remotos se necesita conocer la dirección de la maquina destino y el puerto. Para hacer uso de los sockets necesitamos dos cosas, una familia de protocolos para comunicación y un tipo de conexión.

Para establecer una comunicación a través de sockets se necesitan 5 requerimientos:

·         Dirección del servidor

·         Puerto del servidor

·         Dirección del cliente

·         Puerto del cliente

·         Canal de comunicación abierto

Comunicación con RPC

Consiste en una colección de procedimientos que un cliente puede solicitar por el envío de una petición RPC al servidor junto con los parámetros del procedimiento. El servidor invocará el procedimiento indicado en nombre del cliente, entregando el valor de retorno, si hay alguno. Para ser independiente de la máquina, todos los datos intercambiados entre el cliente y el servidor se convierten al formato Externar Data Representation (XDR) por el emisor, y son reconvertidos a la representación local por el receptor. RPC confía en sockets estándar UDP y TCP para transportar los datos en formato XDR hacia el host remoto. Son amablemente a puesto RPC en el dominio público; se describe en una serie de RFCs.

 

Comunicación en grupo

La propiedad fundamental de todos los grupos es que cuando un mensaje se envía al propio grupo, todos los miembros del grupo lo reciben. Se trata de una comunicación uno - muchos (un emisor, muchos receptores), que se distingue de la comunicación puntual o punto a punto (un emisor, un receptor).

Los grupos son dinámicos:

·         Se pueden crear y destruir.

·         Un proceso se puede unir a un grupo o dejar a otro

·         Un proceso puede ser miembro de varios grupos a la vez.

 

Estephania Tarin Fierro

unread,
Sep 17, 2012, 7:39:05 PM9/17/12
to SOII...@googlegroups.com

COMUNICACIÓN CON CLIENTE SERVIDOR (SOCKETS)

-Los sockets son el mecanismo de sincronización distribuida más importante.

-Se les denomina conectores 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.

-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.

COMUNICACIÓN CON RPC

-Las llamadas a procedimientos remotos (RPC) fue el primer intento por obtener un middleware para la construcción de sistemas distribuidos.

-Su funcionamiento se basa en la arquitectura cliente/servidor siendo totalmente transparente para el usuario.

-El problema del manejo de procesos distribuidos con sockets radica en que se basa en el flujo de E/S, haciendo los programas más difíciles de estructurar.

COMUNICACIÓN EN GRUPO

-Se define a un grupo como un conjunto de procesos que actúan entre ellos en cierto sistema.

 -Los grupos son dinámicos, ya que pueden aceptar nuevos procesos o estos pueden  dejar a su grupo.

-Cuando entran nuevos procesos o se salen del grupo, se debe garantizar que los mensajes lleguen a los procesos que actualmente conforman el grupo.

TOLERANCIA A FALLOS

-La tolerancia a fallas es considerada la principal característica que debe de tener un sistema distribuido para alcanzar el principio de transparencia.

-Las fallas de partición son las fallas de comunicación más importantes ya que fragmentan la red en pequeñas áreas llamadas particiones haciendo imposible el manejo de la consistencia de los datos.

-Son difíciles de detectar ya que no son visibles para todos los nodos de la red.

Estephania Tarin Fierro

unread,
Sep 17, 2012, 7:41:59 PM9/17/12
to SOII...@googlegroups.com
De: Estephania Tarin Fierro
Para: Victor Hugo Valdez German

Cada punto lo das muy bien definido y conciso :)

ESTEFANIAJS

unread,
Sep 17, 2012, 8:26:59 PM9/17/12
to SOII...@googlegroups.com

R  e    d   e    s       A T  M

El modelo de referencia OSI fue discutido y consensuado por empresas públicas y privadas de telecomunicaciones en los años setenta y fue implementado en parte en los ochenta. Los años noventa han alumbrado nuevos desarrollos tecnológicos en los niveles inferiores de la pila de protocolos OSI. Uno de ellos es ATM o modo de transferencia asíncrono.

 

El modelo cliente-servidor

El modelo de referencia OSI es aparentemente una buena herramienta para construir sistemas operativos distribuidos, ya que sus protocolos garantizan que los bits que se envían por la red de comunicación llegan correctamente a su destino. Sin embargo, no es así. Por una parte, hay que considerar que la implantación de los protocolos OSI representa una sobrecarga muy importante en la tarea del transporte de los bits.

 

Llamada a procedimiento remoto

El mecanismo general para las aplicaciones cliente-servidor se proporciona por el paquete Remote Procedure Call (RPC). RPC fue desarrollado por Sun Microsystems y es una colección de herramientas y funciones de biblioteca.

 

Comunicación de grupos

La comunicación RPC tiene dos partes, una, el cliente, dos, el servidor. Hay situaciones en que este modelo no es el idóneo en un sistema con un conjunto de servidores de ficheros replicados a fin de proporcionar tolerancia a fallos.

ESTEFANIAJS

unread,
Sep 17, 2012, 8:29:42 PM9/17/12
to SOII...@googlegroups.com
rosa maria:
muy buena información aunque yo encontre algo diferente.

ESTEFANIAJS

unread,
Sep 17, 2012, 8:31:44 PM9/17/12
to SOII...@googlegroups.com
jessica h. osuna.. excelente información encontré lo mismo ...
Message has been deleted

Guadalupe Cota Tirado

unread,
Sep 17, 2012, 11:11:36 PM9/17/12
to SOII...@googlegroups.com

Los sistemas distribuidos se basan en el intercambio de mensajes y la sincronización entre procesos distribuidos autónomos Comunicación entre procesos (IPC)

·         Variables compartidas

·         Paso de mensajes

El paso de mensajes es a través de lenguajes de programación concurrentes

·         Extensiones de lenguajes

·         Llamadas de APIs

Programas concurrentes: colección de dos o más programas secuenciales que se ejecutan concurrentemente (al mismo tiempo)

Sincronización:

Procesos que se ejecutan simultáneamente en diferentes

·         equipos a diferentes velocidades

·         Paso de mensajes primitivos

 

Comunicación implica

Comunicación por parte de los interlocutores y Sincronización Síncrona: cada operación se completan cuando se completa el

Par envía () - recibe ()

Asíncrona: pueden completarse por separado.

Un servicio de mensajes es  fiable si se garantiza la entrega unque se pierda cierto número de ellos, que habría que recuperar.

Si no se recuperan: no fiable

Integridad: si no se corrompen los mensajes y no se duplican el orden de entrega debe reproducir el orden de envió.

jesus antonio rodriguez alvarez

unread,
Sep 17, 2012, 11:47:55 PM9/17/12
to SOII...@googlegroups.com

¿Qué formas de comunicación tienen los procesos en sistemas operativos distribuidos?


La comunicación puede ser:

síncrona: el que envía permanece bloqueado esperando a que llegue una respuesta antes de realizar otro ejercicio.

Asíncrona: el que envía continua con su ejecución inmediatamente después de enviar el mensaje.

Persistente: el receptor no tiene que estar operativo al mismo tiempo que se realiza la comunicación.

Momentánea: el mensaje se descarta si el receptor no esta operativo al mismo tiempo.

Directa: se debe de especificar cual es el proceso fuente y cual es su destino.

Indirecta: la comunicación esta basada en una herramienta o instrumento ya que el emisor y el receptor están a distancia.

Simétrica: todos los procesos pueden enviar o recibir. Bidireccional.

Asimétrica: un proceso puede enviar, los demás procesos solo reciben. Unidireccional.

Uso de buffers automático: el transmisor se bloquea hasta que el receptor recibe el mensaje

Perla Cota Valdes

unread,
Sep 17, 2012, 11:53:16 PM9/17/12
to SOII...@googlegroups.com

Formas de Comunicacion:

- Comunicación con cliente servidor (sockets): 
Son el mecanismo de sincronización distribuida más importante. Se les denomina conectores 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.

-Comunicación con Rpc:

Su funcionamiento se basa en la arquitectura cliente/servidor siendo totalmente transparente para el usuario.

-Comunicación en Grupo:
Un grupo es una colección de procesos que actúan juntos en cierto sistema o alguna forma determinada por el usuario.

La propiedad fundamental de todos los grupos es que cuando un mensaje se envía al propio grupo, todos los miembros del grupo lo reciben.

-Tolerancia a Fallos:
Que el sistema de archivos sea tolerante a fallos implica qué el sistema debe guardar copias del mismo archivo en distintos ordenadores para garantizar la disponibilidad en caso de fallo del servidor original.
 

Manuel Patlan

unread,
Sep 18, 2012, 12:52:21 AM9/18/12
to SOII...@googlegroups.com

La comunicación pude darse por:

  • Variables compartidas
  •  Paso de mensajes a través de lenguajes de programación concurrentes
    • Extensiones de lenguajes
    •  Llamadas de APIs

    La comunicación se da generalmente por medio de sockets y puede ser síncrona cuando se completa el proceso enviar y recibir, o asíncrona cuando se completa con solo uno de los estados anteriores (aquí se dice que es tolerante a fallos).

    Hay varias formas de realizar la comunicación, algunos modelos son:

    1. Cliente – Servidor: Se basa en la petición/ respuesta
    2. RPC (Remote Procedure Call / Llamada a procedimiento remoto): Se basa en pedir a otro proceso que atienda la petición que requiere
    3. RMI (Remote Method Invocation / Invocacion a método remoto): Pide a otro método que realice su tarea (similar a RPC pero exclusivo de Java).
    4. Comunicación en grupo: Se envía el mensaje a un grupo de procesos y contesta quien pueda responder.

    Manuel Patlan

    unread,
    Sep 18, 2012, 12:56:03 AM9/18/12
    to SOII...@googlegroups.com
    Es igual a mi respuesta D: (no, no te copie).

    Supongo que la primera parte es similar porque es la base del tema y sin eso no podriamos expandir hacia los demas modelos de comunicacion.

    Roberto Garcia

    unread,
    Sep 18, 2012, 2:39:49 PM9/18/12
    to SOII...@googlegroups.com
    Comunicación en los Sistemas Operativos Distribuidos.
    Para lograr la distribución de procesos se requiere de mecanismos que permitan coordinar y controlar la ejecución de procesos en ambientes no centralizados, ya sean de manera local y remota.
    La comunicación pude darse por:

        -Variables compartidas
        -Paso de mensajes a través de lenguajes de programación concurrentes
           -Extensiones de lenguajes
           -Llamadas de APIs


    La comunicación se da generalmente por medio de sockets y puede ser síncrona cuando se completa el proceso enviar y recibir, o asíncrona cuando se completa con solo uno de los estados anteriores (aquí se dice que es tolerante a fallos).

    Roberto Garcia

    unread,
    Sep 18, 2012, 2:48:13 PM9/18/12
    to SOII...@googlegroups.com
    Muy buena informacion, estan bien enfocados los mecanismos.

    Roberto Garcia

    unread,
    Sep 18, 2012, 2:52:08 PM9/18/12
    to SOII...@googlegroups.com
    Buena informacion aunque te falto sobre los mecanismos en sì.
    Reply all
    Reply to author
    Forward
    This conversation is locked
    You cannot reply and perform actions on locked conversations.
    0 new messages