| Date | Topic | Resources | Reading | Notes/Assignments | |
|---|---|---|---|---|---|
| Week 1 | |||||
| Fri 1/13 |
LAB: Welcome and System Monitoring Lab |
Note: Lab on Fridays meets in the ITL lab (SC 334) rather than regular lecture room! System Monitoring Homework | |||
| Week 2 | |||||
| Mon 1/16 |
What is an operating system? | OS History Links | SGG 1 | ||
| Wed 1/18 |
OS History | SGG 2 | |||
| Fri 1/20 |
LAB: C Primer/Intro to the Shell Assignment and Parser | Shell Assignment | |||
| Week 3 | |||||
| Mon 1/23 |
Processes |
| SGG 4 |
System Monitoring Homework due in class
| | |
| Wed 1/25 |
Visitor | ||||
| Fri 1/27 |
Processes and System Calls | ||||
| Week 4 | |||||
| Mon 1/30 |
Threads | Pthreads Pthreads tutorial Scheduler Activations Why Threads Are a Bad Idea |
SGG 5 | ||
| Wed 2/1 |
CPU Scheduling | SGG 6,7 | |||
| Fri 2/3 |
LAB: Thread Programming and Intro to locking granularity | ||||
| Week 5 | |||||
| Mon 2/6 |
Synchronization | SGG 7 | |||
| Wed 2/8 |
Synchronization | SGG 7 | Locking Homework | ||
| Fri 2/10 |
LAB: Real-time scheduler |
Shell Homework due
| |||
| Week 6 | |||||
| Mon 2/13 |
Classic Synchronization Problems (Producer/Consumer) | SGG 7, 8 | |||
| Weds 2/15 |
Classic Synchronization Problems (Readers/Writers) | ||||
| Fri 2/17 |
February break | ||||
| Week 7 | |||||
| Mon 2/20 |
Memory Management | ||||
| Wed 2/22 |
Memory Management, Review for midterm | ||||
| Fri 2/24 |
LAB: Producer/consumer; Windows Threads |
Locking Homework due | |||
| Week 8 | |||||
| Mon 2/27 |
Storage Hierarchy | Tom's Hardware Storage Guide Cnet's RAM Buying Guide PC Mechanic Memory |
SGG 14.1-14.3.1, 11 | ||
| Wed 2/29 |
Storage Hierarchy | Tom's Hardware Storage Guide Cnet's RAM Buying Guide PC Mechanic Memory |
SGG 14.1-14.3.1, 11 | ||
| Fri 3/2 |
LAB: VFS layer | ||||
| Week 9 | |||||
| Mon 3/5 |
Midterm in class | ||||
| Wed 3/7 |
Disks and Disk Scheduling File Systems Basics |
SGG 11,12 | |||
| Fri 3/9 |
LAB : Add a system call to the Linux kernel | ||||
| Week 10 | |||||
| Mon 3/12 |
FFS and LFS | A fast file system for UNIX Design and Implementation of log-structured file system |
SGG 12 | ||
| Weds 3/14 |
FFS, LFS, Other FS and the Vnode Interface | ||||
| Fri 3/16 |
LAB: Intro to the user-level FS | User-level File System | |||
| Week 11 SPRING BREAK | |||||
| Week 12 | |||||
| Mon 3/26 |
Networks | SGG 9 | |||
| Weds 3/28 |
Networks | SGG 15 | |||
| Fri 3/30 |
LAB: Paging simulator | ||||
| Week 13 | |||||
| Mon 4/2 |
Protection and Security | ||||
| Weds 4/4 |
Protection and Security | User level file system assignment due | |||
| Fri 4/4 |
LAB: Linux module | ||||
| Week 14 | |||||
| Mon 4/9 |
Parallel and Distributed Systems | ||||
| Wed 4/11 |
Distributed Systems | Byzantine Generals Problem | |||
| Fri 4/13 |
LAB : In-lab Paper Exam | ||||
| Week 15 | |||||
| Mon 4/16 |
Distributed Systems | ||||
| Weds 4/18 |
Distributed Systems | ||||
| Fri 4/20 |
LAB: Make your own vmap | ||||
| Week 16 | |||||
| Mon 4/23 |
Revolution OS | ||||
| Weds 4/25 |
Review | ||||
| Fri 4/27 |
LAB | ||||
| Week 17 Finals | |||||
| TBA |
FINAL TBA |
Legend: SGG = Silberschatz, Galvin and Gagne