In many ways, the program this week looks much worse than it did last week. The code has been completely reorganized to allow for multiple distinct executables to share resources. Therefore, rather than defining the shared memory image and semaphore names in crossing.c, this information has been moved to shared.h. Routines have also been defined that allow for the processes to share semaphore and memory group id's using environment variables. Once again, the program currently does little more than execute and immediately terminate.