UNIX systems for modern architectures : symmetric multiprocesssing and caching for kernel programmers /

Saved in:
Bibliographic Details
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
Hidden Bibliographic Details
ISBN:0201633388 (recycled paper)
Notes:Includes bibliographical references and index.
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