出版社:清华大学出版社
年代:2009
定价:49.0
本书由计算机系统设计的权威专家编写,是第一本阐述计算机系统设计中的基本原理和抽象的教材。计算机系统的基本原理横跨于操作系统、网络、数据库、分布式系统、程序设计语言、软件工程以及计算机体系架构等方面。通过详细分析每个基本原理的案例,本书演示了如何应用这些原理和抽象来解决实际的计算机系统设计问题。
PART Ⅰ
List of Sidebars
Preface
Where to find Part Ⅱ and other On-line Materials
Acknowledgments
CHAPTER 1 Systems
Overview
1.1 Systems and Complexity
1.1.1 Common Problems of Systems in Many Fields
1.1.2 Systems, Components, Interfaces, and Environments
1.1.3 Complexity
1.2 Sources of Complexity
1.2.1 Cascading and Interacting Requirements
1.2.2 Maintaining High Utilization
1.3 Coping with Complexity Ⅰ
1.3.1 Modularity
1.3.2 Abstraction
1.3.3 Layering
1.3.4 Hierarchy
1.3.5 Putting it Back Together: Names make Connections
1.4 Computer Systems are the Same but Different
1.4.1 Computer Systems have no Nearby Bounds on Composition
1.4.2 d(technology)/dt is Unprecedented
1.5 Coping with Complexity Ⅱ
1.5.1 Why Modularity, Abstraction, Layering, and Hierarchy arent Enough
1.5.2 Iteration
1.5.3 Keep it Simple
What the Rest of this Book is About
Exercises
CHAPTER 2 Elements of Computer System Organization
Overview
2.1 The Three Fundamental Abstractions
2.1.1 Memory2.1.2 Interpreters
2.1.3 Communication Links
2.2 Naming in Computer Systems
2.2.1 The Naming Model
2.2.2 Default and Explicit Context References
2.2.3 Path Names, Naming Networks, and Recursive Name Resolution
2.2.4 Multiple Lookup: Searching through Layered Contexts
2.2.5 Comparing Names
2.2.6 Name Discovery
2.3 Organizing Computer Systems with Names and Layers
2.3.1 A Hardware Layer: The Bus
2.3.2 A Software Layer: The File Abstraction
2.4 Looking Back andAhead
2.5 Case Study: UNIX File System Layering and Naming
2.5.1 Application Programming Interface for the UNIX File-System
2.5.2 The Block Layer
2.5.3 The File Layer
2.5.4 The Inode Number Layer
2.5.5 The File Name Layer
2.5.6 The Path Name Layer
2.5.7 Links
2.5.8 Renaming
2.5.9 The Absolute Path Name Layer
2.5.10 The Symbolic Link Layer
2.5.11 Implementing the File System API
2.5.12 The Shell and Implied Contexts, Search Paths, and Name Discovery
2.5.13 Suggestions for Further Reading
Exercises
CHAPTER 3 The Design of Naming Schemes
Overview
3.1 Considerations in the Design of Naming Schemes
3.1.1 Modular Sharing
3.1.2 Metadata and Name Overloading
3.1.3 Addresses: Names that Locate Objects
3.1.4 Generating Unique Names
3.1.5 Intended Audience and User-Friendly Names
3.1.6 Relative Lifetimes of Names,Values, and Bindings
3.1.7 Looking Back andAhead: Names are a Basic System Component
3.9 Case Study: The Uniform Resource Locator (URL)
3.2.1 Surfing as a Referential Experience; Name Discovery
3.2.2 Interpretation of the URL
3.2.3 URL Case Sensitivity
3.2.4 Wrong Context References for a Partial URL
3.2.5 Overloading of Names in URLs
3.3 War Stories: Pathologies in the Use of Names
3.3.1 A Name Collision Eliminates Smiling Faces
3.3.2 Fragile Names from Overloading, and a Market Solution...
3.3.3 More Fragile Names from Overloading, with Market Disruption
3.3.4 Case-Sensitivity in User-Friendly Names
3.3.5 Running Out of Telephone Numbers
Exercises
CHAPTER 4 Enforcing Modularity with Clients and Services
Overview
4.1 Client/Service Organization
4.1.1 From Soft Modularity to Enforced Modularity
4.1.2 Client/Service Organization
4.1.3 Multiple Clients and Services
4.1.4 Trusted Intermediaries
4.1.5 A Simple Example Service
4.2 Communication Between Client and Service
4.2.1 Remote Procedure Call (RPC)
4.2.2 RPCs are not Identical to Procedure Calls
4.2.3 Communicating through an Intermediary
4.3 Summary and The RoadAhead
4.4 Case Study: The Interuet Domain Name System (DNS)
4.4.1 Name Resolution in DNS
4.4.2 Hierarchical Name Management
4.4.3 Other Features of DNS
4.4.4 Name Discovery in DNS
4.4.5 Trustworthiness of DNS Responses
4.5 Case Study: The Network File System (NFS)
4.5.1 Naming Remote Files and Directories
4.5.2 The NFS Remote Procedure Calls
4.5.3 Extending the unix File System to Support NFS
4.5.4 Coherence
4.5.5 NFS Version 3 and Beyond
Exercises
CHAPTER 5 Enforcing Modularity with Virtualization
Overview
5.1 Client/Server Organization within a Computer Using Virtualization
5.1.1 Abstractions for Virtualizing Computers
5.1.2 Emulation and Virtual Machines
5.1.3 Roadmap: Step-by-StepVirtualization
5.2 Virtual Links Using SEND, RECEIVE, and a Bounded Buffer
5.2.1 An Interface for SEND and RECEIVE with Bounded Buffers
5.2.2 Sequence Coordination with a Bounded Buffer
5.2.3 Race Conditions
5.2.4 Locks and Before-or-AfterActions
5.2.5 Deadlock
5.2.6 Implementing ACQUIRE and RELEASE
5.2.7 Implementing a Before-or-AfterAction Using the One-Writer Principle
5.2.8 Coordination between Synchronous Islands with Asynchronous Connections
5.3 Enforcing Modularity in Memory
5.3.1 Enforcing Modularity with Domains
5.3.2 Controlled Sharing Using Several Domains
5.3.3 More Enforced Modularity with Kernel and User Mode
5.3.4 Gates and Changing Modes
5.3.5 Enforcing Modularity for Bounded Buffers
5.3.6 The Kernel
5.4 Virtualizing Memory
5.4.1 Virtualizing Addresses
5.4.2 Translating Addresses Using a Page Map
5.4.3 VirtualAddress Spaces
5.4.4 Hardware versus Software and the Translation Look-Aside Buffer
5.4.5 Segments (Advanced Topic)
5.5 Virtualizing Processors Using Threads
5.5.1 Sharing a ProcessorAmong Multiple Threads
5.5.2 Implementing YIELD
5.5.3 Creating and Terminating Threads
5.5.4 Enforcing Modularity with Threads: Preemptive Scheduling
5.5.5 Enforcing Modularity with Threads andAddress Spaces
5.5.6 Layering Threads
……
PARTⅡ ON-LINE
Suggestions for Further Reading
Problem Sets
Glossary
Complete Index to Parts Ⅰ and Ⅱ
本书由计算机系统设计的权威专家、美国麻省理工学院Saltzer和Kaashoek教授编写。本书是第一本阐述计算机系统设计中的基本原理和抽象的教材,是麻省理工开放式课程计划(MIT Open Courseware)中“计算机系统工程”课程的主教材。计算机系统的基本原理横跨于操作系统、网络、数据库、分布式系统、程序设计语言、软件工程以及计算机体系结构等方面。通过详细分析每个基本原理的案例,本书演示了如何应用这些原理和抽象来解决实际的计算机系统设计问题。本书的重点是计算机系统的设计,因此,本书阐述了那些在实践中已证明是成功的抽象概念,如命令、远程过程调用、客户/服务器组织结构、文件系统、事务处理、修复复制、读/写一致性,以及认证与保密消息等概念。这些抽象概念使得计算机系统设计者可以用功能日益强大的模块来构建计算机系统,保护计算机系统避免从意外的编程错误到恶意入侵在内的各种故障。本书描述了如何实现这些抽象概念,演示了如何把它们应用于不同的系统,为读者日后的设计工作打下基础。
书籍详细信息 | |||
书名 | 计算机系统设计原理站内查询相似图书 | ||
丛书名 | 大学计算机教育国外著名教材系列 | ||
9787302212003 如需购买下载《计算机系统设计原理》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN | |||
出版地 | 北京 | 出版单位 | 清华大学出版社 |
版次 | 影印本 | 印次 | 1 |
定价(元) | 49.0 | 语种 | 英文 |
尺寸 | 26 × 0 | 装帧 | 平装 |
页数 | 560 | 印数 |
计算机系统设计原理是清华大学出版社于2009.出版的中图分类号为 TP302.1 的主题关于 电子计算机-系统设计-高等学校-教材-英文 的书籍。