You can build project 2 on top of your project 1 submission or you can
start with a fresh copy. No code from project 1 is required for this
-assignment. The ``alarm clock'' functionality may be useful in later
-projects, but it is not strictly required.
+assignment. The ``alarm clock'' functionality may be useful in
+projects 3 and 4, but it is not strictly required.
@menu
* Project 2 Background::
user programs on top of the operating system, this is no longer true.
This project deals with consequences of the change.
-We allow more than one user program to run at a time. User
-programs are written and compiled to work under the illusion that they
-have the entire machine. This means that when you load and
-run multiple processes at a time, you must manage memory, scheduling,
-and other state correctly to maintain this illusion.
+We allow more than one process to run at a time. Each process has one
+thread (multithreaded processes are not supported). User programs are
+written under the illusion that they have the entire machine. This
+means that when you load and run multiple processes at a time, you must
+manage memory, scheduling, and other state correctly to maintain this
+illusion.
In the previous project, we compiled our test code directly into your
kernel, so we had to require certain specific function interfaces within