What are multithreading models?

Many OS provide both kernel threading and user threading. They are called multithreading models. They are of three types:

  1. Many-to-one model (many user level thread and one kernel thread).

  2. One-to-one model

  3. Many-to –many

In the first model only one user can access the kernel thread by not allowing multi-processing. Example: Green threads of Solaris. The second model allows multiple threads to run on parallel processing systems. Creating user thread needs to create corresponding kernel thread (disadvantage).Example: Windows NT, Windows 2000, OS/2.The third model allows the user to create as many threads as necessary and the corresponding kernel threads can run in parallel on a multiprocessor.

Example: Solaris2, IRIX, HP-UX, and Tru64 Unix.