Fixed typos and obsolete info, removed Stanford dependencies.
case, all of the functionality needed for project 2 must work in your
filesys submission. If you build on project 3, then all of the project
3 functionality must work also, and you will need to edit
-@file{filesys/Make.vars} to enable VM functionality. You can receive up
+@file{filesys/Make.vars} to enable VM functionality. You can receive up
to 5% extra credit if you do enable VM.
@menu
30 files changed, 2721 insertions(+), 286 deletions(-)
@end verbatim
-@item Can @code{BLOCk_SECTOR_SIZE} change?
+@item Can @code{BLOCK_SECTOR_SIZE} change?
No, @code{BLOCK_SECTOR_SIZE} is fixed at 512. For IDE disks, this
value is a fixed property of the hardware. Other disks do not
You will also add a virtual memory implementation.
Pintos could, theoretically, run on a regular IBM-compatible PC.
-Unfortunately, it is impractical to supply every @value{coursenumber} student
+Unfortunately, it is impractical to supply every student
a dedicated PC for use with Pintos. Therefore, we will run Pintos projects
in a system simulator, that is, a program that simulates an 80@var{x}86
CPU and its peripheral devices accurately enough that unmodified operating
QEMU} simulators. Pintos has also been tested with
@uref{http://www.vmware.com/, , VMware Player}.
-These projects are hard. @value{coursenumber} has a reputation of taking a lot of
+These projects are hard. They have a reputation of taking a lot of
time, and deservedly so. We will do what we can to reduce the workload, such
as providing a lot of support material, but there is plenty of
hard work that needs to be done. We welcome your
@c Local settings
-@set coursenumber CS 140
@set localpintostarpath /usr/class/cs140/pintos/pintos.tar.gz
@set localpintoshttppath http://@/www.stanford.edu/@/class/@/cs140/@/pintos/@/pintos.@/tar.gz
@set localpintosbindir /usr/class/cs140/`uname -m`/bin
@macro localpathsetup{}
Under @command{csh}, Stanford's login shell, you can do so
-with this command:@footnote{The term @samp{`uname -m`} expands to either
-@file{sun4u} or @file{i686} according to the type of computer you're
+with this command:@footnote{The term @samp{`uname -m`} expands to a value
+such as @file{x86_64} that indicates the type of computer you're
logged into.}
@example
set path = ( @value{localpintosbindir} $path )
Don't worry about the possibility of timer values overflowing. Timer
values are expressed as signed 64-bit numbers, which at 100 ticks per
second should be good for almost 2,924,712,087 years. By then, we
-expect Pintos to have been phased out of the @value{coursenumber} curriculum.
+expect Pintos to have been phased out of the Computer Science curriculum.
@end table
@node Priority Scheduling FAQ
The @file{src/examples} directory contains a few sample user
programs. The @file{Makefile} in this directory
-compiles the provided examples, and you can edit it
+compiles the provided examples, and you can edit it to
compile your own programs as well. Some of the example programs will
only work once projects 3 or 4 have been implemented.
@example
@group
- +----------+
- .--------------->|Page Table|-----------.
- / +----------+ |
- 0 | 12 11 0 0 V 12 11 0
- +---------+----+ +---------+----+
- |Page Nr | Ofs| |Frame Nr | Ofs|
- +---------+----+ +---------+----+
- Virt Addr | Phys Addr ^
- \_______________________________________/
+ +----------+
+ .--------------->|Page Table|---------.
+ / +----------+ |
+ 31 | 12 11 0 31 V 12 11 0
+ +-----------+-------+ +------------+-------+
+ | Page Nr | Ofs | | Frame Nr | Ofs |
+ +-----------+-------+ +------------+-------+
+ Virt Addr | Phys Addr ^
+ \_____________________________________/
@end group
@end example
@table @asis
@item Supplemental page table
-Enables page fault handling by supplementing the page table.
+Enables page fault handling by supplementing the hadrware page table.
@xref{Managing the Supplemental Page Table}.
@item Frame table