Please note that Aashesh Kumar's office hours will be held in SB 108 until further notice.
For folks on Windows who are running into xv6 build issues (e.g., "No bootable device." or "./sign.pl: Command not found"), here's a possible solution
Welcome to the Spring 2023 offering of CS 450: Operating Systems!
Please note that readings for a given lecture should ideally be reviewed before coming to class, and will likely need to be revisited afterwards. Most readings are from "Operating Systems: Three Easy Pieces" (OS:TEP). All materials can be found online, and are linked below. Lecture slides/notes will be posted after class, when available.
The lecture calendar is tentative and may be updated.
Date | Topic | Notes | Reading(s) |
---|---|---|---|
Jan 11 | Syllabus and Course overview | 01-prelim | Syllabus |
Jan 13 | Operating systems overview | 02-what-is-an-os | OS:TEP Chapters 1, 2 |
Jan 18 | Processes | 03-the-process | OS:TEP Chapters 3, 4, 5 |
Jan 20 | CPU virtualization | 04-cpu-virt | OS:TEP Chapter 6 |
Jan 25 | xv6 & x86 | 05-x86-and-xv6 | xv6 Commentary Chapters 0, 1, Appendices A, B |
Jan 27 | xv6 code review and demo | xv6 Source | |
Feb 1 - Feb 8 | Scheduling | 06-scheduling | OS:TEP Chapter 7 and 8 |
Feb 10 - Feb 17 | Queueing theory | 07-queueing |
Queueing Systems 1, 2, 3 Practice problems, solutions |
Feb 22 | Virtual memory | 08-vm-a | OS:TEP Chapters 12, 13, 14 |
Feb 24 | Segmentation and Paging | 08-vm-b | OS:TEP Chapters 15, 16, 18, 19, |
Mar 1 | Multi-level paging and Swapping | 08-vm-c | OS:TEP Chapters 20, 21, 22 |
Mar 3 | VM case studies and optimizations | 08-vm-d | OS:TEP Chapters 23 |
Mar 8 | Concurrency | 09-concurrency-a | OS:TEP Chapters 25 |
Mar 10 | Midterm Exam | ||
Mar 13 - Mar 17 | Spring Break | ||
Mar 22 | Concurrency and Threads | 09-concurrency-a | OS:TEP Chapters 25, 26, 27 |
Mar 24 | Parallelism and its limits | 09-concurrency-b | |
Mar 29 | Locks and locking strategies | 09-concurrency-c | OS:TEP Chapters 28, 29, 30 |
Mar 31 - Apr 5 | Semaphores and Classical synchronization problems | 09-concurrency-d |
OS:TEP Chapters 31, 32 LBoS Chapters 1, 2, 3, 4 |
Apr 7 - Apr 14 | Concurrent programming paradigms | 10-alt-concurrency | OS:TEP Chapter 33 |
Apr 19 | I/O devices and drivers | 11-io | OS:TEP Chapters 35, 36 |
Apr 21 | Disks | 12-hdds | OS:TEP Chapter 37 |
Apr 26 | Final Exam Review | 14-final | |
Apr 28 | Filesystems | 13-filesystems-a | OS:TEP Chapter 39, 40 |
Released | Due | Writeup / Resources | Repo Invite | Max Points |
---|---|---|---|---|
Feb 3 | Feb 15 | Unix Utilities | mp0-warmup | 30 |
Feb 16 | Feb 26 | Adding a Syscall | mp1-syscall | 30 |
Mar 6 | Mar 24 | Lottery Scheduling | mp2-sched | 100 |
Apr 5 | Apr 16 | Null pointers and Protected memory | mp3-null | 70 |
Apr 17 | Apr 30 | Threads and Synchronization | mp4-threads | 100 |