Understanding the Linux Kernel
Daniel P. Bovet
From Amazon:
In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks. The third edition of Understanding the Linux Kernel takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does.
Every week, for over a year, Alessandro asked his friends, colleagues, and acquaintances that are part of his social networks (Twitter and LinkedIn) the following question:
"What is the book that changed your life? (not novels or religious texts)"
I think it's a wonderful way to connect in a less superficial way and learn a little more about each other. It's also a wonderful way to discover new books worth reading.
This is one of them. The full list is here.