出版者的話(huà)
前言節(jié)選
Preface
1 About the Authors
A Tour of Computer Systems
1.1 Information Is Bits + Context
1.2 Programs Are Translated by Other Programs into Different Forms
1.3 It Pays to Understand How Compilation Systems Work
1.4 Processors Read and Interpret Instructions Stored in Memory
1.4.1 Hardware Organization of a System
1.4.2 Running the hello Program
1.5 Caches Matter
1.6 Storage Devices Form a Hierarchy
1.7 The Operating System Manages the Hardware
1.7.1 Processes
1.7.2 Threads
1.7.3 Virtual Memory
1.7.4 Files
1.8 Systems Communicate with Other Systems Using Networks
1.9 Important Themes
1.9.1 Concurrency and Parallelism
1.9.2 The Importance of Abstractions in Computer Systems
1.10 Summary
Bibliographic Notes
Part I Program Structure and Execution
2 Representing and Manipulating Information
2.1 Information Storage
2.1.1 Hexadecimal Notation
2.1.2 Words
2.1.3 Data Sizes
2.1.4 Addressing and Byte Ordering
2.1.5 Representing Strings
2.1.6 Representing Code
2.1.7 Introduction to Boolean Algebra
2.1.8 Bit-Level Operations in C
2.1.9 Logical Operations in C
2.1.10 Shift Operations in C
2.2 Integer Representations
2.2.1 Integral Data Types
2.2.2 Unsigned Encodings
2.2.3 Two's-Complement Encodings
2.2.4 Conversions Between Signed and Unsigned
2.2.5 Signed vs. Unsigned in C
2.2.6 Expanding the Bit Representation of a Number
2.2.7 Truncating Numbers
2.2.8 Advice on Signed vs. Unsigned
2.3 Integer Arithmetic
2.3.1 Unsigned Addition
2.3.2 Two's-Complement Addition
2.3.3 Two's-Complement Negation
2.3.4 Unsigned Multiplication
2.3.5 Two's-Complement Multiplication
2.3.6 Multiplying by Constants
2.3.7 Dividing by Powers of Two
2.3.8 Final Thoughts on Integer Arithmetic
2.4 Floating Point
2.4.1 Fractional Binary Numbers
2.4.2 IEEE Floating-Point Representation
2.4.3 Example Numbers
2.4.4 Rounding
2.4.5 Floating-Point Operations
2.4.6 Floating Point in C
2.5 Summary
Bibliographic Notes
Homework Problems
Solutions to Practice Problems
3 Machine-Level Representation of Programs
3.1 A Historical Perspective
3.2 Program Encodings
4 Processor Architecture
5 Optimizing Program Performance
6 The Memory Hierarchy
7 Linking
8 Exceptional Control Flow
9 Virtual Memory
10 System-Leve I/O
11 Network Programming
12 Concurrent Programming
A Error Handling