Introduction
Imagine a busy office where many employees need to use limited printers and computers. The problem is how to keep track of who is using what resource and who is waiting, so no one gets stuck forever waiting for something that never becomes free.