User-Level Thread

All of the work of thread management is done by the application and the kernel is not aware of the existence of threads.

Advantages of ULT:

  • Less switching overhead (save 2 mode switches)
  • Scheduling is app specific
  • ULT can run on any OS (no changes to underlying kernel)

Disadvantages:

  • In a typical OS, many system calls are blocking. As a result, when a ULT executes a system call, not only is that thread blocked, but all of the threads within the process are blocked as well.
  • A multithreaded application cannot take advantage of multiprocessing in ULT