Y2 coursework assignment that simulates a memory manager that initialises, allocates and deallocates memory for processes in a threadsafe fashion.