SIMULACIÓN DE LA CONSTRUCCIÓN DEL COLOSO

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 BuildingEmpire 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:

Tiempo en el proceso 1 entre las plantas ... : ... (Tiempo total de cada proceso cada 10 plantas)
Tiempo en el proceso 2 entre las plantas ... : ...
Tiempo en el proceso 3 entre las plantas ... : ...
Tiempo en el proceso 4 entre las plantas ... : ...
Tiempo en el proceso 5 entre las plantas ... : ...
Tiempo en el proceso 6 entre las plantas ... : ...
Tiempo en el proceso 7 entre las plantas ... : ...
Tiempo medio por proceso entre las plantas ... : ... (Tiempo medio por proceso cada 10 plantas)
Tiempo medio por planta : ... (Tiempo medio invertido en cada planta)

Si quieres ver una salida pinchame

AUTORES: