Work on projects.
[pintos-anon] / doc / threads.texi
index c604b9635127543cb040df3905c2bca6e64f5160..4341cac9dcb4aa9213561d79e6dbbf6c2a565891 100644 (file)
@@ -32,8 +32,10 @@ primitives (semaphores, locks, and condition variables).
 @c FIXME: base system doesn't do anything. Debugger sucks.
 However, there's a lot of magic going on in some of this code, so you
 should compile and run the base system to see a simple test of the
-code.  You should trace the execution using your favorite debugger to
-get a sense for what's going on.
+code.  You should read through the source code by hand to see what's
+going on.  If you like, you can add calls to @code{printf()} almost
+anywhere, then recompile and run to see what happens and in what
+order.
 
 When a thread is created, you are creating a new context to be
 scheduled. You provide a function to be run in this context as an
@@ -52,8 +54,8 @@ synchronization primitives are used to force context switches when one
 thread needs to wait for another thread to do something.
 
 The exact mechanics of a context switch are pretty gruesome and have
-been provided for you in @file{switch.S} (this is 80@var{x}86
-assembly; don't worry about understanding it). It involves saving the
+been provided for you in @file{threads/switch.S} (this is 80@var{x}86
+assembly; don't worry about understanding it).  It involves saving the
 state of the currently running thread and restoring the state of the
 thread we're switching to.
 @c FIXME 
@@ -263,9 +265,9 @@ However, you do need to implement priority scheduling in all cases.
 @section Problem 1-4 Advanced Scheduler
 
 Implement Solaris's multilevel feedback queue scheduler (MFQS), as
-explained below, to reduce the average response time for running jobs
-on your system. 
-@c FIXME need link
+explained in this @uref{mlfqs.pdf, , PDF} or @uref{mlfqs.ps, ,
+PostScript} file, to reduce the average response time for running jobs
+on your system.
 
 Demonstrate that your scheduling algorithm reduces response time
 relative to the original Pintos scheduling algorithm (round robin) for