CSL373: Build your own OS using pintos

Here, you will implement the basic functionalities of an OS. You will be given a bare-bones operating system called pintos. On the top of this, you will implement threads, processes, virtual memory and a file system in four separate parts. At the end of this project, you will have your own operating system that you can boot on real hardware.

Acknowledgements: Pintos source code and documentation is taken from Stanford's CS140 OS course.

Project

  1. Threads (Due Date: Saturday, Feb 13 by 11:59pm):
  2. User Programs (Due Date: Saturday Feb 27 by 11:59pm):
  3. Virtual Memory (Due Date: Wednesday, Mar 31 by 11:59pm):
  4. File System (Due Date: Saturday, Apr 17 by 11:59pm):
  5. Extra Credit (Due Date: Tuesday, Apr 26 by 11:59pm)

Resources

  1. Pintos documentation
  2. Checkbochs

Note:

  1. To be done in groups of upto two.
  2. Each group must present an original solution. Copying -> you learn nothing + disciplinary action