2 min read
PintOS

This was a low-level systems programming group project using C in the 2nd year of Computing at Imperial.1

We extended a bare-bones OS with

  • priority scheduling
  • multi-level feedback queue scheduling (MLFQS)
  • user programs and system calls
  • virtual memory with demand paging
  • memory mapping

Memory safety and synchronisation were carefully considered and reasoned about throughout. For each aspect of the project, we wrote a comprehensive design document explaining and justifying our implementations.

We achieved an average of 93.5% on the project overall, and were commended on our attention to detail regarding synchronisation in the final feedback. I was also invited to serve as a teaching assistant for the next cohort.

Footnotes

  1. Unfortunately, this means I can’t provide any code or documentation samples here.