Project 2: Processes and Scheduling
Important Dates And Notes
Questions about the project? Send them to 537-help@cs.wisc.edu .
Due: Monday 10/05 by 9pm.
You are allowed to have ONE partner for this project. Your
project partner must be in your discussion section; we consider your
discussion section to be the one in which your handin directory
exists (which we may have moved if you requested a switch).
Copying code (from other groups) is considered
cheating.
Overview
There are two parts to this project:
- Shell: to be done on a linux machine, so you can
learn more about programming in C on a typical UNIX-based platform
(Linux). Before you begin, we highly recommend that you watch this
video of a previous
discussion section; note that the project specification has
changed in some ways from this previous discussion section, but all of
the discussion in the video remains relevant.
- Scheduling: to be done in our xv6 OS hacking
environment. Again, before you begin this part, carefully watch
this video. You may want
to watch this one several times! Again, you aren't implementing the
exact same scheduler, but you still need to understand how the
context switching code works.
Click on the above links to learn more about what you should do. READ EACH CAREFULLY!
Handing It In
Your handin directory is ~cs537-1/handin/DISCUSSION/LOGIN/p2
where DISCUSSION is your discussion section (e.g., 301,
302, 303, or 304) and LOGIN is your CS login.
For the C/Linux part of this project (the shell), you should turn in one
file, called mysh.c . You should copy this file into your handin
directory into the subdirectory called linux . If you have a partner,
only put the code in ONE of your directories. You should also include a simple
makefile , so we can simply type make and build your testable
binary. The binary should be named mysh .
For the xv6 part of the project, copy all of your source files (but not .o
files, please, or binaries!) into the xv6/ subdirectory of your p2
directory. A simple way to do this is to copy everything into the destination
directory directory, then type make to make sure it builds, and then
type make clean to remove unneeded files. Remember to
put your graph and workload descriptions in here as well.
Finally, into your p2 directory, put a README file. In there,
describe what you did a little bit. The most important bit, at the top,
however, should be the authorship of the project, particularly if you had a
partner. Include both partner's full names, and both your CS and wisc logins to receive
credit. We will only grade directories that have a README file in them.
|