Just coming here to give my usual thank you/plug to Allen B. Downey for all of his wonderfully written (and free!) books. Aside from The Little Book of Semaphores, here are a few of my favorites:
Thank you for these links. I have read semaphores book and I recommend it to others. Didn't know that there were other good titles from Downey. Planning on reading them all.
We're currently discussing Synchronization in our Operating Systems class and it just feels inadequate. This looks like a solid material to dive deeper into the topic :)
How To Think Like A (Functional) Programmer ("Think OCaml") - http://greenteapress.com/thinkocaml/index.html
Think Operating Sytems - http://greenteapress.com/thinkos/index.html
Think Bayes - http://greenteapress.com/wp/think-bayes/
Think Stats - http://greenteapress.com/thinkstats2/index.html
Also important is his section about how to help free books: http://greenteapress.com/easy.html