Animations for

Operating Systems, Sixth Edition

by William Stallings

The original animations referenced in the book have been withdrawn from public access by the developer. The following links are for alternative 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 the Hyperlearning Center at George Mason University
Animations developed by at Queensland University

Note to students: the animations listed here are more comprehensive than the interactive animations listed in the book. Viewing these animations while studying the corresponding chapter will enhance your understanding of the concepts.

Note to instructors: the animations listed here do not provide for changing input parameters and are therefore not suitable for project assignments. For that purpose the online, interactive simulations described in Appendix C.2 are suitable; project assignments are provided in the instructor's manual.


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
OS performance
Example process life cycle

Chapter 5 - Concurrency: Mutual Exclusion and Synchronization

Producer/Consumer problem
The Critical Section problem
Producer/consumer semaphore solution
Producer/consumer monitor solution
Producer/consumer message passing solution
Simulation of Ricart and Agrawala Mutual Exclusion Algorithm
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:


Virtual page reference strings

Chapter 9 - Uniprocessor Scheduling

Process Scheduling Algorithms:

First Come, First Served
Shortest Job First
Round Robin

Round robin scheduling
Priority scheduling


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: