PROCESOS COOPERATIVOS

Los procesos independientes no pueden afectar o ser afectados por la ejecución de otros procesos.

  • Los procesos cooperativos pueden afectar o ser afectados por la ejecución de otros procesos.
  • Ventajas de cooperación entre procesos
    • Se comparte información
    • Agiliza los cálculos
    • Modularidad
    • Conveniencia

PROBLEMA DE CONSUMIDORES Y PRODUCTORES

El problema de productores y consumidores es un paradigma de los procesos cooperativos, los productores producen información que es consumida por los procesos consumidores

  • Buffer ilimitado no establece un límite práctico para el tamaño del buffer

El buffer limitado asume que hay un tamaño fijo de buffer

BUFFER LIMITADO – SOLUCIÓN CON MEMORIA COMPARTIDA

Datos compartidos

N tamaño del buffer;

item = … dato a producir/consumir;

buffer = arreglo [0…n-1] de item;

entra, sale : 0…n-1;

Proceso productor

While (true){

/* produzca un item */

while (((entra=(entra +1)%n)==sale)

/* no haga nada – el buffer está lleno */

buffer [entra] = item;

entra = (entra+1)%n;

}

Deja un comentario

Diseña un sitio como este con WordPress.com
Comenzar