UNIX systems for modern architectures : symmetric multiprocesssing and caching for kernel programmers /
Saved in:
Author / Creator: | Schimmel, Curt, 1959- |
---|---|
Imprint: | Reading, Mass. : Addison-Wesley, c1994. |
Description: | xxiv, 396 p. : ill. ; 25 cm. |
Language: | English |
Series: | Addison-Wesley professional computing series |
Subject: | |
Format: | Print Book |
URL for this record: | http://pi.lib.uchicago.edu/1001/cat/bib/1762084 |
Table of Contents:
- Preface
- Notational Conventions
- Introduction
- 1. Review of UNIX Kernel Internals
- Introduction
- Processes, Programs, and Threads
- The Process Address Space
- Context Switch
- Memory and Process Management System Calls
- Summary
- Exercises
- Further Reading
- I. Cache Memory Systems. @ Chapter
- 2. Introduction to Cache Memory Systems
- Memory Hierarchies
- Cache Fundamentals
- Direct Mapped Caches
- Two-Way Set Associative Caches
- n-Way Set Associative Caches
- Fully Associative Caches
- Summary of n-Way Set Associative Caches
- Cache Flushing
- Uncached Operation
- Separate Instruction and Data Caches
- Cache Performance
- How Cache Architectures Differ
- Exercises
- Further Reading
- 3. Virtual Caches
- Virtual Cache Operation
- Problems with Virtual Caches
- Managing a Virtual Cache
- Summary
- Exercises
- Further Reading
- 4. Virtual Caches with Keys
- The Operation of a Virtual Cache with Keys
- Managing a Virtual Cache with Keys
- Virtual Cache Usage in MMUs
- Summary
- Exercises
- Further Reading
- 5. Virtual Caches with Physical Address Tags
- The Organization of a Virtual Cache with Physical Tags
- Managing a Virtual Cache with Physical Tags
- Summary
- Exercises
- Further Reading
- 6. Physical Caches
- The Organization of a Physical Cache
- Managing a Physical Cache
- Multilevel Caches
- Primary Virtual Cache with Secondary Physical Cache
- Summary
- Exercises
- Further Reading
- 7. Efficient Cache Management Techniques
- Introduction
- Address Space Layout
- Cache Size Bounded FlushingDelayed Cache Invalidations
- Cache-Aligning Data Structures
- Summary
- Exercises
- Further Reading
- II. Multiprocessor Systems
- 8. Introduction to Multiprocessor Systems
- Introduction
- The Tightly Coupled, Shared Memory, Symmetric
- Multiprocessor
- The MP Memory Model
- Mutual Exclusion
- Review of Mutual Exclusion on Uniprocessor
- UNIX Systems
- Problems Using UP Mutual Exclusion Policies on MPs
- Summary
- Exercises
- Further Reading
- 9. Master-Slave Kernels
- Introduction
- Spin Locks
- Deadlocks
- Master-Slave Kernel Implementation
- Performance Considerations
- Summary
- Exercises
- Further Reading
- 10. Spin-Locked Kernels
- Introduction
- Giant Locking
- Multithreading Cases Requiring No Locks
- Coarse-Grained Locking
- Fine-Grained Locking
- Effects of Sleep and Wakeup on Multiprocessors
- Summary
- Exercises
- Further Reading
- 11. Semaphored Kernels
- Introduction
- Deadlocks
- Implementing Semaphores
- Coarse-Grained Semaphore Implementations
- Multithreading with Semaphores
- Performance Considerations
- Summary
- Exercises
- Further Reading
- 12. Other MP Primitives
- Introduction
- Monitor
- Eventcounts and Sequencers