Simulation of a restaurant's life cycle using semaphores and shared memory for thread communication and synchronization.
Distributed solution with multiple information sharing regions, written in Java, run in Linux. A logging file that describes the evolution of the internal state of the problem in a clear and precise way is included.