CS 450: Operating Systems

Announcements

  • The second assignment has been released. It is due on 2/28/2021.

  • The first assignment has been released. It is due on 2/17/2021.

  • The Zoom meeting ID for our online lectures is 899 6929 4862 -- you can join using this link.

  • We will be using Discord to run office hours, and it will also serve as our peer support and Q/A forum. If you aren't already a member, please join at https://discord.gg/mcBb8zkwCa

  • Lecture recordings can be found in the class Panopto folder

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 20 Syllabus and Course overview 01-prelim Syllabus
Jan 22 Operating systems overview 02-what-is-an-os OS:TEP Chapters 1, 2
Jan 27 Processes 03-the-process OS:TEP Chapters 3, 4, 5
Jan 29 CPU virtualization 04-cpu-virt OS:TEP Chapter 6
Feb 03 xv6 & x86 05-x86-and-xv6 xv6 Commentary Chapters 0, 1; Appendices A, B
Feb 05 xv6 code review and demo xv6 Source
Feb 10 - Feb 17 Scheduling 06-scheduling OS:TEP Chapter 7 and 8
Feb 19 Queueing theory 07-queueing Queueing Systems 1, 2.1, 2.4, 2.6, 3.1-3.6
Feb 24 Virtual memory OS:TEP Chapters 12, 13, 14
Feb 26 Segmentation OS:TEP Chapters 15, 16
Mar 03 Paging: introduction OS:TEP Chapter 18
Mar 05 Paging: TLB and multi-level paging OS:TEP Chapters 19, 20
Mar 10 COVID-19 study day (no class)
Mar 12 Midterm Exam
Mar 17 Swapping OS:TEP Chapters 21, 22
Mar 19 VM case studies and optimizations OS:TEP Chapters 23
Mar 24 Concurrency and Threads OS:TEP Chapters 25, 26, 27
Mar 26 Synchronization and Locks OS:TEP Chapter 28, 29
Mar 31 Condition variables and Semaphores OS:TEP Chapters 30, 31
LBoS Chapters 1, 2
Apr 02 Classical synchronization problems OS:TEP Chapter 32
LBoS Chapters 3, 4
Apr 07 Concurrent programming models OS:TEP Chapter 33
Apr 09 I/O devices and drivers OS:TEP Chapters 35, 36
Apr 14 Disks OS:TEP Chapter 37
Apr 16 RAID OS:TEP Chapter 38
Apr 21 Files and Directories OS:TEP Chapter 39
Apr 23 File Systems OS:TEP Chapter 40
Apr 28 Fast File System (FFS) OS:TEP Chapter 41
Apr 30 COVID-19 study day (no class)
May 05 Journaling and LFS OS:TEP Chapters 42, 43
May 07 FS + SSD OS:TEP Chapters 44

Assignments

Released Due Writeup / Resources Repo Invite Max Points
Feb 7 Feb 17 Unix Utilities (Warmup) mp-warmup 32
Feb 18 Feb 28 xv6: Adding a Syscall mp1-xv6 30

Resources

Administrivia

Reference materials

Simulators / Emulators

Supplementary materials