Вы находитесь на странице: 1из 3

Sistemas Distribuidos

IPC-Comunicación entre procesos

Juliana Vargas, Gerardo Araque, Juan Herrera


Universidad Pedagógica y Tecnológica de Colombia
Ingeniería de Sistemas y Computación
Seccional Sogamoso
Correo-e: juliana.vargas01@uptc.edu.co, juan.herrera02@uptc.edu.co, gerardo.araque@uptc.edu.co

1 Introducción Modularidad

Este documento es un ejemplo del formato de Hace referencia a la división de las funciones de los
presentación deseado, y contiene información sistemas en diferentes procesos.
concerniente al diseño general del documento,
familias tipográficas, y tamaños de tipografía Conveniencia o comodidad
apropiados.
Esta característica se da cuando un usuario lleva a
2 Marco de referencia cabo varias tareas a la vez.

2.1 Que es un proceso? 2.4 Comunicación entre procesos (IPC)

Es un programa en ejecución que necesita recursos Proporciona un mecanismo para permitir que los
para poder realizar su tarea, estos recursos se asignan procesos se comunique y sincronicen sus acciones sin
al proceso en el momento de su creación o ejecución. compartir el mismo espacio de direcciones de
Los sistemas consisten en un conjunto de procesos. memoria.

2.2 Proceso independiente. Particularmente el servicio de IPC es usado en un


ambiente distribuido, en donde los procesos que se
No necesita de la interacción con otros procesos para comunican pueden residir en diferentes equipos
poder llevar a cabo su tarea. conectados en una red.

Este no puede ser afectado ni afecta a los procesos Sistema de paso de mensajes
que se están ejecutando en el sistema.
El servicio de IPC se proporciona mejor mediante un
2.3 Proceso Cooperativo. sistema de paso de mensajes, la función de este
sistema es permitir la comunicación entre ellos sin
Comparte datos con otros procesos del sistema para necesidad de usar datos compartidos.
llevar a cabo su objetivo.
Este sistema proporciona dos operaciones las cuales
Compartir información son envió (send) y recepción (receive). Para llevar a
cabo estas operaciones debe existir un enlace de
Se da cuando varios procesos necesitan de una misma comunicación.
pieza de información, se debe permitir el acceso
concurrente al recurso. Para llevar a cabo la implementación lógica del
enlace de comunicación existen los siguientes
Acelerar los cálculos métodos:

Para ejecutar una tarea con mayor rapidez, se debe  Comunicación directa o indirecta.
dividir en sub tareas, cada una de las cuales se
ejecutara en paralelo con las demás.  Comunicación simétrica o asimétrica.

 Uso automático o explícito de buffers.

 Envió por copia o por referencia.

 Mensajes de tamaño fijo o variable.


2.4.1Asignación de nombres Para implementar estas operaciones el paso de
mensajes puede ser con bloqueo o sin bloqueo, o
Los procesos que se desean comunicarse pueden también conocidos como sincrónico y asincrónico.
hacerlo mediante comunicación directa o indirecta.
 Envió con bloqueo. El proceso emisor se
Comunicación directa bloquea hasta que el mensaje es recibido por
el receptor o por el buzón.
Se basa en que cada proceso que quiere comunicarse
debe nombrar explícitamente al emisor o al receptor  Envió sin bloqueo. El proceso emisor envía
de la comunicación. el mensaje y continua su operación.

 Send(P, mensaje) – Enviar un mensaje al  Recepción con bloqueo. El receptor se


proceso P. bloquea hasta que haya un mensaje
disponible.
 Receive(Q, mensaje) – Recibir un mensaje
del proceso Q.  Recepción sin bloqueo. El receptor
recupera el mensaje valido o un valor nulo.
Un enlace de comunicación directa posee las
siguientes características: 2.4.3 Utilización de buffers.

 Se establece un enlace automáticamente Cada enlace tiene cierta capacidad que determina el
entre cada par de procesos que desean número de mensajes que puede contener
comunicarse. temporalmente. Esto puede considerarse como una
cola de mensajes unidas al enlace, existen tres
 Entre cada par de procesos en comunicación maneras básicas para representar dicha capacidad.
hay exactamente un enlace. Estas son:

 El enlace es bidireccional.  Capacidad cero. La cola tiene una longitud


máxima de 0, es decir no puede haber
Comunicación indirecta ningún mensaje en espera. Los dos procesos
deben estar sincronizados para que exista
En este esquema, un proceso se puede comunicar con una transferencia de un mensaje.
otro utilizando varios buzones diferentes, solo se
pueden comunicar si tienen un buzón compartido.  Capacidad limitada. La cola tiene una
longitud finita n; como máximo puede
Un buzón puede verse como un objeto en donde los recibir n mensaje en ella. Si la cola no está
procesos pueden colocar y remover mensajes. llena al enviar un nuevo mensaje, se coloca
en la cola, y el emisor puede continuar su
 Send (A, mensaje) – Enviar un mensaje al ejecución sin esperar. Si el enlace está lleno,
buzón A. el emisor debe demorarse hasta que haya
espacio disponible en la cola.
 Receive (A, mensaje) – Recibir un mensaje
del buzón A.  Capacidad ilimitada. Tiene una longitud
infinita; de esta manera, cualquier númerof
Un enlace de comunicación indirecta tiene las de mensajes puede esperar en la cola ya que
siguientes propiedades: el emisor nunca se bloquea.

 Se establece un enlace entre un par de 3 Conclusiones


procesos solo si comparten un buzón.
El seguimiento de las normas indicadas permitirá que
su trabajo no sólo se destaque por su contenido, sino
 Un enlace se puede asociar con más de dos
que también resulte visualmente atractivo.
procesos.

 Un enlace puede ser unidireccional o


bidireccional.

2.4.2 Sincronización

Como se mencionó anteriormente la comunicación


entre procesos se realiza mediante las operaciones
send y receive.

2
[4] Strunk, W. and White, E.B. The Elements of
Style. Fourth Edition, Boston: Allyn and Bacon.
2000.

Referencias
[1] Anderson, R.E. Social impacts of computing:
Codes of professional ethics. Social Science
Computing Review. Vol. 10, No. 2, (Winter
1992), pp.453-469.

[2] Harmon, J.E. The Structure of Scientific and


Engineering Papers: A Historical Perspective.
IEEE Trans. On Professional Communication.
Vol 32, No. 2, (September, 1989), pp. 132-138.

[3] Pierson, M.M. and Pierson, B.L. Beginnings


and Endings: Keys to Better Engineering
Technical Writing. IEEE Trans. On Professional
Communication. Vol 40, No. 4, (December,
1997), pp. 299-304.

Вам также может понравиться