name: P3 Deadlines and Checkpoints description: Key dates, checkpoint requirements, and milestones for Project 3 type: project
Project 3 started 2026-02-18. Due 2026-04-08.
Checkpoint 1 due: 2026-02-27 (in-cluster demo) - one user task with one thread calling gettid(). Requires: fault handlers, basic VM, page directory/table routines, frame allocator, rough first-program loader, paging enabled, loader, gettid syscall handler.
Checkpoint 2 due: 2026-03-13 (in-cluster demo) - two threads context-switching back and forth, and either fork() or exec() working.
Checkpoint 3 (~week 3): ~half of syscalls and exception handlers done, wait() and vanish() working, shell runs.
Week 4: all syscalls at least started.
Week 5 (end): all code written; last week is for fixing bugs.
Final due: 2026-04-08 - kernel must auto-boot idle, init, shell without intervention; halt() must work; no sim_breakpoint() calls left in code; kernel.log must not exceed ~20 lines during normal operation.
Why: Attendance at checkpoints is mandatory. Missing "just one" checkpoint requires working twice as hard the following week.
How to apply: Flag any work planned after 2026-04-08 as post-deadline. Remind about checkpoint requirements when implementing relevant features.
Table of Content