CS 450: Operating Systems

Announcements

  • 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!

Calendar

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

Assignments

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

Resources

Administrivia

Reference materials

Simulators / Emulators

Supplementary materials