Schedule¶
| Week ⇅ | Date | Topic | Links |
|---|---|---|---|
| 1 |
Aug 25
Tuesday
|
LEC L01 Building an Operating System |
|
|
Aug 27
Thursday
|
EXERCISE Setup session · 00r hello_rust
SUBMIT 00r
|
||
|
Aug 28
Friday
|
EXERCISE 01r control_flow
SUBMIT 01r
|
||
| 2 |
Sep 1
Tuesday
|
LEC L03 Ownership, Borrowing, and Lifetimes |
|
|
Sep 3
Thursday
|
EXERCISE 02r ownership
SUBMIT 02r
|
||
|
Sep 4
Friday
|
EXERCISE 03r borrowing
SUBMIT 03r
|
||
| 3 |
Sep 8
Tuesday
|
LEC L05 Collections, Traits, and Errors |
|
|
Sep 10
Thursday
|
EXERCISE 04r structs_impl
SUBMIT 04r
|
||
|
Sep 11
Friday
|
EXERCISE 05r enums_match
SUBMIT 05r
|
||
| 4 |
Sep 15
Tuesday
|
LEC L07 Buffers, Bytes, and Line-Oriented I/O |
|
|
Sep 17
Thursday
|
EXERCISE 06r collections · 07r traits
SUBMIT 06r, 07r
|
||
|
Sep 18
Friday
|
EXERCISE 08r errors · 10c echo
SUBMIT 08r, 10c
|
||
| 5 |
Sep 22
Tuesday
|
LEC L09 Leaving std: no_std and Bare-Metal Rust |
|
|
Sep 24
Thursday
|
EXERCISE 11c cat
SUBMIT 11c
|
||
|
Sep 25
Friday
|
EXERCISE 12c wc · 13c grep · extra credit 14c head
SUBMIT 12c, 13c · 14c extra credit
|
||
| 6 |
Sep 29
Tuesday
|
LEC L11 Physical Memory and the Free List |
|
|
Oct 1
Thursday
|
EXERCISE 20a asm_bridge — QEMU deadline
SUBMIT 20a
|
||
|
Oct 2
Friday
|
EXERCISE 21r unsafe_bridge · 30k kernel_basics
SUBMIT 21r, 30k
|
||
| 7 |
Oct 6
Tuesday
|
LEC L13 Processes and the PCB |
|
|
Oct 8
Thursday
|
EXERCISE 31k boot · 32k physical_memory
SUBMIT 31k, 32k
|
||
|
Oct 9
Friday
|
EXERCISE 33k paging
SUBMIT 33k
|
||
| 8 |
Oct 13
Tuesday
|
LEC L14 The Context Switch and the Scheduler |
|
|
Oct 15
Thursday
|
EXAM MIDTERM 1 — Module 1 + kernel through 33k paging |
||
|
Oct 16
Friday
|
NO CLASS No class — exam week |
||
| 9 |
Oct 20
Tuesday
|
NO CLASS Fall Break — no class |
|
|
Oct 22
Thursday
|
EXERCISE 34k processes
SUBMIT 34k
|
||
|
Oct 23
Friday
|
EXERCISE 35k context_switch · 36k scheduling
SUBMIT 35k, 36k
|
||
| 10 |
Oct 27
Tuesday
|
LEC L16 Virtual Memory II: Turning the MMU On |
|
|
Oct 29
Thursday
|
EXERCISE 37k spinlocks · 38k semaphores
SUBMIT 37k, 38k
|
||
|
Oct 30
Friday
|
EXERCISE 39k virtual_memory
SUBMIT 39k
|
||
| 11 |
Nov 3
Tuesday
|
LEC L18 Traps, Privilege Modes, and Interrupts |
|
|
Nov 5
Thursday
|
EXERCISE 40k filesystem · extra credit 41k devices
SUBMIT 40k · 41k extra credit
|
||
|
Nov 6
Friday
|
EXERCISE 42k boot_to_life · 43k traps · 44k interrupts
SUBMIT 42k, 43k, 44k
|
||
| 12 |
Nov 10
Tuesday
|
LEC L22 User Mode I: The Wall, Trampoline, Trapframe |
|
|
Nov 12
Thursday
|
EXERCISE 45k console · 46k shell · extra credit 47k file_commands
SUBMIT 45k, 46k · 47k extra credit
|
||
|
Nov 13
Friday
|
EXERCISE 48k user_mode
SUBMIT 48k
|
||
| 13 |
Nov 17
Tuesday
|
LEC L23 User Mode II: System Calls |
|
|
Nov 19
Thursday
|
EXAM MIDTERM 2 — 34k processes through 48k user mode |
||
|
Nov 20
Friday
|
NO CLASS No class — exam week |
||
| 14 |
Nov 24
Tuesday
|
LEC L21 File Commands over a Filesystem API |
|
|
Nov 26
Thursday
|
NO CLASS Thanksgiving — no class |
||
|
Nov 27
Friday
|
NO CLASS Thanksgiving — no class |
||
| 15 |
Dec 1
Tuesday
|
LEC L24 exec, File Descriptors, fork and wait |
|
|
Dec 3
Thursday
|
EXERCISE 49k exec · 50k file_descriptors
SUBMIT 49k, 50k
|
||
|
Dec 4
Friday
|
EXERCISE 51k fork_wait · 52k userland · 53k ship_your_commands · extra credit 54k elf_loader
SUBMIT 51k, 52k, 53k · 54k extra credit
|
||
| 16 |
Dec 8
Tuesday
|
LEC L26 The Payoff: Your Commands on Your Kernel, and Final Review |
How this course runs
Tuesday is lecture. Thursday and Friday are exercise sessions. Every
line of code in this course is written in the room, on the classroom
network. Read the Prep page before each session. The session's
exercise is released when the session starts; run oslings submit
before you leave, passed or not. SUBMIT lists what each session
releases.
Did not finish? Finish it yourself: Thursday's exercise by Thursday 11:59 pm, Friday's by Monday 11:59 pm.
Last updated: August 27, 2026