Buy Used
Used - Acceptable See details
$17.94 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Sell Back Your Copy
For a $13.80 Gift Card
Trade in
Have one to sell? Sell yours here
Computer Systems: A Programmer's Perspective
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Computer Systems: A Programmer's Perspective [Hardcover]

Randal E. Bryant (Author), David R. O'Hallaron (Author)
4.5 out of 5 stars  See all reviews (22 customer reviews)


Available from these sellers.


Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

Formats

Amazon Price New from Used from
Hardcover --  
Paperback --  
Sell Back Your Copy for $13.80
Whether you buy it used on Amazon for $17.94 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $13.80.
Used Price$17.94
Trade-in Price$13.80
Price after
Trade-in
$4.14
There is a newer edition of this item:
Computer Systems: A Programmer's Perspective (2nd Edition) Computer Systems: A Programmer's Perspective (2nd Edition) 4.5 out of 5 stars (10)
$93.99
In Stock.

Book Description

013034074X 978-0130340740 August 23, 2002 US ed
For Computer Organization and Architecture and Computer Systems courses in CS and EE and ECE departments. Developed out of an introductory course at Carnegie Mellon University, this text explains the important and enduring concepts underlying all computer systems, and shows the concrete ways that these ideas affect the correctness, performance, and utility of application programs. The text's concrete and hands-on approach will help students understand what is going on "under the hood" of a computer system.


Editorial Reviews

From the Back Cover

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.

Topics include: data representations, machine-level representations of C programs, processor architecture, program optimization, memory hierarchy, linking, exceptional control flow, virtual memory and memory management, system-level 1/O, network programming, and concurrent programming. The coverage focuses on how these areas affect application and system programmers. For example, when covering data representations, it considers how the finite representations used to represent numbers can approximate integer and real numbers, but with limitations that must be understood by programmers. When covering caching, it discusses how the ordering of loop indices in matrix code can affect program performance. When covering networking, it describes how a concurrent server can efficiently handle requests from multiple clients.

The book is based on Intel-compatible (IA32) machines executing C programs on Unix or related operating systems such as Linux. Some familiarity with C or C++ is assumed, although hints are included to help readers making the transition from Java to C.

A complete set of resources, including labs and assignments, lecture notes, and code examples are available via the book's Web site at csapp.cs.cmu.edu.

About the Author

Randal E. Bryant received the Bachelor's degree from the University of Michigan in 1973 and then attended graduate school at the Massachusetts Institute of Technology, receiving the Ph.D. degree in computer science in 1981. 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. He is currently the President's Professor of Computer Science and head of the Department of Computer Science. He also holds a courtesy appointment with the Department of Electrical and Computer Engineering.

He has taught courses in computer systems at both the undergraduate and graduate level for over 20 years. Over many years of teaching computer architecture courses, he began shifting the focus from how computers are designed to one of how programmers can write more efficient and reliable programs if they understand the system better. Together with Prof. O'Hallaron, he developed the course "Introduction to Computer Systems" at Carnegie Mellon that is the basis for this book. He has also taught courses in algorithms and programming.

Prof. Bryant's research concerns the design of software tools to help hardware designers verify the correctness of their systems. These include several types of simulators, as well as formal verification tools that prove the correctness of a design using mathematical methods. He has published over 100 technical papers. His research results are used by major computer manufacturers including Intel, Motorola, IBM, and Fujitsu. He has won several major awards for his research. These include two inventor recognition awards and a technical achievement award from the Semiconductor Research Corporation, the Kanellakis Theory and Practice Award from the Association for Computer Machinery (ACM), and the W. R. G. Baker Award and a Golden Jubilee Medal from the Institute of Electrical and Electronics Engineers (IEEE). He is a Fellow of both the ACM and the IEEE.

David R. O'Hallaron received the Ph.D. degree in computer science from the University of Virginia in 1986. After a stint at General Electric, he joined the Carnegie Mellon faculty in 1989 as a Systems Scientist. He is currently an Associate Professor in the Departments of Computer Science and Electrical and Computer Engineering.

He has taught computer systems courses at the undergraduate and graduate levels, on such topics as computer architecture, introductory computer systems, parallel processor design, and Internet services. Together with Prof. Bryant, he developed the course "Introduction to Computer Systems" that is the basis for this book.

Prof. O'Hallaron and his students perform research in the area of computer -systems. In particular, they develop software systems to help scientists and engineers simulate nature on computers. The best known example of their work is the Quake project, a group of computer scientists, civil engineers, and seismologists who have developed the ability to predict the motion of the ground during strong earthquakes, including major quakes in Southern California, Kobe, Japan, Mexico, and New Zealand. Along with the other members of the Quake Project, he received the Allen Newell Medal for Research Excellence from the CMU School of Computer Science. A benchmark he developed for the Quake project, 183.equake, was selected by SPEC for inclusion in the influential SPEC CPU and OMP (Open MP) benchmark suites.


Product Details

  • Hardcover: 978 pages
  • Publisher: Prentice Hall; US ed edition (August 23, 2002)
  • Language: English
  • ISBN-10: 013034074X
  • ISBN-13: 978-0130340740
  • Product Dimensions: 9.2 x 7.8 x 1.6 inches
  • Shipping Weight: 3.7 pounds
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (22 customer reviews)
  • Amazon Best Sellers Rank: #273,895 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

22 Reviews
5 star:
 (17)
4 star:
 (3)
3 star:    (0)
2 star:
 (1)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
4.5 out of 5 stars (22 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

42 of 44 people found the following review helpful:
5.0 out of 5 stars Everything you need to know as a programmer, March 24, 2005
This review is from: Computer Systems: A Programmer's Perspective (Hardcover)
What a splendid book! I wish I had gone to CMU and take this course. This book is written by CMU professors after teaching Computer Systems course for few years. This book covers broad spectrum of topics from Operating Systems, Compilers, Computer Architecture, Assembly Level Programming, Kernel internals, Linkers, etc from a programmer's perspective (as the title aptly says).

I am searching for words to describe the usefulness of this book. In my experience, I have had hard time learning some of the topics where Operating systems, Processor and Compilers intersect. For example, Linkers and Loaders, program disassembly using reverse-engineering, virtual memory in Kernel etc. After all the hard work, I found the right book which grinds all the famous books in different areas and gives the right juice for the real programmers to taste and digest.

Those famous books are:
[1] Computer Organization and Design Second Edition : The Hardware/Software Interface by David A. Patterson, John L. Hennessy
[2] UNIX Internals: The New Frontiers by Uresh Vahalia
[3] Linux Kernel Development by Robert Love
[4] Linkers and Loaders by John R. Levine
[5] GNU Binutils (GAS, objdump, ar, nm etc) Documentation

Excellent job. I really appreciate the work and content of this book.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


12 of 14 people found the following review helpful:
4.0 out of 5 stars Nice Book!, May 25, 2005
By 
This review is from: Computer Systems: A Programmer's Perspective (Hardcover)
I just completed a college course using this textbook... the course was tough, but the book was very good and useful. This is one textbook I won't be selling any time soon!

The practice problems provided in the book were usually very good, and the programming problems distributed with it were fun and educational, including topics like Buffer Overflows, Memory Optimizations, and Debugging with GDB, among others.

There are *some* problems with this book, but it doesn't suffer from the devastating flaws that plague most computer science textbooks. Some sections lack thorough explanations and examples, and the writting is a bit unclear at times. Some solutions to the practice problems are vague and don't really provide much insight on how to solve the problems. Luckily, these flaws only creep up in a few places.

Compared to most technical textbooks, however, this one really shines. It's not quite perfect, so I think 4 stars is appropriate.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5 of 5 people found the following review helpful:
4.0 out of 5 stars Needs a good instructor to go along with it, May 8, 2006
This review is from: Computer Systems: A Programmer's Perspective (Hardcover)
An excellent reference, but it is an embarassment of riches, and as such it can't completely cover every area exhaustively. This would probably be extremely frustrating for a casual reader to absorb. I used this as a text book for a class with an extremely good instructor who backed up the material in the book very well. As such, the class and the book were a joy.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews




Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(1)
(1)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject