- Many-to-One
- Many user-level threads mapped to single  kernel thread.
 
- Thread management is done in user space but the whole process blocks if any one user thread blocks.
 
- Used on systems that do not support kernel threads.
 
 
- One-to-One
- Each user-level thread maps to kernel thread.
 
- As thread management is done in kernel space, a blocked thread does not prevent other threads from running and multiprocessor utilization is efficient.
 
- Examples, Windows 95/98/NT/2000, OS/2
 
 
- Many-to-Many
- Allows many user level threads to be mapped to many kernel threads.
 
- The number of kernel threads provided might be specified according to the application and also the number of processors on a particular host.
 
- Allows the operating system to create a sufficient number of kernel threads.
 
- Solaris 2, DEC/compaq (Thu64), HP (HP-UX), and Silicon Graphics (IRIX),  Windows NT/2000 with the ThreadFiber package
 
 
Figure 2.9:
Thread Models; Many-to-One, One-to-One, Many-to-Many
| 
 | 
 
2004-05-25