Projects

General

Make sure you read the following before working on any of the projects:

In this class you will be developing several projects using the Pintos instructional kernel. The full Pintos documentation is available here:

You should read the Introduction and ensure that you can build and run Pintos. Please note that, if Pintos is building and running correctly, running make check in the src/threads/build directory should result in 5-7 tests passed. If you pass no tests at all, then Pintos is not working on your computer.

The project is divided into four parts. Please see the course calendar for the deadline for each part of the project.

Project 0: Threads Warmup

Project 0 will be a subset of Project 1 (Threads) to help get a feel for the project before the course drop deadline. Please see Project 0 for more details.

Project 1: Threads

See Project 1: Threads in the Pintos documentation.

Notes:

  • You do not have to implement the “Advanced Scheduler” section of this project.
  • Make sure you use our design document template (not the one linked from the Pintos documentation).

Project 2: User Programs

See Project 2: User Programs in the Pintos documentation.

Notes:

  • Make sure you use our design document template (not the one linked from the Pintos documentation).
  • Please include a copy of file src/userprog/build/grade (produced by make grade), renamed to GRADE_REPORT inside your src/userprog directory.

Project 3: Virtual Memory

See Project 3: Virtual Memory in the Pintos documentation.