Chapter 5: Threads
Single vs Multithreaded Threads Benefits User Threads Kernel Threads Multithreading Models Example:
Pthreads Solaris 2 Threads Java Threads
Operating System Concepts
Single and Multithreaded Processes
Operating System Concepts
Benefits
Responsiveness Resource Sharing Economy
Utilization of MP Architectures
Operating System Concepts
User Threads
Thread management done by user-level threads library Examples - POSIX Pthreads - Mach C-threads - Solaris threads
Operating System Concepts
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
Operating System Concepts
Many-to-One
Many user-level threads mapped to single kernel thread. Used on systems that do not support kernel threads.
Operating System Concepts
Many-to-One Model
Operating System Concepts
One-to-One
Each user-level thread maps to kernel thread. Examples - Windows 95/98/NT/2000 - OS/2
Operating System Concepts
One-to-one Model
Operating System Concepts
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
Windows NT/2000 with the ThreadFiber package
Operating System Concepts
Many-to-Many Model
Operating System Concepts
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.
Operating System Concepts
Solaris 2 Threads
Operating System Concepts
Solaris Process
Operating System Concepts
Java Thread States
Java threads are managed by the JVM.
Operating System Concepts