You are on page 1of 24

Vinay Arora

CSED
Threads
Organized By: Vinay Arora
Assistant Professor
CSED, TU
Vinay Arora
CSED
Disclaimer
This is NOT A COPYRIGHT MATERIAL
Content has been taken mainly from the following books:
Operating Systems Concepts By Silberschatz & Galvin,
Operating Systems: Internals and Design Principles By William Stallings
www.os-book.com
www.cs.jhu.edu/~yairamir/cs418/os2/sld001.htm
www.personal.kent.edu/~rmuhamma/OpSystems/os.html
http://msdn.microsoft.com/en-us/library/ms685096(VS.85).aspx
http://www.computer.howsttuffworks.com/operating-system6.htm
http://williamstallings.com/OS/Animations.html
Etc
Vinay Arora
CSED
Thread
Application - Set of Multiple Processes
Process An Executable File (.exe)
Each PROCESS has its own Address Space, CPU Quota, Access to
Hardware Resources and Kernel Resources
THREAD Function Present within Executable File
Each THREAD has its own PC, Stack , Registers
Vinay Arora
CSED
Process Thread View
Vinay Arora
CSED
Process View
Vinay Arora
CSED
Thread View
Vinay Arora
CSED
Processes & Threads
Vinay Arora
CSED
User Space & Kernel Space
Vinay Arora
CSED
Multicore Programming
Multi-Core Systems putting pressure on programmers, challenges
include
Dividing activities
Balance
Data splitting
Data dependency
Testing and debugging
Vinay Arora
CSED
Concurrent Execution on a Single-core
System
Vinay Arora
CSED
Concurrent Execution on a Multi-core
System
Vinay Arora
CSED
Pure User Level
Vinay Arora
CSED
Pure Kernel Level
Vinay Arora
CSED
Combined
Vinay Arora
CSED
Combined Threads
Vinay Arora
CSED
Single & Multi Threaded Process
Vinay Arora
CSED
Benefits
Responsiveness
Resource Sharing
Economy
Utilization of MP Architectures
Vinay Arora
CSED
User Thread & Kernel Thread
User Thread - Thread Management done by User-Level Threads Library
Kernel Thread - Supported by the KERNEL
Examples
Windows XP/2000
Solaris
Linux
Tru64 UNIX
Mac OS X
Vinay Arora
CSED
Thread Library
Three Primary Thread Libraries:
Java Threads
Pthreads
Win32 Threads
Vinay Arora
CSED
Multi Threading Models
Many-to-One
One-to-One
Many-to-Many
Vinay Arora
CSED
Many-to-One Model
Many User-Level Threads mapped to Single Kernel Thread
Examples:
Solaris Green Threads
Vinay Arora
CSED
One-to-One Model
Each User-Level Thread maps to KERNEL THREAD
Examples
Linux
Solaris 9 and later
Windows NT/XP/2000
Vinay Arora
CSED
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
Windows NT/2000
Vinay Arora
CSED
Thnx

You might also like