Computer Systems: A Programmer's Perspective, Global Edition
About this deal
All the chapters are excellent, except maybe chapter 7 on linking and chapter 8 on exceptional control flow. He has also taught courses in algorithms, programming, computer networking, distributed systems, and VLSI design.
He is a fellow of both the ACM and the IEEE and a member of both the US National Academy of Engineering and the American Academy of Arts and Sciences. Virtual memory is an important concept, but sadly it gets short shrift in computer science education. This book covers all the knowledge that a good programmer needs to understand how his program executes upon the OS and CPU and how to make it efficient, fast and scalable. He spent three years as an assistant professor at the California Institute of Technology, and has been on the faculty at Carnegie Mellon since 1984. The book has concrete and easy to follow along examples in C (basic understanding of C is required), which makes the book very practical.I actually found this a very approachable textbook on this subject, and following along with the examples and exercises in the text was quite helpful in gaining a working understanding of the material for lab exercises and exams. This book focuses on systems that execute an x86-64 machine code, and recommends that programmers have access to a Linux system for this course. Fundamental book for computer science students and/or general people that want to understand fundamentals of computer systems: architecture basics such as pipelining and optimization, data representation, virtual memory etc. This is an international edition textbook with identical content as the US version and is usually paperback bound instead of hardcover. I highly recommend Computer Systems: A Programmer’s Perspective for anyone who feel they need a better grasp of these ideas.
Bryant received his bachelor’s degree from the University of Michigan in 1973 and then attended graduate school at the Massachusetts Institute of Technology, receiving his PhD degree in computer science in 1981.Having read for breadth and gleaned a low-resolution understanding of the topics, I imagine I will revisit this as-needed for deeper reference throughout my future studies and career (and have already encountered a couple real-world problems where this lower-level knowledge has helped me debug and find solutions). It's a very clear and well-written book of computer systems from a programmer's perspective, with important emphasis on parts of the system (hardware, OS, application program) that are important for a software programmer to understand.