Buscar este blog

sábado, 15 de enero de 2011

2.6 Concurrencia Exclusión Mutua y Sincronización

La intercalación y la superposición pueden contemplarse como ejemplos de procesamiento concurrente en un sistema monoprocesador, los problemas son Entronización de la velocidad de ejecución de los procesos que no pueden predecirse y depende de las actividades de otros procesos
                                       
  Exclusión Mutua
       Se puede utilizar el paso de mensajes para cumplir con la exclusión mutua. Esta técnica dice que si hay más de un proceso ejecutando la acción receive concurrentemente, entonces:
·         Si hay un mensaje, se entrega sólo a uno de los procesos y los otros se bloquean.
·         Si el buzón está vacío, todos los procesos se bloquean. Cuando haya un mensaje disponible, sólo se activa y toma el mensaje uno de los procesos bloqueados. Una vez que un proceso ha conseguido el mensaje, ejecuta su sección crítica y, después, devuelve el mensaje al buzón. De este modo, el mensaje funciona como un testigo (token) que se pasa de un proceso a otro.

 Sincronización
La comunicación de un mensaje entre 2 procesos implica cierto nivel de sincronización entre ambos. El receptor no puede recibir un mensaje hasta que sea enviado por otro proceso. Además hace falta especificar que le sucede a un proceso después de ejecutar una primitiva SEND o RECEIVE.

No hay comentarios:

Publicar un comentario