thread by group iii kathryn bean and wafa’ jaffal
Post on 18-Jan-2016
214 Views
Preview:
TRANSCRIPT
Thread
By Group IIIKathryn Bean and Wafa’ Jaffal
Topics Covered Process vs. Thread Multithreading Benefits of Threads Thread States Different Thread Types Mapping between Processes and Threads Threading Issues Conclusion
Process vs. Thread, Process: Related to resource ownership
Have a virtual address space which holds the process image
Protected access to processors, other processes, files, and I/O resources
Process vs. Thread, Thread: Related to program execution
Saved thread context when not running Has an execution stack Some per-thread static storage for local
variables Access to the memory and resources of
its process• all threads of a process share this
Process vs. Thread
Single-Threaded
PCB
Addr.
Space
Kernel
Stack
User
Stack
PCBAddr.
Space
Thread CB
User Stack
Kernel Stack
Thread CB
User Stack
Kernel Stack
Thread CB
User Stack
Kernel Stack
Thread CB
User Stack
Kernel Stack
Multithreaded
Multithreading MS-DOS - a single thread UNIX - multiple user processes but
only supports one thread per process
Java Run-Time engine - one process, multiple threads
Windows 2000, Solaris, Linux, Mach, and OS/2 - multiple threads
Multithreading
1 Process 1 Thread
M Processes 1 Thread per Process
1 Process M Threads
M Processes N Threads
Benefits of Threads Takes less time to create a new thread
than a process Less time to terminate a thread than a
process Less time to switch between two threads
within the same process Since threads within the same process
share memory and files, they can communicate with each other without invoking the kernel
Uses of Threads
Foreground to background work Asynchronous processing Speed execution Modular program structure
Remote Procedure Call Using Threads
Server
Time
RPC Request RPC Request
RPC Using Single Thread
Server
Remote Procedure Call Using Thread
Server
Time
RPC Request
Server
RPC Request
Thread 1
Thread 2
Threads within Process States Suspending a process involves
suspending all threads of the process since all threads share the same address space
Termination of a process, terminates all threads within the process
Thread States States associated with a change in
thread state Spawn
• Spawn another thread Block Unblock Finish
• Deallocate register context and stacks
User-Level Threads (ULT) All thread management is done by
the application The kernel is not aware of the
existence of threads Example:
POSIX Pthread Mach C-thread Solaris 2 UI-thread
Kernel-Level Threads (KLT) Kernel maintains context
information for the process and the threads
Scheduling is done on a thread basis W2K, Linux, and OS/2 are examples
of this approach
Combined Approaches Example is Solaris Thread creation done in the user space Bulk of scheduling and synchronization of
threads done in the user space Multiple ULT from a single application are
mapped onto some number of KLT
Relationship Between Threads and Processes
Threads:Process Description Example Systems
1:1 Each thread of execution is aunique process with its ownaddress space and resources.
Traditional UNIX implementations
M:1 A process defines an addressspace and dynamic resourceownership. Multiple threadsmay be created and executedwithin that process.
Windows NT, Solaris, OS/2,OS/390, MACH
Relationship Between Threads and Processes
Threads:Process Description Example Systems
1:M A thread may migrate from oneprocess environment toanother. This allows a threadto be easily moved amongdistinct systems.
Ra (Clouds), Emerald
M:M Combines attributes of M:1and 1:M cases
TRIX
Thread Issue Cancellation
Target thread - thread to be cancelled Asynchronous cancellation Deferred cancellation
Thread pool Create a number of threads at process
startup and place them into a pool
Conclusion Responsiveness Resource sharing Economy Utilization of multiprocessor
architectures Threads synchronization
Thank You
Questions?
Bibliography
W. Stallings, Operating SystemsPrentice-Hall, 1998
A. Silberschatz, P. Galvin, G. Gagne, Operating System ConceptsJohn Wiley & Sons, Inc. 2002
top related