Nuestro problema es simular la construcción de un rascacielos (hemos escogido 100 plantas). Para la implementación del problema nos hemos apoyado en semáforos, considerando varios procesos en cada planta, y memoria compartida, para almacenar los tiempos de construcción de cada proceso y así poder realizar estadísticas simples sobre la simulación.
En cada planta se deben realizar los siguientes procesos:
El esquema de construcción del edificio no se corresponde a un esquema real, pero no tenemos conocimientos de arquitectura suficientes como para elaborar un esquema riguroso. Además este esquema fue elaborado con la ayuda de un libro, diseñado para un edificio de una sola planta. Al implementarlo para 100 plantas queda de esta forma tan peculiar.
Empire
State Building
Para el uso de la memoria compartida utilizamos las funciones contenidas en el fichero rshmem.c y rshmem.h y para el uso de los semáforos semaph.c .
Si deseas mirar el código fuente pincha aqui fuente.c .
Los tiempos de ejecución de cada proceso siguen una distribución exponencial, con diferente media cada uno. Las estadisticas se realizan cada diez plantas y la salida tiene el siguiente formato:
Si quieres ver una salida pinchame
AUTORES:
Alberto Pérez de la Fuente
Óscar Rueda Palacio