The Wayback Machine - https://web.archive.org/web/20070806075942/http://csapp.cs.cmu.edu:80/

Computer Systems: A Programmer's Perspective (CS:APP)

Randal E. Bryant and David R. O'Hallaron
Prentice Hall, 2003, ISBN 0-13-034074-X.

For examination copies, contact Tim Galligan.

Here's what others are saying.

Adoptions | Ms Samples | Papers | Errata | Curriculum | Courses | Student Site | Instructor Site

Overview

This book (CS:APP) stems from an introductory systems course that we developed at Carnegie Mellon University in the Fall of 1998, called "Introduction to Computer Systems" (ICS). The presentation is based on the following principles, which aim to help the students become better programmers and to help prepare them for upper-level systems courses: We cover data representations, machine level representations of C programs, processor architecture, program optimizations, the memory hierarchy, linking, exceptional control flow (exceptions, interrupts, processes, and Unix signals), performance measurement, virtual memory and memory management, system-level I/O, basic network programming, and basic concurrent programming. These concepts are supported by series of fun and hands-on lab assignments. See the manuscript Preface for more details.

Course Materials for Instructors and Students


Randy Bryant and Dave O'Hallaron

Last modified: Tue Jan 30 13:23:23 EST 2007