Nachos Code Distributions

The Java version of Nachos is available for you to download here: nachos-java.tar.gz (112 Kb gzipped tarfile). You can unpack this file using the command

  gzcat nachos-java.tar.gz | tar xf -
which will create the directory nachos. See the file README contained within the tarfile for information on using and compiling the code.

Each Subversion repository comes with the recommended repository structure and the Nachos distribution checked in. You are also free to download the code and look at it without checking it out from SVN. We will be setting up project groups and SVN repositories for each group soon; in the meantime, you should be reading through the code and trying to understand how it works.

You can also view a PDF version of the code and walkthrough here. We encourage you to view the document electronically and if you must print it out, please do not print this out from campus printers. Use a copy shop to print the reader (or excerpts from it) instead.

Java Distributions

The Java version of Nachos requires Java SE Java Development Kit 1.5 or later. If you are not using an instructional machine, you can download the appropriate Java SE JDK for your machine from here:

MIPS Cross-compilers

Nachos executes user applications on a simulated MIPS computer. In order to compile these programs, you need a MIPS cross-compiler. One is already installed on the instructional machines; if you are not using an instructional machine, you must download and install the appropriate cross-compiler from this page.


There are four projects. Each project has three components:
  1. A design document. You will meet with your TA to discuss your design about 7-10 days before your code is due for each project (phase) of Nachos.
  2. Project code.
  3. Project group member evaluations.

Group Tools for Nachos Projects

General Project Information

Project Grading

The design document will be worth 40% of the project grade, and the code itself will be worth the other 60%. You must turn in your initial design document in order to get a grade for the project.

Project Deadlines

You should submit assignments as early as possible to avoid submission problems. You can submit multiple times, however, only the last submission will be graded.

Assignments (design docs, code, and group evaluations) are due by 11:59pm on the due date.

Submission Instructions

Submission instructions for the initial design doc in project 1

Autograder Queue