《深入理解計算機系統(英文版第2版)》是機械工業出版社出版的圖書,作者是 (美)Randal E.Bryant David R. O'Hallaron
基本介紹
- 書名:深入理解計算機系統(英文版第2版)
- 作者:(美)Randal E.Bryant David R. O'Hallaron
- 原版名稱:Computer Systems: A Programmer's Perspective (2nd Edition)
- ISBN: 9787111326311
- 頁數:1077
- 出版社:機械工業出版社
- 出版時間:2011 年1月
- 原出版社 : Addison Wesley
- 叢書名 : 經典原版書庫
編輯推薦,內容簡介,目錄,
編輯推薦
雙色印刷,計算機軟硬體理論結合講述的經典之作,被譽為“價值超過等重量黃金的無價資源寶庫”
Amazon五星圖書,卡耐基梅隆大學計算機學院院長、IEEE、ACM和美國工程院院士傾力奉獻,中英文版同步上市!
內容簡介
本書是一本將計算機軟體和硬體理論結合講述的經典教程,內容覆蓋計算機導論、體系結構和處理器設計等多門課程。本書的最大優點是為程式設計師描述計算機系統的實現細節,通過描述程式是如何映射到系統上,以及程式是如何執行的,使讀者更好地理解程式的行為為什麼是這樣的,以及造成效率低下的原因。
相對於第1版,本版主要是反映了過去十年間硬體技術和編譯器的變化,具體更新如下:
1. 對系統的介紹(特別是實際使用部分)做了增加和修改。例如,既保持了原有的針對32位系統的說明,又增加了對64位系統的描述。
2. 增加了很多關於由算術運算溢出以及緩衝區溢出造成安全漏洞的內容。
3. 更詳細講述了處理器對異常的發現和處理。
4. 描述了基於intel core i7處理器的存儲器層次結構,還增加了固態硬碟的內容。
5. 強調並發性,增加了關於並發性一般原則的內容。
目錄
出版者的話
前言節選
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