Imprimir
Categoría: Prácticas de Linux
Visitas: 5395

La práctica consiste en la sincronización de procesos concurrentes, implementando soluciones basadas en semáforos que permitan hacer cumplir la exclusión mutua a dichos procesos.

El objetivo es resolver el supuesto práctico, que consistirá en la simulación de una cadena de montaje formada por una cinta transportadora y tres robots.

Por la cadena de montaje circulan tres productos: A, B y C. En la parte final de la cadena existen tres robots, que se encargan de retirar y empaquetar estos elementos.

El robot 1 se encarga de empaquetar en una misma caja el lote número 1 formado por los productos A y B, el robot 2 empaqueta el lote número 2 con los productos A y C, y el robot 3 empaqueta los productos B y C formando el lote número 3.

Continuamente llegan al final de la cadena dos productos distintos, dependiendo del lote que se forme deberá ser retirado y empaquetado por uno u otro robot.

Se deberá construir un programa que sincronice los tres robots, de forma que en todo momento sólo un robot retire los dos productos. La cinta no podrá insertar dos nuevos productos en la parte final de la cadena de producción hasta que no hayan sido retirados por el robot correspondiente.

 

La resolución de este problema se implementará mediante la utilización de BACI (Intérprete Concurrente de Ben-Ari), que simula la ejecución concurrente de procesos, soporta semáforos enteros y binarios, así como monitores.

 

DESCARGAR