Advanced Operating System
Mapping
What And Why?
What is Mapping?
Mapping refers to the relationship and conversion between user-level threads and
kernel-level threads in a threading model.
It enables effective management of concurrency and resource utilization within a
system.
Why is Mapping Done?
Concurrency Management: To allow multiple threads to run simultaneously, maximizing
CPU utilization.
Resource Optimization: To balance performance and system resource use, depending
on application needs.
Isolation of Blocking: To control how blocking calls affect thread execution, improving
responsiveness.
How?
One to One
Many to One
Creates a separate kernel thread to handle
Many user-level threads are all mapped onto a
each and every user thread.
single kernel thread.
Most implementations of this model place a
Thread management is handled by the thread
limit on how many threads can be created.
library in user space, which is efficient in nature.
Linux and Windows from 95 to XP
In this case, if user-level thread libraries are
implement the one-to-one model for
implemented in the operating system in some
threads.
way that the system does not support them, then
the Kernel threads use this relationship model.
Cont..
Multiplexes any number of user threads onto an
equal
or
smaller
number
of
kernel
threads,
combining the best features of the one-to-one and
many-to-one models.
Users can create any number of threads.
Blocking the kernel system calls does not block the
entire process.
Processes can be split across multiple processors.
Many to Many