lecture 2 notes done
authorKyle Spaans <kspaans@student.math.uwaterloo.ca>
Thu, 7 May 2009 21:53:09 +0000 (17:53 -0400)
committerKyle Spaans <kspaans@student.math.uwaterloo.ca>
Thu, 7 May 2009 21:53:09 +0000 (17:53 -0400)
lec02-0507.tex

index c0d6cd2..c884ebd 100644 (file)
@@ -28,6 +28,13 @@ there are fewer processor cores than threads.
 \subsection*{Implementing Threads}
 We need a thread library in order to implement threads (can be implemented in
 the kernel or outside of it, we are given a kernel implementation). It is made
-up of the code to save and restore registers 
+up of the code to save and restore registers and setup the thread structure
+which we call the ``thread control block''. It's worthwhile to note that the
+registers are not stored in the thread structure, but rather they are saved
+to the stack by \texttt{kern/arch/mips/mips/switch.S}. The thread struct
+has a pointer to the thread's stack, which contains all of the relevant
+information. It also saves the old value of the PC from the old thread so that
+the thread can be restarted at the exact same place. \texttt{Switch.S} does the
+``dispatch'' between two threads.
 
 \end{document}