CS 332 Winter 2022

Subscribe to this calendar (google, iCal, etc.)

January 5 Introduction; What is an Operating System?
Read What is an Operating System? and Operating System Evaluation
January 7 The Process Model
Read OSTEP Chapter 4 (p. 27–36)
January 10 The Kernel Abstraction
Read The Kernel Abstraction
January 12 Interrupts and System Calls
Read OSTEP Chapter 6
January 14 Unix Process API
Read Process API
January 17 Race Conditions and Locks
Read OSTEP Chapter 28 (general concurrency refresher: OSTEP Chapter 26)
January 19 Condition Variables
Read OSTEP Chapter 30, section 30.2
January 21 Lab 2 WORK DAY in Olin 310
January 24 Threads
Read OSTEP Chapter 27
January 26 Semaphores and Advanced Locks
Read OSTEP Chapter 31, sections 31.1-5, 31.8
January 28 Writing Concurrent Software
Read OSTEP Chapter 29
January 31 Other Approaches to Concurrency
Read OSTEP Chapter 33
February 2 Caches and Address Translation
Read OSTEP Chapter 15
February 4 Segmentation and Paging
Read OSTEP Chapter 18
February 9 Paging: Smaller Tables
Read OSTEP Chapter 20
February 11 Paging: Faster Translations (TLBs)
Read OSTEP Chapter 19
February 14 Beyond Physical Memory
Read OSTEP Chapter 21 and (optionally) Chapter 22
February 16 Deadlock
Read OSTEP Section 31.6 and OSTEP Chapter 32.3
February 18 Uniprocessor Scheduling
Read OSTEP Chapter 8
February 21 Advanced Scheduling
No reading
February 23 Files and Directories
Read File System Introduction
February 25 File System Implementation
Read File System Implementation
February 28 File System Reliability
Read OSTEP Chapter 42
March 2 Software Protection and Virtual Machines
(optional) Xen and the Art of Virtualization
March 4 Meltdown
(optional) Meltdown: Reading Kernel Memory from User Space
March 7 Final Project WORK DAY in Olin 310
March 9 Microkernels and Unikernels
March 11 Final Project WORK DAY in Olin 310