Friday, January 9, 2009

Print Is Dead or Computer Systems

Print Is Dead: Books in Our Digital Age

Author: Jeff Gomez

For over 1500 years books have weathered numerous cultural changes remarkably unaltered. Through wars, paper shortages, radio, TV, computer games, and fluctuating literacy rates, the bound stack of printed paper has, somewhat bizarrely, remained the more robust and culturally relevant way to communicate ideas. Now, for the first time since the Middle Ages, all that is about to change. 
Newspapers are struggling for readers and relevance; downloadable music has consigned the album to the format scrap heap, and the digital revolution is now about to leave books on the high shelf of history. In Print Is Dead, Gomez explains how authors, producers, distributors, and readers must not only acknowledge these changes, but drive digital book creation, standards, storage, and delivery as the first truly transformational thing to happen in the world of words since the printing press.

New interesting textbook: Geschäft: Seine Gesetzliche, Ethische und Globale Umgebung

Computer Systems: A Programmer's Perspective

Author: Randal E Bryant


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. Somefamiliarity 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

Table of Contents:
About the Authors
1A Tour of Computer Systems1
Pt. IProgram Structure and Execution
2Representing and Manipulating Information24
3Machine-Level Representation of Programs122
4Processor Architecture254
5Optimizing Program Performance376
6The Memory Hierarchy454
Pt. IIRunning Programs on a System
8Exceptional Control Flow584
9Measuring Program Execution Time650
10Virtual Memory690
Pt. IIIInteraction and Communication Between Programs
11System-Level I/O776
12Network Programming800
13Concurrent Programming846
AHCL Descriptions of Processor Control Logic905
BError Handling925

No comments:

Post a Comment