Fix line wrapping.
[pintos-anon] / doc / tour.texi
index c0568f13f11f5e47a48a79c89519134a12179e72..2e15b38ff525b1b15c8e2246a64d8eaa98f27850 100644 (file)
@@ -327,8 +327,8 @@ the page.  @xref{Interrupt Handling}, for more information.
 
 @deftypecv {Member} {@struct{thread}} {int} priority
 A thread priority, ranging from @code{PRI_MIN} (0) to @code{PRI_MAX}
-(63).  Lower numbers correspond to @emph{higher} priorities, so that
-priority 0 is the highest priority and priority 63 is the lowest.
+(63).  Lower numbers correspond to lower priorities, so that
+priority 0 is the lowest priority and priority 63 is the highest.
 Pintos as provided ignores thread priorities, but you will implement
 priority scheduling in project 1 (@pxref{Priority Scheduling}).
 @end deftypecv
@@ -1093,9 +1093,9 @@ Second, an interrupt handler must not call any function that can
 sleep, which rules out @func{thread_yield}, @func{lock_acquire}, and
 many others.  This is because external interrupts use space on the
 stack of the kernel thread that was running at the time the interrupt
-occurred.  If the interrupt handler tried to sleep and that thread
-resumed, then the two uses of the single stack would interfere, which
-cannot be allowed.
+occurred.  If the interrupt handler slept, it would effectively put that
+thread to sleep too until the interrupt handler resumed control and
+returned.
 
 Because an external interrupt runs with interrupts disabled, it
 effectively monopolizes the machine and delays all other activities.
@@ -1283,12 +1283,12 @@ The block allocator may not be called from interrupt context.
 @node User Programs Tour
 @section User Programs Project
 
-The tour for this project has not yet been written.
+No tour for this project is available.
 
 @node Virtual Memory Tour
 @section Virtual Memory Project
 
-The tour for this project is under construction.
+Only some parts of the tour for this project are available.
 
 @menu
 * Hash Table::                  
@@ -1400,6 +1400,7 @@ If your key is a single piece of data of an appropriate type, it is
 sensible for your hash function to directly return the output of one of
 these functions.  For multiple pieces of data, you may wish to combine
 the output of more than one call to them using, e.g., the @samp{^}
+(exclusive or)
 operator.  Finally, you may entirely ignore these functions and write
 your own hash function from scratch, but remember that your goal is to
 build an operating system kernel, not to design a hash function.
@@ -1717,5 +1718,4 @@ how it is designed and organized, as with any other data structure.
 @node File Systems Tour
 @section File Systems Project
 
-The tour for this project has not yet been written.
-
+No tour for this project is available.