Schedule
Lecture slides will be posted after class.
Most dates are tentative. The schedule will be updated as the semester progresses...
WEEK | DAY | Lectures & Examples | Topic & Reading | Assignments |
1 | Sep 07 | Introduction to Course, Operating Systems Chapter 1, Dinosaur book | ||
Sep 09 | ||||
Sep 11 | First day of class | |||
2 | Sep 14 | Jeff Chase's Computer Architecture Overview Systems Programming: Bash, C Helpful Shell-scripting Resources: shellcheck.net
| Review Unix commands | |
Sep 16 | Drop/Add ends | Assignment 0a | ||
Sep 18 | Review C | |||
3 | Sep 21 | C -- Arrays, Pointers, Structs, Streams, Files Make Operating Systems: Kernel/User Mode, System Calls Dinosaur Book, Chapter 1, 2 | ||
Sep 23 | Assignment 0b | |||
Sep 25 | ||||
4 | Sep 28 | Kernel, Booting Processes, Process Management, Processes in Unix Process Scheduling Dinosaur book, Chapter 2-3 | ||
Sep 30 | Project 1: Introduction and Booting | |||
Oct 02 | ||||
5 | Oct 05 | Process Scheduling Process Management Interprocess Communication Dinosaur Book, Chapters 3, 6 | ||
Oct 07 | ||||
Oct 09 | Project 2: System Calls | |||
6 | Oct 12 | Interprocess Communication: Tradeoffs Threads intro Chapter 4, Dinosaur book | ||
Oct 14 | Exam | |||
Oct 16 | Reading Days | |||
7 | Oct 19 | Thread pools, implementations Concurrency Problems Chapters 4-5, Dinosaur book SEDA: An Architecture for Well-Conditioned, Scalable Internet Services, A Retrospective on SEDA | ||
Oct 21 | ||||
Oct 23 | Project 3: Loading and Executing Programs + Shell | |||
8 | Oct 26 | Synchronization Condition Variables Producer-Consumer Problems (e.g., Bounded Buffer) Dining Philosophers Dinosaur book, Chapter 5 | ||
Oct 28 | ||||
Oct 30 | ||||
9 | Nov 02 | More Synchronization! Dining Philosophers Semaphores - The Little Book of Semaphores Monitors Dinosaur book, Chapter 5 Position: Why Threads are a Bad Idea (for most purposes) - compares threads and events | ||
Nov 04 | ||||
Nov 06 | Synchronization Assignment | |||
10 | Nov 09 | Synchronization Wrap-up File Systems Intro, Disk Scheduling Dinosaur Book, Chapter 9 | ||
Nov 11 | ||||
Nov 13 | Project 4: Writing Files + Improved Shell | |||
11 | Nov 16 | Disk Management, Storage Tunable Availability and Consistency Tradeoffs (TACT) Dinosaur Book, Chapter 9 File Systems Dinosaur Book, Chapter 10 | ||
Nov 18 | ||||
Nov 20 | ||||
Nov 23 | Thanksgiving Break | |||
Nov 25 | ||||
Nov 27 | ||||
12 | Nov 30 | Memory Management Main Memory Dinosaur Book, Chapter 7 | Project 5: Processes and Multiprogramming | |
Dec 02 | ||||
Dec 04 | Project Work Period | |||
13 | Dec 07 | Virtual Memory Dinosaur Book, Chapter 8 Wrap up, Future of Operating Systems | ||
Dec 09 | ||||
Dec 11 | ||||
Dec 14 | Final Exam | |||
Dec 16 | ||||
Dec 18 |