I’m looking for a book for my bookclub that I can learn how computer system works from. I’m currently reading Algorithm Unlocked with my friends on my bookclub. We will finish reading it soon, and we are talking about what book we will read next. One of my current interest topic is how computer system works, especially from a programmer perspective. As an iOS Developer, I know how to program an iOS app, and how to run it, it’s like a high level. But I still don’t have good understanding of how those programs work under the hood, it’s like a low level. I would like to know how the system runs my program. When I talked with one of my friends, he recommended me a book called Computer Systems: A Programmer’s Perspective. I checked its table of contents page, and it looks like this is a kind of book I’m exactly looking for. But here is one drawback: it might be a too long book for bookclub (also expensive, at least to me). It has 1000 page. It would be definitely a good book to learn the system though. So, I’m still looking for a good book that explains similar things, and that is about 200 - 400 pages. Please let me know if you have any recommendation on this kind of thing.

At last, I leave some keywords related to the topic here (these are chapter titles of the book Computer Systems: A Programmer’s Perspective):

  • Representing and Manipulating Information
  • Machine-Level Representation of Programs
  • Processor Architecture
  • Optimizing Program Performance
  • The Memory Hierarchy
  • Linking
  • Exceptional Control Flow
  • Virtual Memory
  • System-Level I/O
  • Network Programming
  • Concurrent Programming