CS 3204 Programming Projects Spring 2007

We will be using Pintos for this semester's projects. This page applies to all sections of CS 3204. Read more about important updates to the Pintos code or documentation since Jan 13.

Due Dates

ProjectHelp SessionDue DateDays Project Design Document
0noneJan 29, 11:59pm13 IndividualN/A
1 Tu Jan 30, 7-9pm MCB 216
We Jan 31, 7-9pm MCB 216
Slides: pdf ppt
Feb 20, 11:59pm22 GroupIndividual*
2 Th Feb 22, 7-9pm PAM 2028
Fr Feb 23, 5-7pm PAM 2028
Slides: pdf ppt
Mar 20, 11:59pm28 (includes Spring Break) GroupIndividual*
3 (MS)Design Milestone Mar 26 11:59pm
(no extensions)
  GroupGroup
3 Th Mar 22, 7-9pm MCB 216
Fr Mar 23, 5-7pm MCB 216
Slides: pdf ppt
Apr 11, 11:59pm22 GroupGroup
4 Th Apr 12, 5:30-7:30pm MCB 223
Fr Apr 13, 5:30-7:30pm MCB 223
Slides: pdf ppt
May 7, 11:59pm
(no extensions)
22 GroupGroup

A project may either be an individual project, or a group project.

(*) For some group projects, we ask that you prepare an individual design document. Members of a group are allowed to discuss the content of this document, but copying is not allowed. Each group member must have created their design document independently.

Submission Instructions

Submission instructions for all projects, please replace '0' with the appropriate number:
1. In the 'pintos/src' directory, issue the command 

   tar cvzf project0-yourpid.tgz *

   Note: the "pintos" directory is wherever you keep a working
	copy of Pintos.  It does not need to be named "pintos".

2. If you are using one of the machines in McB124, open the web browser 
   and log on to curator to submit your project0-yourpid.tgz file. 
   To make submissions from elsewhere, do one of the following:

    - Copy the file project0-yourpid.tgz to your local machine and submit it 
      to the curator.

    - Use the Windows 'Remote Desktop' utility to log on to 'rlogin.cs.vt.edu'. 
      You can access your files on the Z drive. Log on to curator from the 
      remote machine and submit your project0-yourpid.tgz file.
Note: Please issue a "make clean" command before submitting projects 1 through 4. Your .tgz file should be between 300 and 400 KB big, not larger.

Honor Code Pledge

Honor Code Pledge: This honor code pledge must be included in the source file for project 0. Please include it as part of the design template documents for projects 1 through 4, see below.

Project 0: User-level Memory Allocator

Project 0 Specification.

Project 0 - A list of common mistakes.

Projects 1 - 4: Pintos

All of the remaining four projects are posted here together. If you want to think ahead while you write your code, feel free—in fact, we recommend it. But keep in mind that until the deadline for the current project, the details of the future projects are subject to change.

Using CVS

The use of a CVS repository is required for these projects.

Coding Standards

The following portions of the documentation are relevant with respect to coding standards in as much as they affect your grade: Read them carefully, in particular Section 1.2.2.2 Source Code.

Basic Information about Pintos

You should read everything below before attempting any of the projects:

You'll want to read these once you start work on the projects. Their advice can save you a lot of time:

Bracketed notations in Pintos source code comments can be looked up in the Bibliography.

Project 1: Threads

Project 2: Multiprogramming

Project 3: Virtual Memory

Project 4: File Systems

Updates

Since first uploading the code and documentation on Jan 13 2007, the following changes were made: $Id: projects.html,v 1.2 2007/08/22 15:46:36 cs3204 Exp $