content top

Comunicación interprocesos del sistema operativo Solaris

Colas de mensajes, semáforos, memoria compartida.

Comunicación interprocesos

La comunicación interprocesos es la manera como los procesos comparten datos y sincronizan eventos entre sí. Solaris 10 implemente diferentes estructuras que permiten la comunicación interprocesos.

Una primera clasificación de los mecanismos que hacen posible la comunicación interprocesos sería la siguiente:

  • Mecanismos basados en descriptores: archivos con bloqueo, FIFOs o named pipes, pipes anónimos y sockets
  • Mecanismos manejados sin descriptores: Colas de mensajes, semáforos, memoria compartida
  • Señales

Ahondaremos en detalle en las colas de mensajes, los semáforos y la memoria compartida, por ser éstos los mecanismos más complejos y que ofrecen más posibilidades a los desarrolladores de aplicaciones.

Colas de mensajes

Las colas de mensajes de Solaris son estructuras FIFO, modificadas con la implementación de manejo de prioridades. Un mensaje es un bloque de memoria que sirve como contenedor a un “mensaje” definido por una aplicación. Cuando un mensaje es encolado, lo que ocurre es que se almacena en un área de memoria del kernel, donde puede ser recuperado por otro proceso.

Cada mensaje encolado maneja una prioridad, o tipo de mensaje. Para cada cola de mensajes, el kernel maneja sub-colas que corresponden a las posibles prioridades de los mensajes. Entre mas bajo es el número de prioridad, más alta es la prioridad del mensaje.

Cuando un proceso solicita recuperar un mensaje, puede ocurrir uno de los siguientes escenarios, dependiendo de los parámetros de configuración de la cola de mensajes:

  • Recibe un mensaje de prioridad x, donde x es en número más bajo (prioridad más alta) de los mensajes contenidos en la cola
  • En el caso en que explícitamente haya solicitado un mensaje de prioridad x, recibe un mensaje con número de prioridad menor o igual a x
  • Recibe un mensaje extraído de la cola según el esquema FIFO, independientemente de la prioridad

Semáforos

Los semáforos son estructuras que proveen un método de sincronización cuando múltiples proceso deben acceder a recursos compartidos. Pueden utilizarse como locks binarios para acceso exclusivo, pueden manejar el acceso a un número finito a recursos compartidos. Solaris 10 implementa el concepto de sets de semáforos, o sea, un único identificador de semáforo puede agrupar múltiples semáforos.

1
Liked it
Etiquetas: , , , , , , ,
votar


One Response to “Comunicación interprocesos del sistema operativo Solaris”

  1. Hey! Quick question that’s completely off topic. Do you know how to make your site mobile friendly? My blog looks weird when browsing from my iphone 4. I’m trying to find a theme or plugin that might be able to resolve this issue. If you have any suggestions, please share. Thank you!

Leave a Reply