title: What is the difference between kernel threads and user threads?
body: <p>What is the difference between kernel threads and user threads? Is it that kernel thread are scheduled and executed in kernel mode? What are techniques used for creating kernel threads?</p>
  
  <p>Is it that user thread is scheduled, executed in user mode? Is it that Kernel does not participate in executing/scheduling user threads? When interrupts occur in executing user thread then who handles it?     </p>
  
  <p>Whenever, thread is created a TCB is created for each. now in case of user level threads
  Is it that this TCB is created in user's address space ?         </p>
  
  <p>In case of switching between two user level threads who handles the context switching ?    </p>
  
  <p>There is a concept of multithreading models :    </p>
  
  <ol>
  <li>Many to one     </li>
  <li>One to one    </li>
  <li>Many to Many.    </li>
  </ol>
  
  <p>What are these models? How are these models practically used?    </p>
  
  <p>Have read few articles on this topic but still confused<br>
  Wants to clear the concept ..</p>
  
  <p>Thanks in advance,
  Tazim </p>