title: Creating a user level thread
body: <p>I have an assignment that consists of creating a user level thread package. 
  I read through <a href="https://stackoverflow.com/questions/9145321/implementing-a-user-level-threads-package">this</a> thread, and it answered a lot of my questions. 
  However, I am still confused about a few things...</p>
  
  <p>Primarily, I cant understand how to actually create a user-level thread without the pthread library...
  I have a thread structure that takes into account the stack, the stack pointer, thread id, and the thread state. I'm guessing this is a simple task, but I cant wrap my mind around how a thread gets "created" in the current process. </p>
  
  <p>Another question I have deals with how the thread gets passed to the scheduler. I have a round robin scheduler implemented, and a signal handler that handles an interrupt every 100ms to check for thread states. But how is the scheduler aware of the threads? </p>
  
  <p>I feel like I am missing a concept of user-level threading that is preventing me from understanding thread creation and manipulation. </p>
  
  <p>Please help me out! Thanks in advance!</p>