• N to M mapping. “N” User Thread to “M” Kernel Thread called “virtual processors” or “activations”. This bridges the gap between Kernel Thread and User Thread. Each Kernel Thread has some set of User Threads that are taking turns to use it. This allows more flexible thread management at the application level without sacrificing all the benefits of kernel threads
  • Kernel is only aware of the Kernel Thread and able to schedules those
  • Programmer can determine how many Kernel Thread to use and how many User Thread multiplex on each one

Ultimate in flexibility

Used by modern Kernel