Operating Systems: Three Easy Pieces
pages.cs.wisc.edu
pages.cs.wisc.edu
Years ago when I used this book, I was blown away by the clarity and concision of their explanations for non-trivial technical content. In particular, their treatment of scheduling stuck out to me. To my knowledge, no other OS textbook explains scheduling in such an intuitive way -- the typical treatment is more like "meh, here's the zoo of scheduling algorithms". In this book, they start with a long list of workload assumptions, and discuss the optimal scheduling policies under these assumptions. As they relax assumptions, the optimal scheduling policy changes.
Also, OSTEP seems to be in a better position to solicit feedback from readers / professors using the book than other operating systems textbooks. Remzi was quite prompt and appreciative when I sent some suggestions.
http://pages.cs.wisc.edu/~remzi/OSTEP/combined.html
Available on Amazon as of today.
I recommend looking at FreeRTOS source code or building one from scratch.
What, a college textbook that doesn't require the purchase of a new edition every year, or local insert that isn't part of the public text, or online homework code? Yeah, right.
I still ended up buying the hardcopy, but it was nice having it online for free.
Sophomore year of college I released that I could buy a nice iPad, torrent my course books, and come out ahead.
The online homework code is such a racket.
Always read the footnotes in the text ... they are hilarious.