Date | Topic | Notes/Assignments |
---|---|---|
Week 1 | ||
Weds 1/13 |
LECTURE 1 (Zoom): Welcome and Introduction; What is an operating system? | Read Introduction to Operating Systems |
Wed 1/13 |
LAB 1 (Video): System Monitoring Lab | |
Fri 1/15 |
LECTURE 2 (Zoom): OS History, OS Present, OS Research |
SOSP OSDI |
Week 2 | ||
Mon 1/18 |
NO LECTURE | |
Wed 1/20 |
LECTURE 3: Processes and Shell Basics | |
Wed 1/20 |
LAB 2 (SC 334): C primer and Intro the Shell Assignment | Shell Assignment: shell.pdf shell.tar.gz |
Fri 1/22 |
LECTURE 4: Processes and Threads | |
Week 3 | ||
Mon 1/25 |
LECTURE 5: Kernel Boot/ CPU Scheduling | |
Weds 1/27 |
NO LECTURE | |
Wed 1/27 |
LAB 3: Adding a system call to the Linux kernel | |
Fri 1/29 |
LECTURE 7: Synchronization 1 | |
Week 4 | ||
Mon 2/3 |
LECTURE 8: Synchronization 2 | |
Wed 2/5 |
NO LECTURE | |
Wed 2/5 |
NO LAB | |
Fri 2/7 |
NO LECTURE | |
Week 5 | ||
Mon 2/10 |
LECTURE 9: Classic Synchronization Problems (Producer/Consumer) | |
Wed 2/12 |
LECTURE 10: Classic Synchronization Problems (Readers/Writers); Deadlock | |
Wed 2/12 |
LAB 3: Thread programming in Linux and Windows | |
Fri 2/14 |
LECTURE 11: Classic Synchronization Recap |
Shell Assignment due
|
Week 6 | ||
Mon 2/17 |
Overview of thread programming assignments (grid and producer/consumer) (Hunter) | |
Wed 2/19 |
NO LAB - OFFICE HOURS INSTEAD (Marzieh) |
Grid Locking |
Weds 2/19 |
Midterm #1 | |
Fri 2/21 |
FEBRUARY BREAK | |
Week 7 | ||
Mon 2/24 |
LECTURE 12: Midterm Discussion, The Night Watch, Moving on | |
Wed 2/26 |
LECTURE 13: Memory Management | |
Wed 2/26 |
LAB 5: CPU scheduling in the Linux Kernel | |
Fri 2/28 |
Marzieh returning exams/answering questions | |
Week 8 | ||
Mon 3/2 |
NO LECTURE | |
Wed 3/4 |
NO LECTURE | |
Wed 3/4 |
LAB 6: Memory Management in the Linux Kernel | |
Fri 3/6 |
LECTURE 14: Memory Management | |
Week 9 | ||
Mon 3/9 |
LECTURE 15: Memory Management/ Storage Hierarchy | |
Wed 3/11 |
LECTURE 16: Storage Hierarchy/ Hard Drives/ SSD | |
Wed 3/11 |
LAB 7: Software RAID | Producer/Consumer and Sleepy Barber assignment due |
Fri 3/13 |
LECTURE 17: Last in-person lecture; Discussion of challenges facing all of us | |
Week 10 SPRING BREAK | ||
Week 11 | ||
Mon 3/23 |
LECTURE 18: RAID Overview | Grid assignment due (pushed back to 3/30) |
Weds 3/25 |
LAB 8: User-level File System | |
Fri 3/27 |
LECTURE 18: RAID Worksheet | |
Week 12 | ||
Mon 3/30 |
LECTURE 19: File System Basics | |
Weds 4/1 |
LECTURE 20: Update in place vs. Write-ahead logging (journaling) | RAID worksheet due |
Wed 4/1 |
LAB 9: VFS/vnode interface and various FS in Linux | |
Fri 4/3 |
LECTURE 21: FFS and LFS | |
Week 13 | ||
Mon 4/6 |
LECTURE 22: Garbage Collection in LFS | |
Weds 4/8 |
LAB 10: loadable kernel module | |
Fri 4/10 |
LECTURE 23: Networking code / Linux Kernel | |
Week 14 | ||
Mon 4/13 |
LECTURE 24: Protection and Security | |
Weds 4/15 |
||
Wed 4/15 |
LAB 11:procfs | |
Fri 4/17 |
LECTURE 24: Virtualization | |
Week 15 | ||
Mon 4/20 |
LECTURE 25: Cloud Computing, Cloud Security | |
Wed 4/22 |
LAB 12: Virtualization KVM/Xen | |
Fri 4/24 |
Midterm #2 | |
Week 16 | ||
Mon 4/27 |
LECTURE 27: Distributed Systems Issues | |
Weds 4/29 |
LECTURE 28: Distributed Systems Issues | |
Wed 4/29 |
LAB 13: Amazon EC2 | |
Fri 5/1 |
LECTURE 29: Final exam review | |
Week 17 Finals | ||
Thursday |
May 7 | Final Exam, 11:45 AM, SC 362 |