02 / Systems, compilers & platforms

PintOS

Extended an educational OS kernel

Extended Imperial’s PintOS educational operating system: an alarm clock backed by threads blocked on semaphores rather than a busy-wait timer, priority scheduling with nested and chained donation through locks, the BSD multi-level feedback queue scheduler in 17.14 fixed point, and user programs with syscalls and process management. 91% average across tasks.

Why it matters

The guts of a small kernel, hand-implemented: scheduling, donation to avoid priority inversion, syscalls, and process lifecycle, with the recomputation kept out of interrupt context.

Built with C, x86 Assembly, OS Design, Concurrency.

all work