systems and software can run under it. In class we will use the
@uref{http://bochs.sourceforge.net, , Bochs} and
@uref{http://fabrice.bellard.free.fr/qemu/, ,
-qemu} simulators. Pintos has also been tested with
+QEMU} simulators. Pintos has also been tested with
@uref{http://www.vmware.com/, , VMware Player}.
These projects are hard. CS 140 has a reputation of taking a lot of
Now you can extract the source for Pintos into a directory named
@file{pintos/src}, by executing
@example
-tar xzf /usr/class/cs140/pintos/pintos.tar.gz
+zcat /usr/class/cs140/pintos/pintos.tar.gz | tar x
@end example
Alternatively, fetch
@uref{http://@/www.stanford.edu/@/class/@/cs140/@/pintos/@/pintos.@/tar.gz}
@code{pintos @var{option}@dots{} -- @var{argument}@dots{}}. Invoke
@code{pintos} without any arguments to see a list of available options.
Options can select a simulator to use: the default is Bochs, but
-@option{--qemu} selects qemu. You can run the simulator
+@option{--qemu} selects QEMU. You can run the simulator
with a debugger (@pxref{GDB}). You can set the amount of memory to give
the VM. Finally, you can select how you want VM output to be displayed:
use @option{-v} to turn off the VGA display, @option{-t} to use your
second of real time. Simulation in real-time mode is not reproducible,
and options @option{-j} and @option{-r} are mutually exclusive.
-The qemu simulator is available as an
+The QEMU simulator is available as an
alternative to Bochs (use @option{--qemu} when invoking
-@command{pintos}). The qemu simulator is much faster than Bochs, but it
+@command{pintos}). The QEMU simulator is much faster than Bochs, but it
only supports real-time simulation and does not have a reproducible
mode.
of the test results.
For project 1, the tests will probably run faster in Bochs. For the
-rest of the projects, they will run much faster in qemu.
+rest of the projects, they will run much faster in QEMU.
@command{make check} will select the faster simulator by default, but
you can override its choice by specifying @option{SIMULATOR=--bochs} or
@option{SIMULATOR=--qemu} on the @command{make} command line.
code that you submit. We will read your entire design document and much
of your source code.
-Don't forget that the design document is 50% of your project grade. It
+Don't forget that design quality, including the design document, is 50%
+of your project grade. It
is better to spend one or two hours writing a good design document than
it is to spend that time getting the last 5% of the points for tests and
then trying to rush through writing the design document in the last 15
patchwork of different styles that makes it obvious that three different
people wrote the code. Use horizontal and vertical white space to make
code readable. Add a brief comment on every structure, structure
-member, global or static variable, and function definition. Update
+member, global or static variable, typedef, enumeration, and function
+definition. Update
existing comments as you modify code. Don't comment out or use the
preprocessor to ignore blocks of code (instead, remove it entirely).
Use assertions to document key invariants. Decompose code into