Christo Wilson
CS 5600 - Computer Systems

Project 1: Implementing Threads in Pintos

This project is due at 11:59pm on February 3, 2014.

Description

In this assignment, you are given a minimally functional thread system in Pintos. Your job is to extend the functionality of this system to gain a better understanding of synchronization problems. The complete description of this assignment and technical specifications can be found here.

Grading

Your project will graded based on the Pintos test results and the design quality of your code, each of which comprises 50% of your grade. Your code must compile and run on the CCIS Linux machines: we cannot and will not grade code that is running on your personal machine. You must include a design document named pintos/src/threads/DESIGNDOC in the threads/ directory of your submission. Examples of how to complete the design document can be found in the Pintos documentation here, and a blank template design document for this project can be downloaded here. For more details on how we will grade your project, see the Pintos grading documentation.

Submitting Your Project

If you have not done so already, register yourself for our grading system using the following command:
$ /course/cs5600sp13/bin/register-student [NUID]
NUID is your Northeastern ID number, including any leading zeroes.

Before turning in your project, you and your partner(s) must register your group. To register yourself in a group, execute the following script:

$ /course/cs5600sp13/bin/register project1 [team name]
This will either report success back or will give you an error message. If you have trouble registering, please contact the course staff. You and your partner(s) must all run this script with the same [team name]. This is how we know you are part of the same group.

To turn-in your project, you must submit your (thoroughly documented) code and design document. You submit your project by using the turnin script to submit your pintos directory. The turnin script takes two arguments: the name of the project (in this case, project1), and the directory of files you want to submit. For example, you could execute the following:

$ cd ~/pintos/src/threads/
$ make clean
$ cd ~
$ /course/cs5600sp13/bin/turnin project1 pintos/
The script will print out every file that you are submitting, so make sure that it prints out all of the files you wish to submit! Only one group member needs to submit your project. Your group may submit as many times as you wish; only the last submission will be graded, and the time of the last submission will determine whether your assignment is late.

Contact Info
  • Office: West Village H 348
  • +1 617 373 2177