I have recently finished reading the book Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau. Since it is an educational book that falls within the field of computer sciences, I will review it from my own perspective. This will be the first post of this type.
First off, I am going to point out that the book is available chapter by chapter for free over at this page as its authors wants textbooks to be free. You can, however, buy it if you want.
I am new to the study of operating systems, and the book is a part of my current course in operating systems. Therefore, I cannot make any comments on the actual facts within the book.
The book covers virtualization, concurreny and persistence from both software and hardware perspectives. These are the "three easy pieces" mentioned in the title.
When learning a new subject, it is always nice to not be completely thrown into the subject, and in this regard, I feel that the book does really well when it comes to structure and content. Important concepts are first generalized with a lot of restrictions to simplify them, and are later expanded upon. The book is also full of asides - with other interesting concepts - and random trivia. This all makes for a pleasant read.
The trivia combined with hillarious quotes are worth reading by themselves, but also learning whilst having fun is something extraordinary. More textbook authors should take note here!
Overall, the book is great and somewhat humorous way to learn operating systems, and I really recommend it.