CS 3204 Programming Projects

We will be using Pintos for this semester's projects. This page applies to all sections of CS 3204.

Project 0: User-level Memory Allocator

Due February 1, 2006 by 11:59pm:

Project 0 Specification.

Project 0 - A list of common mistakes.

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.

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 & Honor Code Pledge

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.

Honor Code Pledge: This honor code pledge must be included as part of the design template document.

Basic Information about Pintos

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

Reading the tour is optional, but its advice may be valuable:

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 References.

Project 1: Threads

Due February 27, 2006 by 11:59pm:

Slides from Project 1 Help Session (Feb 6) (ppt pdf)

Project 2: Multiprogramming

Due March 22 March 24, 2006 by 11:59pm:

Slides from Project 2 Help Session (Mar 1/2) (ppt pdf)

Project 3: Virtual Memory

The design milestone is due March 29, 2006 by 11:59pm.

Due April 12 April 13, 2006 by 11:59pm:

Slides from Project 3 Help Session (Mar 27/28) (ppt pdf)
Yi also provided notes to go along with the slides.

Project 4: File Systems

Due May 03, 2006 by 11:59pm:

Slides from Project 4 Help Session (Apr 17/18) (ppt pdf, updated May 03)