Project Description

Operating Systems, Fall 2000


Table of Contents

Project Overview

The hardware architecture.
The architecture simulator.

Assignment Turn-In

The important thing to recognize about turning in your assignment is that everything is completely automated, including the determination of when an assignment is turned in late. It's important that you follow the directions given below to make sure your submission is not rejected or delayed. Also, because turn-in is automated, you should feel free to test or submit your code as often as you like.

Assignments are turned in via e-mail, by sending them to the address rclayton@monmouth.edu. The subject line of the e-mail message containing the assignment must have the form

assignment no what
where no is either 1, 2, 3, or 4 and what is either test or submit. The mailbox software recognizes and processes only those e-mail messages with subject lines of the form given above; any e-mail message with a subject line not of the form given above is not recognized by the mailbox software and will not be processed.

If what is submit in the e-mail subject line, your assignment is accepted as a submission. When accepted, your assignment is unpacked and compiled, and the results are sent back to you as a response. If what is test, your assignment is tested but not taken as a submission: your assignment is unpacked and compiled, the results are sent back to you as a response, and then it is thrown away.

You should receive a response within five minutes after sending your e-mail. If everything goes well, your response should look something like this:

From: Richard Clayton 
To: rclayton@monmouth.edu
Subject: assignment 1 test results
Date: Tue, 10 Oct 2000 13:10:10 -0400 (EDT)


$ ls
intervals.cc
intervals.h
os.h
pa1-os.cc
pgm-loader.cc
pgm-loader.h
proc-tab.cc
proc-tab.h
scheduler.cc
scheduler.h
sleeper.cc
sleeper.h
us-mgt.cc
us-mgt.h

$ date
Tue Oct 10 13:05:42 EDT 2000

$ g++ -c -I/export/opt/cs-438-505/include intervals.cc

$ g++ -c -I/export/opt/cs-438-505/include pa1-os.cc

$ g++ -c -I/export/opt/cs-438-505/include pgm-loader.cc

$ g++ -c -I/export/opt/cs-438-505/include proc-tab.cc

$ g++ -c -I/export/opt/cs-438-505/include scheduler.cc

$ g++ -c -I/export/opt/cs-438-505/include sleeper.cc

$ g++ -c -I/export/opt/cs-438-505/include us-mgt.cc

$ g++ -o sos intervals.o pa1-os.o pgm-loader.o proc-tab.o scheduler.o
sleeper.o us-mgt.o /export/opt/cs-438-505/lib/libsim.a

$
Your assignment must be mailed in from your own Monmouth University account. The mailbox software uses various utilities to verify your identity (to the extent that your identity can be reliably verified with e-mail), and those utilities are usually unaccessible when e-mail is sent from outside the Monmouth domain. The mailbox software rejects any e-mail sent from an account it doesn't recognize as belonging to a class member.

The easiest way to submit your code is with a command line of the form

tar cf - your-files |
uuencode os.tar |
/usr/ucb/mail -s 'assignment 1 submit' rclayton@monmouth.edu
don't forget to put the bar character | at the end of each line as indicated. To test your code instead of submitting it, just change submit to test. The makefile in /export/opt/cs-438-505/misc contains targets for testing and submitting your code; type make test to test and make submit to submit. The makefile sends all (and only) the .cc and .h files; if you want to do anything else, you'll have to change the makefile.

You may test your code as many times as you want. You may also submit your code as many times as you want, up until the deadline. Once the deadline is past, you may submit your code only if you haven't submitted it before, and then you may only submit it once.

On some systems, you may get the error message

uuencode: ISO8859-15 to 646 conversion: Invalid argument
when you send in your code. This error is not fatal, and your code will still be sent.

Group Projects

If you wish, you may do your second, third, and fourth projects as part of a group.

You indicate your group by including a file named "group" in your submission. The group file contains the Monmouth account ids of the members of your group; one of the ids will be yours, the other will be that of your partner. For example, if your account id is s000000 and your partner's is s999999, then the group file will contain

s000000 s999999

Every submission must include a group file; submissions without a group file will be rejected. If you don't want to join a group, the group file you include with your submission will contain only your account id.

Once you submit a group file, you must continue submitting the same group file. If you want to change your group - either by dropping a person, adding a person, or switching a person - you have to let me know so I can reset the group-tracking files.

For two-person groups, either group member may make submissions; if both group members make submissions, the most recent one will be taken as the official submission.

Test e-mail doesn't need a group file, so you may continue to test your code without forming a group. However, once you want to submit, you need to decide on your group.


This page last modified on 1 November 2000.