Skip to main content
CoursebeginnerFree

CS-537 Introduction to Operating Systems: Lecture Videos

by Remzi H. Arpaci-Dusseau · University of Wisconsin-Madison

Lecture recordings and notes from Remzi Arpaci-Dusseau's Wisconsin CS-537 course, the class OSTEP was written for. Lecture 2 covers scheduling policies and metrics; lecture 3 works through the multi-level feedback queue on the whiteboard.

Visit resource

More resources on Scheduling Algorithms

CourseFree

CS162: Operating Systems and Systems Programming

UC Berkeley's upper-division operating systems course, with lectures, projects and exams covering processes and threads, synchronization, CPU scheduling, virtual memory, file systems, I/O and networking. Students build kernel features in the Pintos teaching OS and understand how operating systems work internally.

CourseFree

Operating Systems: Three Easy Pieces

Learn concurrency in operating systems with this course from Remzi & Andrea Arpaci-Dusseau, based on "Operating Systems: Three Easy Pieces."

PaperFree

The Linux Scheduler: a Decade of Wasted Cores

EuroSys 2016 study that found four bugs in Linux's load balancer leaving cores idle while threads waited, costing up to 13-23% on real workloads. Shows how scheduler invariants break at scale and how to detect it.

WebsiteFree

An EEVDF CPU Scheduler for Linux

Jonathan Corbet's explanation of why Linux replaced the Completely Fair Scheduler with EEVDF, covering lag, eligibility, virtual deadlines and per-task latency requirements. Clarifies the design reasoning that the kernel's own documentation states only tersely. Practitioner writing with verifiable skin in the game that supplies the 'why' the terse kernel docs omit: what fairness failed to capture and how lag plus virtual deadlines fix latency.

PaperFree

Lottery Scheduling: Flexible Proportional-Share Resource Management

The 1994 OSDI paper introducing lottery scheduling, a randomized proportional-share mechanism using tickets and currencies. It shows how relative execution rates can be controlled directly, with prototype results on Mach, and grounds every later fair-share scheduler.

WebsiteFree

OSTEP Chapter 8: Scheduling: The Multi-Level Feedback Queue

Chapter 8 of OSTEP derives the multi-level feedback queue: how a scheduler infers job behavior at runtime, adjusts priorities with rule changes, and prevents starvation and gaming through periodic priority boosts. Explains the design behind Solaris, BSD and Windows schedulers. MLFQ is where scheduling stops being a quiz topic and becomes design under uncertainty. The chapter builds it rule by rule, breaks each rule with an attack (gaming the quantum, changing behavior), and repairs it, which is exactly the structural reasoning the tutorial pages omit.

See all Scheduling Algorithms resources →