You are on page 1of 3

PRIMITIVAS DE COMUNICACIN IPC (COMUNICACIN ENTRE PROCESOS) Es una funcin bsica de los Sistemas operativos.

Los procesos pueden comunicarse entre s a travs de compartir espacios de memoria, ya sean variables compartidas o buffers, o a travs 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 travs de un sistema de bajo nivel de paso de mensajes que ofrece la red subyacente. La comunicacin se establece siguiendo una serie de reglas (protocolos de comunicacin). Los protocolos desarrollados para internet son los mayormente usados: protocolo de internet (capa de red), protocolo de control de transmisin (capa de transporte) y protocolo de transferencia de archivos, protocolo de transferencia de hipertexto (capa de aplicacin). Comunicacin entre procesos: Hay dos formas en que se puede comunicar los procesos, los cuales son: Por medio de un esquema de comunicacin por memoria compartida (Buffer) Por medio de un mecanismo de comunicacin entre procesos (IPC) La IPC ofrece un mecanismo que permite a los procesos comunicarse y sincronizar sus acciones. La mejor forma de proveer la comunicacin entre procesos es mediante un sistema de mensajes. La funcin de un sistema de mensaje es permitir a los procesos comunicarse entre s sin tener que recurrir a variables compartidas. Un recurso IPC ofrece por los menos 2 operaciones: enviar (mensaje) (send) y recibir (mesanje) (receive). Sea P y Q dos procesos que requieren comunicarse debern enviarse mensajes; para ello debe existir un enlace de comunicacin entre ellos. Este enlace puede implementarse de diversas maneras. Los mtodos para implementar lgicamente un enlace y las operaciones de enviar / recibir son: Comunicacin directa o indirecta Uso de buffer automtico o explcito Envo por copia o envo por referencia Mensajes de tamao fijo o variables Comunicacin directa: Aqu cada proceso que desee comunicarse debe nombrar explcitamente el destinatario o el remitente de la comunicacin. Este esquema se define las primitivas de la sig. manera:

Enviar(P,mensaje): Enviar un mensaje al proceso P. Recibir(Q. Mensaje): Recibir un mensaje del proceso Q. Con las siguientes propiedades: Se establece automticamente el enlace entre cada par de procesos. Lo procesos slo necesitan conocer la identidad de otro para la comunicacin. Solo hay un enlace entre cada par de procesos. El enlace puede ser unidireccional o bidireccional. Este esquema exhibe un simetra de direccionamiento; es decir, los procesos tanto emisor como receptor necesitan nombrar al otro para comunicarse. Otra variante de este esquema es utilizar asimetra de direccionamiento, con la sig. primitivas: Enviar(P,mensaje): enviar un mensaje al proceso P. Recibir(Id,mensaje) : recibir un mensaje de cualquier proceso con el que hubo comunicacin. Aqu slo el emisor nombra al destinatario; el destinatario no sta obligado a nombrar al emisor. Comunicacin indirecta: Aqu los mensajes se envan a, y se reciben de, buzones (tambin llamados PUERTOS). Un buzn puede considerarse en lo abstracto como un objeto en el que los procesos pueden colocar mensajes y del cual se pueden sacar mensajes. Cada buzn tiene una identificacin nica. Aqu dos proceso se pueden comunicarse slo si comparten un buzn. Las primitivas se definen como: Enviar (A,mensaje): enviar un mensaje al buzn A. Recibir (A,mensaje): recibir un mensaje del buzn A. Un enlace de comunicacin tiene las sig. propiedades: Se establece un enlace entre un par de procesos slo si tienen un buzn compartido. Un enlace puede estar asociado a ms de dos procesos. Entre cada par de procesos en comunicacin puede haber varios enlaces distintos, cada uno de los cuales corresponder a un buzn. Los enlaces pueden ser unidireccionales o bidireccionales. Hay varias formas de designar el dueo de y los usuarios de un buzn dado. Una posibilidad es permitir que un proceso declare variables de tipo buzn. El proceso que declara un buzn es el dueo de ese buzn. Cualquier otro proceso que conozca el nombre de dicho buzn podr usarlo. Por otro lado, un buzn propiedad del S.O tiene existencia propia; es independiente y no est unido a ningn proceso especfico. El S.O establece un mecanismo que permite a un proceso: Crear un buzn nuevo Enviar y recibir mensajes a travs del buzn

Destruir un buzn.