A simple functional Operating System implemented on top of the Pintos framework for x86 instruction set.
This project is done in a group effort for UC Berkeley CS162: Operating System class.
The team consists of Andrew Halle, Chris Hinrichs, Michael Luo, and myself.
- Part 1: Threads: spec, design doc
- Part 2: User Programs: spec, design doc
- Part 3: File Systems: spec, design doc
Note: due to correctness considerations, the working part 1 threads
implementation is under the threads
branch, while the part 2 & 3 user program and file system implementation is under the master
branch.
In addition to the OS, I also implemented the following programs:
- A working basic shell terminal
- A HTTP Server
- Memory allocation
malloc
You will need a machine that supports x86 instruction set. The easiest way to do it is through a Virtual Machine (VM). You can download one such Vagrant VM from UC Berkeley's CS162 Repo.