http://ro.uow.edu.au/cgi/viewcontent.cgi?article=1027&contex...
http://courses.teresco.org/cs432_f02/lectures/07-synch/07-sy...
https://www.cs.cmu.edu/~410-f03/lectures/L09_Synch.txt
https://www.cs.ucsb.edu/~rich/class/cs170/notes/Semaphores/
Documentations:
https://doc.micrium.com/display/osiiidoc/Semaphores+in+uC-OS...
Articles:
http://realtimepartner.com/articles/semaphores.html
http://lycog.com/distributed-systems/semaphore-mutual-exclus...
If we're going to compare it to any real life object, it may as well be a semaphore. Anything else will have the same issues. Traffic lights: what about yellow / blinking. Stop signs: why do they sometimes stop, sometimes not. etc.
Is there any single word/phrase concept which you'd rather use instead? Is it much more convenient and clear than a semaphore?