Computer systems : (Record no. 6615)

MARC details
000 -LEADER
fixed length control field 05612cam a22002414a 4500
020 ## - INTERNATIONAL STANDARD BOOK NUMBER
ISBN 013034074X
Terms of availability TZS 135,000/=
040 ## - CATALOGING SOURCE
Original cataloging agency MUL
Language of cataloging eng
Description conventions AACR
082 00 - DEWEY DECIMAL CLASSIFICATION NUMBER
Classification number 004 BRY
100 1# - MAIN ENTRY--AUTHOR NAME
Personal name Bryant, Randal E.
245 10 - TITLE STATEMENT
Title Computer systems :
Sub Title a programmer's perspective beta version /
Statement of responsibility, etc Randal E. Bryant and David R. O'Hallaron.
260 ## - PUBLICATION, DISTRIBUTION, ETC. (IMPRINT)
Place of publication Upper Saddle River, NJ :
Name of publisher Prentice Hall,
Year of publication c2003.
300 ## - PHYSICAL DESCRIPTION
Number of Pages xxix, 978 p. :
Other physical details ill. (some col.) ;
Dimensions 24 cm.
504 ## - BIBLIOGRAPHY, ETC. NOTE
Bibliography, etc Includes bibliographical references and index.
505 ## - Formatted Contents
Formatted contents note <br/>(NOTE: Each chapter concludes with Summary.)<br/>Preface.<br/>1. A Tour of Computer Systems.<br/><br/>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.<br/>I. PROGRAM STRUCTURE AND EXECUTION.<br/><br/><br/>2. Representing and Manipulating Information.<br/>Information Storage. Integer Representations. Integer Arithmetic. Floating Point.<br/><br/>3. Machine-Level Representation of Programs.<br/>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.<br/><br/>4. Processor Architecture.<br/>The Y86 Instruction Set Architecture. Overview of Logic Design and the Hardware Control Language. A Sequential Implementation. General Principles of Pipelining. Pipelined Implementations.<br/><br/>5. Optimizing Program Performance.<br/>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.<br/><br/>6. The Memory Hierarchy.<br/>Storage Technologies. Locality. The Memory Hierarchy. Cache Memories. Writing Cache-Friendly Code. Putting It Together: Exploiting Locality in Your Programs.<br/>II. RUNNING PROGRAMS ON A SYSTEM.<br/><br/><br/>7. Linking.<br/>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.<br/><br/>8. Exceptional Control Flow.<br/>Exceptions. Processes. System Calls and Error Handling. Process Control. Signals. Nonlocal Jumps. Tools for Manipulating Processes.<br/><br/>9. Measuring Program Execution Time.<br/>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 the K-Best Measurement Scheme. Lessons Learned.<br/><br/>10. Virtual Memory.<br/>Physical and Virtual Addressing. Address Spaces. VM as a Tool for Caching. VM as a Tool for Memory Management. VM as a Tool for Memory Protection. Address Translation. Case Study: The Pentium/Linux Memory System. Memory Mapping. Dynamic Memory Allocation. Garbage Collection. Common Memory-Related Bugs in C Programs. Recapping Some Key Ideas about Virtual Memory.<br/>III. INTERACTION AND COMMUNICATION BETWEEN PROGRAMS.<br/><br/><br/>11. System-Level I/O.<br/>Unix I/O. Opening and Closing Files. Reading and Writing Files. Robust Reading and Writing with the R10 Package. Reading File Metadata. Sharing Files. I/O Redirection. Standard I/O. Putting It Together: Which I/O Functions Should I Use?<br/><br/>12. Network Programming.<br/>The Client-Server Programming Model. Networks. The Global IP Internet. The Sockets Interface. Web Servers. Putting It Together: The TINY Web Server.<br/><br/>13. Concurrent Programming.<br/>Concurrent Programming with Processes. Concurrent Programming with I/O Multiplexing. Concurrent Programming with Threads. Shared Variables in Threaded Programs. Synchronizing Threads with Semaphores. Putting It Together: A Concurrent Server Based on Pre-Threading. Other Concurrency Issues.<br/><br/>Appendix A. HCL Descriptions of Processor Control Logic.<br/>HCL Reference Manual. SEQ. SEQ+. PIPE.<br/><br/>Appendix B. Error Handling.<br/>Error Handling in Unix Systems. Error-Handling Wrappers. The csapp .h Header File. The csapp .c Source File.<br/><br/>
520 ## - SUMMARY, ETC.
Summary, etc This 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.<br/>
546 ## - LANGUAGE NOTE
Language note eng
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM
Topical Term Computer systems.
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM
Topical Term Computers.
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM
Topical Term Telecommunication.
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM
Topical Term User interfaces (Computer systems)
700 1# - ADDED ENTRY--PERSONAL NAME
Personal name O'Hallaron, David R.
Dates associated with a name 1955-
942 ## - ADDED ENTRY ELEMENTS
Item type Book
Holdings
Withdrawn status Lost status Damaged status Not for loan Permanent Location Current Location Date acquired Source of acquisition Full call number Accession Number Copy number Price effective from Koha item type
        Mzumbe University Main Campus Library Mzumbe University Main Campus Library 02/04/2003 Agder University 004 BRY 0047933 1 12/10/2022 Book

Mzumbe University Library
©2022