As part of our year 2 project coursework, I led a group of four to implement features in the Pintos operating system (in C). Pintos is a simple operating system framework for the 80x86 architecture. It supports kernel threads, loading and running user programs, and a file system, but it implements all of these in a very simple way. During the Pintos tasks, we strengthened its support in thread scheduling and running user programs. We also added a virtual memory implementation.
We worked with a pretty large code base, and this project reinforced our understanding of operating systems and taught us useful project management skills.