Skip to contentSkip to content
Verified credentials. On-chain. Forever.Learn more
Cover image for Build a Multi-Level Feedback Queue Scheduler in xv6
Code

Build a Multi-Level Feedback Queue Scheduler in xv6

FreeVerified credential3 weeksIntermediate

Overview

What this challenge is about.

Fork the xv6-riscv repository and implement MLFQ in proc.c with 3 priority queues, per-queue time slices (10ms / 20ms / 40ms), priority demotion on slice exhaustion, and a 100ms priority boost to prevent starvation. Add a sysinfo-style system call exposing per-process queue + runtime stats. Write 3 benchmarks: CPU-bound vs I/O-bound mix, interactive-typing simulation, and starvation regression. Deliver the git patch, benchmark scripts, and a 6-page report covering design choices, results, and a section honestly listing what your implementation does NOT handle.

CredentialBlockchain-anchored
ShareableLinkedIn-ready
LanguageEnglish
PaceSelf-paced

The Brief

What you'll do, and what you'll demonstrate.

Implement and benchmark a Multi-Level Feedback Queue scheduler in the xv6 teaching kernel so students see real interactivity tradeoffs.

Earning criteria — what you'll demonstrate

  • Implement preemptive, priority-based scheduling in a real kernel
  • Reason about CPU-bound vs I/O-bound workload tradeoffs
  • Use kernel data structures (proc table, run queues) safely under context switches
  • Design benchmarks that isolate the variable you're actually measuring

Program Fit

Where this fits in your program.

Sharpens the same skills your degree expects you to demonstrate.

Skills

Skills you'll demonstrate.

Each one shows up on your verified credential.

Careers

Roles this prepares you for.

Real titles. Real skill bridges. Pick the one closest to your trajectory.

Career mappings coming soon.

One more thing

You can put a credential on your CV by Friday.

Build a Multi-Level Feedback Queue Scheduler in xv6 | Ewance Challenge