CS 350 - Operating Systems

Reading Materials

Web Page for Current Term : University of Waterloo : Faculty of Mathematics : School of Computer Science

A Collection of Tutorials and Useful Information



Course Readings

Extra Readings / Notes

Primary Textbook

Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau.
This book is a good source for readings on material covered in class. The parts of this book are available online for free, you can get an e-copy for about $10 or hard copies for a good price. The links included below point to the individual chapters.
NOTE: Some of the API's used in this text are different from those used in our class but it should usually be pretty easy to translate between the two.

Subject Three Easy Pieces
Introduction; Background and Overview Intro
Threads Dialogue  Intro  Threads
Synchronization Locks  Lock Use  CV's
Semaphores  Monitors  Bugs
Summary Dialogue
Processes, The Kernel, and System Calls Dialogue  Processes
Process API  Context Switch & Sys Calls
Virtual Memory Address Spaces  Memory API
Address Translation  Segmentation
Paging  TLBs (Faster)
Smaller Page Tables  Replacement/Swapping
Replacement Algorithms
Scheduling Scheduling  MLFQ  Multiple CPUs
I/O Devices  Hard Disks
File Systems Files  File System  FSCK & Journaling
Interprocess Communication and Networking Not Covered

Additional Resource

Operating System Concepts, by Silberschatz, Galvin and Gagne (John Wiley and Sons), 8th or 9th edition.
For an additional resource, I've placed two copies of this text (one of each edition) on three hour loan in the DC library. This book was formerly used as the textbook for this course.