Operating Systems, by William Stallings

The following links are for animations, and are from three sources:

Animations developed by Brian English of Henderson State University and Stephen Rainwater of The University of Texas at Tyler
Animations developed by at Queensland University

Chapter 3 - Process Description and Control

The dynamic state of a process.
CPU switching between processes as a result of system calls or interrupts
Swapping of processes using a disk as a backing store
  Example process life cycle

Chapter 5 - Concurrency: Mutual Exclusion and Synchronization

Producer/Consumer problem
The Critical Section problem
  Simple solution to the bounded buffer problem
Implementation of Bounded Buffer problem using a counter variable
  Showing problems with atomicity and mutual exclusion using the Bounded Buffer with counter solution
  Mutual exclusion with a semaphore
Process synchronization with semaphores

Chapter 6 - Concurrency: Deadlock and Starvation

Deadlocks: resource allocation graph

Chapter 7 - Memory Management

Overlays for primitive memory management
Dynamic relocation using a relocation register
Multiple-partition contiguous memory allocation
Paging hardware
Paging model of logical and physical memory
Paging Example for a 32-byte memory with 4-byte pages
Segmentation hardware
Paged segmentation

Chapter 8 - Virtual Memory

Paging hardware with TLB
Two level paging
Inverted page tables
Virtual memory
Demand paging
Steps in handling a page fault
Page replacement
Second chance algorithm for page replacement
The working set model for page replacement
Considerations For Page Replacement in Virtual Memory Mode
Page replacement algorithms:


Chapter 9 - Uniprocessor Scheduling

Process Scheduling Algorithms:

First Come, First Served
Shortest Job First
Round Robin


Chapter 11 - I/O Management and Disk Scheduling

The use of a system call to perform I/O.
Interrupt-driven I/O cycle
The life cycle of an I/O request
Disk scheduling algorithms: