Computer Systems: A Programmer's Perspective: Really goes into the details: processor architecture, memory hierarchy, system-level I/O, concurrent programming, and many more. A must read if you want a deeper understanding of computer systems.