Computer Sciences Department
CS 537 Barton Miller
Lecture Notes for CS 537

I will use these note in the lectures for CS537. You should print out each week's lectures and review the notes before class. Bring these to class so that you won't have to spend as much time during lecture writing.

NOTE: Non-University of Wisconsin students and teachers are welcome to print these notes for your own use. Further reproduction requires permission of the author.

Section 1 Course Overview
Processes, Synchronization, and Scheduling:
Section 2 Introduction to Processes
Section 3 Dispatching and Creating Processes
Section 3A Entering and Exiting the Kernel
Section 4 Independent and Cooperating Processes
Section 5 Synchronization: The Too Much Milk Problem
Section 6 Semaphores and Producer/Consumer Problem
Section 7 Semaphore Example: Readers and Writers
Section 8 Monitors
Section 9 Message Systems
Section 10 Semaphore Implementation
Section 11 Scheduling and CPU Scheduling
Section 12 Deadlock
Memory Management and Virtual Memory:
Section 13 Storage Allocation
Section 14 Sharing Main Memory
Section 15 Base and Bounds, Segmentation
Section 16 Paging
Section 17 Translation Buffers and Inverted Page Tables
Section 18 Virtual Memory, Page Faults
Section 19 Page Selection and Replacement
Section 20 Clock Algorithm, Thrashing
Section 21 Working Sets
Section 21A Virtual Machines (PDF file)
I/O and File Systems:
Section 23 Files, Disk Management
Section 24 Unix and DEMOS Disk Allocation
Section 25 Directories
Section 26 Windows (NT) File System
Section 27 File System Crash Recovery
Section 28 Disk Scheduling
Protection and Security:
Section 29 Protection and Security (updated!)
Section 30* Security Abuses
Section 31* Security Improvmenets, Encryption
Other 1 C Programming
Other 2 Debuggers

Last modified: Wed Oct 10 13:38:09 CDT 2018 by bart
Copyright © 2013, 2018 Barton P. Miller