Computer Systems: A Programmer’s Perspective
The aim of this text is to explain the enduring concepts underlying all computer systems and show how they affect programs’ correctness, performance or utility. The author takes an implementer-first approach by explaining hardware construction techniques as well operating system implementation issues in order for readers understand what goes on behind closed doors when building a more complicated machine like your phone!