Multi-threading Models in Operating System:

Different multithreading models are as follows:

1. Many-to-one Model:

In Many-to-one Model, many user level treads are mapped to one kernel thread. It is efficient because it is implemented in user space. A process using this model will be blocked entirely if a thread makes a blocking system call. Only one thread can access the kernel at a time so it cannot be run in parallel on multiprocessor.

2. One-to-one Model:

In this model, each user thread is mapped to a kernel thread. It provides more concurrency because it allows another thread to execute when a thread makes a blocking system call. It facilitates parallelism in multiprocessor. Each user thread requires a kernel thread which may affect the performance of the system. Creation of threads in this model is restricted to a certain number. This model is used by Windows NT, Windows 2000 and OS/2.

3. Man-to-Many Model:

This model multiplexes many user level threads to a smaller or equal number of kernel threads. The number of kernel threads may be specific to either a particular application or a particular machine. The user can create any number of user threads and corresponding kernel threads can run in parallel on multiprocessor. When a thread makes a blocking system call, the kernel can execute another thread. It is used by Solaris 2, IRIX, and Tru64.

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Blog Archive

Powered by Blogger.

- Copyright © 2013 Taqi Shah Blogspot -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -