For these assignments, you are allowed to discuss the problem, and your thoughts on the solution, with others. You are not allowed to exchange, in any way, code or anything like it.
Because you will be working in teams, and those teams are likely to be working in the Sun Lab at the same time, there will be a good deal of discussion. Be sure that your team's work is its own!
If you have questions about what might or might not be acceptable, ask before acting.
We will be using a virtual platform, which is the combination of a virtual machine (which is really a simulated, simple CPU architecture) and a kernel that controls that machine.
The current virtual platform is capable of booting the kernel, which in turn loads a single executable image, executing that one process, and then halting. While there is a good deal of machinery involved in this simple platform, it does not do as much as we would like.
Most specifically, we would like the kernel to be able to load and interleave the execution of multiple processes. That is, when the virtual platform is started, two or more programs can be specified (some programs perhaps more than once).
Go to the course web page and select the Projects section. Follow the link to the Getting Started page. It will provide instructions on how to download and start using the Virtual Platform. You can read the Getting Started document to get familiar (again, for some) with obtaining the code for the assignment, compiling it, and working on it with xemacs and gdb.
The following points should describe what you need to do:
It is important to note that no changes to the virtual machine are needed. There may be bugs in the virtual machine, but if there are, you should contact me! I will plan to compile your kernel along with my virtual machine, and they should work together!
Soon, you will have a group project directory in which to work. All of your work should be done in that project directory. If you are a member of group E, then you are part of the UNIX group cs39e, and can share files with other people in your group in the directory:
/student/projects/cs39/e
When your group has completed its project, it should gather all of the files that are part of the completed project, and place a copy of those files in a directory named project-1 within your group's project directory. I will go and find them there.