Github Link:

I built an operating system called JOS for an x86-based personal computer. The project is split into 6 major parts that build on each other, and culminate in a functioning operating system on which we can run simple commands through our own shell. The 6 major parts of the operating system that we built for this course are:

  1. Booting

  2. Memory management

  3. User environments

  4. Preemptive multitasking

  5. File system, spawn, and shell

  6. Network driver

The instructors provided skeleton code for pieces of the JOS, but we had to do all of the hard work. During this project, we had the design freedom to determine the details in the first few labs, and the freedom of the entire desing in the later labs. I completed each of the labs individually.

This project was the core focus of the Operating System Engineering Course at MIT. The detailed lab descriptions can be found directly in the above link. And, much of the above/below description is taken directly from the website.

A huge thank you to our incredible professors Robert Morris and Frans Kaashoek. They represent everything that is good about academia.