Taryn Rose

Computer Systems : A Programmer's Perspective by Randal E. Bryant and David...

Description: About this productSynopsisA 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 sitFor Computer Organization and Architecture and Computer Architecture courses. Often, computer science and computer engineering curricula don't provide students with a concentrated and consistent introduction to the fundamental concepts that underlie all computer systems. Traditional computer organization and logic design courses cover some of this material, but they focus largely on hardware design. They provide students with little or no understanding of how important software components operate, how application programs use systems, or how system attributes affect the performance and correctness of application programs. - A more complete view of systems - Takes a broader view of systems than traditional computer organization books, covering aspects of computer design, operating systems, compilers, and networking, provides students with the understanding of how programs run on real systems. - Systems presented from a programmers perspective - Material is presented in such a way that it has clear benefit to application programmers, students learn how to use this knowledge to improve program performance and reliability. They also become more effective in program debugging, because tThis book 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 book's concrete and hands-on approach will help readers understand what is going on "under the hood" of a computer system.This book focuses on the key concepts of basic network programming, program structure and execution, running programs on a system, and interaction and communication between programs.For anyone interested in computer organization and architecture as well as computer systems.Product IdentifiersISBN-10013034074XISBN-139780130340740eBay Product ID (ePID)2292878Key DetailsAuthorDavid R. O'Hallaron, Randal E. BryantNumber Of Pages1304 pagesFormatHardcoverPublication Date2002-08-13LanguageEnglishPublisherPrentice Hall PTRPublication Year2002Additional DetailsCopyright Date2003IllustratedYesDimensionsWeight58.8 OzHeight1.6 In.Width7.8 In.Length9.3 In.Target AudienceGroupCollege AudienceClassification MethodLCCN2001-056578LC Classification NumberTA177Dewey Decimal005.3Dewey Edition23Table Of Content(NOTE:Each chapter concludes with Summary.) Preface. 1. A Tour of Computer Systems. Information Is Bits + Context. Programs Are Translated by Other Programs into Different Forms. It Pays to Understand How Compilation Systems Work. Processors Read and Interpret Instructions Stored in Memory. Caches Matter. Storage Devices Form a Hierarchy. The Operating System Manages the Hardware. Systems Communicate with Other Systems Using Networks. The Next Step. I. PROGRAM STRUCTURE AND EXECUTION. 2. Representing and Manipulating Information. Information Storage. Integer Representations. Integer Arithmetic. Floating Point. 3. Machine-Level Representation of Programs. A Historical Perspective. Program Encodings. Data Formats. Accessing Information. Arithmetic and Logical Operations. Control. Procedures. Array Allocation and Access. Heterogeneous Data Structures. Alignment. Putting It Together: Understanding Pointers. Life in the Real World: Using the GDB Debugger. Out-of-Bounds Memory References and Buffer Overflow. Floating-Point Code. Embedding Assembly Code in C Programs. 4. Processor Architecture. The Y86 Instruction Set Architecture. Overview of Logic Design and the Hardware Control Language. A Sequential Implementation. General Principles of Pipelining. Pipelined Implementations. 5. Optimizing Program Performance. Capabilities and Limitations of Optimizing Compilers. Expressing Program Performance. Program Example. Eliminating Loop Inefficiencies. Reducing Procedure Calls. Eliminating Unneeded Memory References. Understanding Modern Processors. Reducing Loop Overhead. Converting to Pointer Code. Enhancing Parallelism. Putting It Together: Summary of Results for Optimizing Combining Code. Branch Prediction and Misprediction Penalties. Understanding Memory Performance. Life in the Real World: Performance Improvement Techniques. Identifying and Eliminating Performance Bottlenecks. 6. The Memory Hierarchy. Storage Technologies. Locality. The Memory Hierarchy. Cache Memories. Writing Cache-Friendly Code. Putting It Together: Exploiting Locality in Your Programs. II. RUNNING PROGRAMS ON A SYSTEM. 7. Linking. Compiler Drivers. Static Linking. Object Files. Relocatable Object Files. Symbols and Symbol Tables. Symbol Resolution. Relocation. Executable Object Files. Loading Executable Object Files. Dynamic Linking with Shared Libraries. Loading and Linking Shared Libraries from Applications. Position-Independent Code (PIC). Tools for Manipulating Object Files. 8. Exceptional Control Flow. Exceptions. Processes. System Calls and Error Handling. Process Control. Signals. Nonlocal Jumps. Tools for Manipulating Processes. 9. Measuring Program Execution Time. The Flow of Time on a Computer Systems. Measuring Time by Interval Counting. Cycle Counters. Measuring Program Execution Time with Cycle Counters. Time-of-Day Measurements. Putting It Together: An Experimental Protocol. Looking into the Future. Life in the Real World: An Implementation of theK-Best Measurement Scheme. Lessons Learned. 10. Virtual Memory. P

Price: 69.87 USD

Location: Multiple Locations

End Time: 2024-07-19T16:52:23.000Z

Shipping Cost: 3.97 USD

Product Images

Computer Systems : A Programmer

Item Specifics

Return shipping will be paid by: Seller

All returns accepted: Returns Accepted

Item must be returned within: 30 Days

Refund will be given as: Money Back

Return policy details:

Number of Pages: 1304 Pages

Publication Name: Computer Systems : a Programmer's Perspective

Language: English

Publisher: Prentice Hall PTR

Publication Year: 2002

Subject: Programming / General, Systems Architecture / General, Computer Engineering

Item Height: 1.6 in

Type: Textbook

Item Weight: 58.8 Oz

Subject Area: Computers

Author: Randal E. Bryant, David R. O'hallaron

Item Length: 9.3 in

Item Width: 7.8 in

Format: Hardcover

Recommended

HP RP5 Retail System 5810  Desktop Pentium G3420 3.2GHz 8GB RAM 1TB HDD
HP RP5 Retail System 5810 Desktop Pentium G3420 3.2GHz 8GB RAM 1TB HDD

$45.00

View Details
Dell Optiplex 760 DT Intel Pentium Dual-Core E5200 2.5GHz 2GB RAM No HDD No OS
Dell Optiplex 760 DT Intel Pentium Dual-Core E5200 2.5GHz 2GB RAM No HDD No OS

$29.99

View Details
N100 Mini PC, Intel 12th Gen N100(up to 3.4GHz), 16GB DDR4 500GB SSD Dual LAN
N100 Mini PC, Intel 12th Gen N100(up to 3.4GHz), 16GB DDR4 500GB SSD Dual LAN

$279.91

View Details
Paper Cutter Controller like MicroCut Challenge Polar Wohlenberg Prism Perfecta
Paper Cutter Controller like MicroCut Challenge Polar Wohlenberg Prism Perfecta

$2475.00

View Details
ASRock DeskMini X600 AMD Socket AM5 AMD X600 Black Barebone
ASRock DeskMini X600 AMD Socket AM5 AMD X600 Black Barebone

$189.99

View Details
Dell OptiPlex 3040 Micro i3-6100T 3.2GHz 4GB 120GB SSD WiFi No O/S
Dell OptiPlex 3040 Micro i3-6100T 3.2GHz 4GB 120GB SSD WiFi No O/S

$49.99

View Details
PC - Core i5-6500 3.3GHz 16GB RAM 250GB SSD NO OS
PC - Core i5-6500 3.3GHz 16GB RAM 250GB SSD NO OS

$89.99

View Details
Dell Optiplex 5050 SFF Intel Core i5-6600 3.3GHz 8GB RAM No HDD No OS
Dell Optiplex 5050 SFF Intel Core i5-6600 3.3GHz 8GB RAM No HDD No OS

$49.99

View Details
USED Lenovo ThinkCentre Tiny M80q Gen 3 2.0GHz i5-12500T,  NO O.S
USED Lenovo ThinkCentre Tiny M80q Gen 3 2.0GHz i5-12500T, NO O.S

$300.00

View Details
HP dc78800 CMT Intel Core 2 Duo E8300 2.83GHz 2GB RAM No HDD No OS
HP dc78800 CMT Intel Core 2 Duo E8300 2.83GHz 2GB RAM No HDD No OS

$43.99

View Details