CMPT 300: Operating Systems

Reading Assignments

This page summarizes reading assignments in Silberschatz & Galvin and Stallings -- you only need to have read the assignments in one of these books.

Operating Systems Concepts, fifth edition.

Abraham Silberschatz and Peter Baer Galvin

Assigned Chapter Name
Part I -- Overview
X 1 Introduction
X 2 Computer-System Structures
X 3 Operating-System Structures
Part II -- Process Management
X 4 Processes
X 5 CPU Scheduling
X 6 Process Synchronization
X 7 Deadlocks
Part III -- Storage Management
X 8 Memory Management
X 9 Virtual Memory
  10 File-System Interface
  11 File-System Implementation
Part IV -- I/O Systems
  12 I/O Systems
  13 Secondary-Storage Structure
  14 Tertiary-Storage Structure
Part V -- Distributed Systems
  15 Network Structures
  16 Distributed-System Structures
  17 Distributed-File Systems
  18 Distributed Coordination
Part VI -- Protection and Security
  19 Protection
  20 Security
Part VII -- Case Studies
  21 The UNIX System
  22 The Linux System
  23 Windows/NT
  24 Historical Perspective
Appendices
  A The Mach System
  B The Nachos System

Operating Systems: Internals and Design Principles, third edition.

William Stallings

Assigned Chapter Name
Part I -- Background
X 1 Computer System Overview
X 2 Operating System Overview
Part II -- Processes
X 3 Process Description and Control
X 4 Threads, SMP, and Microkernels
X 5 Concurrency: Mutual Exclusion and Synchronization
X 6 Concurrency: Deadlock and Starvation
Part III -- Memory
X 7 Memory Management
X 8 Virtual Memory
Part IV -- Scheduling
X 9 Uniprocessor Scheduling
  10 Multiprocessor and Real-Time Scheduling
Part V -- Input/Output and Files
  11 I/O Management and Disk Scheduling
  12 File Management
Part VI -- Distributed Systems
  13 Distributed Processing, Client/Server, and Clusters
  14 Distributed Process Management
Part VII -- Security
  15 Security
Appendices
  A Queuing Analysis
  B Object-Oriented Design
  C Programming and Operating System Projects
  D OSP: An Environment for Operating System Projects
  E BACI: The Ben-Ari Concurrent Programming System