CS 4284 Programming Projects Spring 2015

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 26 Feb 10, 11:59pm2015-02-10 23:59:59 GMT-04:00
2 TBP Feb 11 Mar 3, 11:59pm2015-03-03 23:59:59 GMT-04:00
3 (MS) Design Milestone N/A Mar 6 11:59pm
(no extensions)
2015-03-06 23:59:59 GMT-04:00
3 TBP Mar 6 Mar 31, 11:59pm2015-03-31 23:59:59 GMT-04:00
4 (MS) Design Milestone Apr 3 Apr 14, 11:59pm 2015-04-13 23:59:59 GMT-05:00
OE Apr 2X, 11:59pm TBA
4 May 6, 11:59pm 2015-05-06 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. We will be using gitlab this semester to allow git repository management in an honor code compliant way. We have an instance at git.cs.vt.edu which allows authentication with your SLO id. You need to upload an ssh key before you can start cloning.

Every group should start by forking gback/pintos-2015. Then, use gitlab's facilities to create a group and give your team members access to your fork. Each team member should be able to directly clone your fork and pull/push from it.

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