Projects
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 here.
Please do not print this out from campus printers. Purchase the
reader instead.
Java Distributions
The Java version of Nachos requires Java 1.5 or later.
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.
Project Components
There are four projects. Each project has three components:
- A design document. You will meet with your TA to discuss your
design about 7-10 days before each project (phase) of Nachos.
- Project code.
- 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
- Only one member in the group needs to submit the homework, to minimize
prospective confusions, please only designate one member to submit the
homework for each group assignment (your group can change the member in
charge of homework submission in different assignments)
- Create a directory PROJ1 (upper case) under your home directory
- Put your design document - the file name must be
"proj1-initial-design.pdf" in side folder "PROJ1".
- Create a file named "MY.PARTNERS" under directory PROJ1, put all your
group members' computer account names there (all names in one line,
seperated by white space. e.g. "cs162-aa cs162-ab cs162-ac cs162-ad")
- Type "submit proj1-initial-design" in directory PROJ1 to submit the
homework, you can submit as many times as you want to before the
deadline,only the last submission before the deadline counts.
Autograder
Queue
- Phase #1: Threads
- Initial design due 2/11 11:59 pm
- Design Reviews Fri 2/12 and Tue 2/16
- Code due 2/22 11:59 pm
- Group evaluations, test cases, and final design docs due 2/23 11:59 pm
- Autograder test cases
- Phase #2: Multiprogramming
- Initial design due Thu, 3/4
- Design Reviews Mon, 3/8 and Tue, 3/9
- Code due Mon 3/15
- Group evaluations, test cases, and final design docs due Tue 3/16
- Autograder test cases
- Phase #3: Caching and Virtual Memory
- Initial design due Wed, 3/31 11:59pm
- Design Reviews Thu, 4/1 and Fri, 4/2
- Code due Mon, 4/12 11:59pm
- Group evaluations, test cases, and final design docs due Tue,
4/13 11:59pm
- Autograder test cases
- Phase #4: Cloud Computing and MapReduce
- Initial design due due Wed, 4/21 11:59pm
- Design Reviews Mon, 4/26 and Tue, 4/27
- Code due due Fri, 5/7 11:59pm
- Group evaluations, test cases, and final design docs due due Thu, 5/6 11:59pm
- Autograder test cases