Computer Systems: A Programmer’s Perspective

Computer Systems: A Programmer's Perspective

This is a draft version of Computer Systems: A Programmer’s Perspective. This book is for programmers who want to write faster and more reliable programs. By learning how programs are mapped onto the system and executed, readers will better understand why programs behave the way they do and how inefficiencies arise.


Computer systems are viewed broadly, comprising processor and memory hardware, compiler, operating system, and networking environment. With its programmer’s perspective, readers can clearly see how learning about the inner workings of computer systems will help their further development as computer scientists and engineers. It also helps prepare them for further study in computer architecture, operating systems, compilers, and networking.

Table of Contents

  • Introduction
  • Representing and Manipulating Information
  • Machine-Level Representation of C Programs
  • Processor Architecture
  • Optimizing Program Performance
  • The Memory Hierarchy
  • Linking
  • Exceptional Control Flow
  • Measuring Program Execution Time
  • Virtual Memory
  • Concurrent Programming with Threads
  • Network Programming

Book Details

Author(s): Randal E. Bryant and David R. O’Hallaron
Format(s): PDF
File size: 4.7 MB
Number of pages: 783
Link: Download.

Leave a Reply