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 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: http://www.oracle.com/technetwork/java/javase/downloads/index.html.
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.
Projects
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 your code is due for 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
- Project #1: Threads
- Initial design due 2/9
- Design Reviews week of 2/13
- Code due 2/21
- Group evaluations, test cases, and final design docs due 2/22
- Autograder test cases
- Project #2: Multiprogramming
- Initial design due 3/1
- Design Reviews week of 3/5
- Code due 3/15
- Group evaluations, test cases, and final design docs due 3/16
- Autograder test cases
- Project #3: Single node key-value store
(Client-Server Communication)
- Initial design due 4/3
- Design Reviews 4/4 - 4/9
- Code due 4/12
- Group evaluations, test cases, and final design docs due 4/13
- Project #4: Distributed key-value store
(2PC, Replication, Encryption)
- Initial design due 4/23
- Design Reviews 4/24 - 4/26
- Code due 5/3
- Group evaluations, test cases, and final design docs due 5/4