CS 4284 Programming Projects Spring 2013

We will be using Pintos for this semester's projects.

Please see Updates for updates that were made to the Pintos documentation or code.

Due Dates

Project Hint Slides Groups Formed By Due Date Time Left
1 TBP Jan 28 Feb 8, 11:59pm2013-02-08 23:59:59 GMT-04:00
2 TBP Feb 11 Feb 23, 11:59pm2013-02-23 23:59:59 GMT-04:00
3 (MS) Design Milestone N/A Feb 28 11:59pm
(no extensions)
2013-02-28 23:59:59 GMT-04:00
3 TBP Feb 28 Mar 22, 11:59pm2013-03-22 23:59:59 GMT-04:00
4 (MS) Design Milestone Mar 25 Apr 13, 11:59pm 2013-04-12 23:59:59 GMT-05:00

All projects are group projects. For the group projects, you must have committed to a group by the date indicated. You may not switch groups during the project for which you have committed. You may form groups of either 2 or 3 students.

 

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. Upload project0-yourpid.tgz using the submission web page.
   To access the submission page, log on with your CS SLO account 
   (that's the same account you use to log on to rlogin.cs.vt.edu).

   Alternatively, you may directly submit from the command line 
   using the command
   submit.pl p0 project0-yourpid.tgz

   This command is found in ~cs3204/bin (even though you will submit to the CS4284 directory).

Note: Please issue a "make clean" command before submitting projects 1 through 4. The submission script will not accept files larger than 500,000 bytes.

 

Honor Code Pledge

Honor Code Pledge: This honor code pledge must be included as part of the design template documents for projects 1 through 4, see below.

 

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 git

The use of a git repository is required for these projects. Start by having one group member mirror my repository as described here.. Then set suitable permissions using nfs4_editfacl. Each group member should then clone a working repository from the shared bare group repository. See this sketch:

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

 

Later

how to boot Pintos on your own PC

Updates