Chapter 5: Threads
Chapter 5: Threads
Single vs Multithreaded Threads Benefits User Threads Kernel Threads Multithreading Models Example:
Pthreads Solaris 2 Threads Java Threads
Operating System Concepts
Benefits
Responsiveness Resource Sharing Economy
Utilization of MP Architectures
User Threads
Thread management done by user-level threads library Examples - POSIX Pthreads - Mach C-threads - Solaris threads
Kernel Threads
Supported by the Kernel Examples - Windows 95/98/NT/2000 - Solaris - Tru64 UNIX - Linux
Operating System Concepts
Multithreading Models
Many-to-One One-to-One Many-to-Many
Many-to-One
Many user-level threads mapped to single kernel thread. Used on systems that do not support kernel threads.
Many-to-One Model
One-to-One
Each user-level thread maps to kernel thread. Examples - Windows 95/98/NT/2000 - OS/2
One-to-one Model
Many-to-Many Model
Allows many user level threads to be mapped to many kernel threads.
Allows the operating system to create a sufficient number of kernel threads. Solaris 2
Many-to-Many Model
Pthreads
a POSIX standard (IEEE 1003.1c) API for thread creation and synchronization.
API specifies behavior of the thread library, implementation is up to development of the library. Common in UNIX operating systems.
Solaris 2 Threads
Solaris Process