-@node Introduction, Project 1--Threads, Top, Top
+@node Introduction, Pintos Tour, Top, Top
@chapter Introduction
Welcome to Pintos. Pintos is a simple operating system framework for
You will also add a virtual memory implementation.
Pintos could, theoretically, run on a regular IBM-compatible PC. As
-fun as it might be, it is impractical to supply every student in CS
-140 with his or her own PC. Therefore, we will run Pintos projects in
-a PC simulator, that is, a program that simulates an 80@var{x}86 CPU
-and its peripheral devices well enough that unmodified operating
+much fun as it might be, it is impractical to supply every student in
+CS 140 with his or her own PC. Therefore, we will run Pintos projects
+in a PC simulator, that is, a program that simulates an 80@var{x}86
+CPU and its peripheral devices well enough that unmodified operating
systems and software can run under it. In class we will use the
@uref{http://bochs.sourceforge.net, , Bochs} simulator. Pintos has
also been tested within @uref{http://fabrice.bellard.free.fr/qemu/, ,
@example
tar xzf /usr/class/cs140/pintos/pintos.tar.gz
@end example
-Alternatively
+Alternatively, retrieve
@uref{http://www.stanford.edu/class/cs140/pintos/pintos.tar.gz} and
extract it in a similar way.
Object file for the entire kernel. This is the result of linking
object files compiled from each individual kernel source file into a
single object file. It contains debug information, so you can run
-@command{gdb} or
+@command{gdb} or @command{backtrace} (@pxref{Backtraces}) on it.
@item kernel.bin
Memory image of the kernel. These are the exact bytes loaded into
(If no window appeared at all, and you just got a terminal full of
corrupt-looking text, then you're probably logged in remotely and X
forwarding is not set up correctly. In this case, you can fix your X
-setup, or you can use the @option{-nv} option.)
+setup, or you can use the @option{-v} option.)
The text printed by Pintos inside Bochs probably went by too quickly
to read. However, you've probably noticed by now that the same text
redirecting at the command line, e.g.@: @code{pintos run > logfile}.
The @command{pintos} program offers multiple options for running
-Pintos. Use @code{pintos help} to see a list of the options. You can
-select a simulator other than Bochs, although the Leland systems only
-have Bochs installed. You can start the simulator running a debugger
-(@pxref{i386-elf-gdb}). You can set the amount of memory to give the
-VM. Finally, you can set up how you want VM output to be displayed:
-use @option{-nv} to turn off the VGA display, @option{-t} to use your
-terminal window as the VGA display instead of opening a new window, or
-@option{-ns} to suppress the serial output to @code{stdout}.
+Pintos. Specify these options on the command line @emph{before} the
+@option{run} command. Use @code{pintos help} to see a list of the
+options. You can select a simulator other than Bochs, although the
+Leland systems only have Bochs installed. You can start the simulator
+running a debugger (@pxref{i386-elf-gdb}). You can set the amount of
+memory to give the VM. Finally, you can set up how you want VM output
+to be displayed: use @option{-v} to turn off the VGA display,
+@option{-t} to use your terminal window as the VGA display instead of
+opening a new window, or @option{-s} to suppress the serial output to
+@code{stdout}.
The @command{pintos} program offers commands other than @samp{run} and
@samp{help}, but we won't have any need for them until project 2.
+The Pintos kernel has its own command line that you can use to pass
+options. These options must be specified @emph{after} the
+@option{run} command. These options are not very interesting for now,
+but you can see a list of them using the @option{-u} option, e.g.@:
+@code{pintos run -u}.
+
@node Pintos Trivia
@section Pintos Trivia