The Sleeping Barber Problem is an Open Educational Resource (OER) developed for the Operating Systems I course at University of São Paulo (USP), São Carlos campus.

This project aims to improve the course experience for teachers and students alike by providing resources to aid in understanding a common problem in inter-process communication and synchronization. Among these resources there is an explanation of the problem and the core concepts needed to understand it, the development and proposal of one of the possible solutions, a visualization tool demonstrating the state of the semaphores and mutexes, and code implementation of the proposed solution.

All libraries and resources utilized in the project are licensed under various open source licenses, and the project itself is licensed under the MIT license.

The source of this project can be found at GitHub. Contributions are highly encouraged, details can be found at the README, with a handful of features yet to be implemented are on the To do section, which is open to feature proposals itself.

Hosting for the project kindly provided by the LaSDPC.

Allen B. Downey. The Little Book of Semaphores. http://greenteapress.com/semaphores/.

Abraham Silberschatz, Greg Gagne, Peter Baer Galving. Operating System Concepts. John Wiley & Sons, ninth edition, 2012.

Andrew S. Tanenbaum and Herbert Bos. Modern Operating Systems. Pearson, fourth edition, 2014.