ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Sistema operativo


Enviado por   •  7 de Octubre de 2013  •  Tesis  •  2.371 Palabras (10 Páginas)  •  410 Visitas

Página 1 de 10

La comunicación entre procesos es una función básica de los sistemas operativos que 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.

Las técnicas de IPC están divididas dentro de métodos para: paso de mensajes, sincronización, memoria compartida y llamadas de procedimientos remotos (RPC).

En un sistema, los procesos pueden ejecutarse independientemente o cooperando entre sí. Los intérpretes de comandos son ejemplos típicos de procesos que no precisan la cooperación de otros para realizar sus funciones. En cambio, los procesos que sí cooperan necesitan comunicarse entre sí para poder completar sus tareas.

La comunicación entre procesos puede estar motivada por la competencia o el uso de recursos compartidos o porque varios procesos deban ejecutarse sincronizadamente para completar una tarea.

Para que puedan realizarse ambos tipos de interacciones, es necesario que el sistema operativo provea de servicios para posibilitar la comunicación entre procesos.

El sistema operativo provee mínimamente dos primitivas, "enviar" y "recibir", normalmente llamadas send y receive. Asimismo, debe implementarse un enlace de comunicación entre los procesos de la comunicación (pipe). Este enlace puede ser unidireccional o multidireccional según permita la comunicación en uno o en varios sentidos.

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 (por ejemplo, un 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” especifican 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 cuál va a ser el proceso fuente y cuál 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.

- Indirecta: Es aquella donde la comunicación está basada en una herramienta o instrumento ya que el emisor y el perceptor 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 sólo reciben. También llamada unidireccional. Suele usarse para hospedar servidores en Internet.

- Uso de búfer automático: El transmisor se bloquea hasta que el receptor recibe el mensaje (capacidad cero).

Comunicación entre procesos

La comunicación entre procesos (comúnmente IPC, del inglés 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 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 redsubyacente.

La comunicación se establece siguiendo una serie de reglas (protocolos de comunicación). Los protocolos desarrollados para internetson 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.

Índice

[ocultar]

1 Conceptos básicos

2 Tipos de comunicación

2.1 Síncrona

2.2 Asíncrona

2.3 Persistente

2.4 Momentánea (transient)

2.5 Directa

2.6 Indirecta

2.7 Simétrica

2.8 Asimétrica

2.9 Uso de buffers automático

3 RPC

3.1 Paso de parámetros

3.2 Invocación remota de métodos (RMI)

4 Comunicación orientada a mensajes

4.1 Mensajes momentáneos vs. mensajes persistentes

4.1.1 Sockets Berkeley

4.1.2 Message-passing interface (MPI)

5 Implementaciones

5.1 Message-oriented middleware o Message-queuing systems

6 Comunicación orientada a streams

7 Comunicación entre procesos Linux

8 Comunicación multicast

...

Descargar como (para miembros actualizados)  txt (17 Kb)  
Leer 9 páginas más »
Disponible sólo en Clubensayos.com