SlideShare a Scribd company logo
Understand Process Management
• Threads




                                            1
HOME     PREVIOUS TOPIC
NEXT
PREVIOUS QUESTION PAPERS
FOR OS
CPP TUTORIALS




                           2
Recap

In the last class, you have learnt

• Relationship between Processes

• Reasons for providing an environment that allows
  Process cooperation




                                              3
Objectives

On completion of this class, you would be able to
  know
• Definition of Thread

• Benefits of Multithread programming

• Multithreading Models




                                                    4
Thread Structure

• A thread is a light weight process (LWP)

• Basic unit of CPU utilization

• Shares other threads belonging to the same process its
  code section, data section and other resources
• Threads created for a particular process are known as
  sibling threads

                                                     5
Thread Structure


Thread comprises of
• Thread id

• Program counter

• Register counter

• Register set

• Stack

                                    6
Thread Structure
• Process having multiple threads of control, can perform more
  than one task at a time
• Threads operate, in many respects, in the same manner as
  processes
• Like processes threads can share CPU, but only one thread at a
  time is active
• Thread can create child threads
• Threads are not independent of one another
• This structure does not provide protection between threads as
  they can read or write over any other thread
                                                             7
Thread States

Thread states
• New

• Ready

• Blocked

• Running

• Terminated

                                8
Threads

Single threaded process
• A traditional (or heavy weight) Process that has a single thread
  of control

Multi threaded process
• A process which has several threads of control

• It can do more than one task at a time



                                                               9
Single and Multi Thread Process




                                                     Thread




  Single Thread Process       Multi Thread Process

                          Fig.1

                                                          10
Benefits of Multithreading Programming
Responsiveness
• Allows a program to continue even if a part of it is
   blocked or performing a lengthy operation
Resource sharing
• Threads share the memory and the resources of the
   process to which they belong
• Allows an application to have several different
   threads of activity within the same address space


                                                     11
Benefits of Multithreading Programming
Economy
• Threads share resources of the process to which
   they belong
• Hence it is more economical to create and
   conduct switch threads




                                                    12
Benefits of Multithreading Programming

Utilization of multiprocessor architectures
•   Benefits of multithreading can be greatly increased
    in a multiprocessor architecture where threads may
    be running in parallel on different processors
•   Multithreading increases concurrency on a multi-
    CPU machine


                                                       13
Multi Threading Model

• An operating system support multiple threads of execution in
  one process
• Support for threads may be provided at either the user level or
  by the kernel
• User threads are supported above the kernel and are managed
  without kernel support
• Kernel threads are supported and managed directly by
  operating system
• Windows XP. Solaris, True64 UNIX - support kernel threads
                                                            14
One process one thread                One process multiple thread

             Fig.1 (a)                              Fig.2 (b)




Multiple process, one thread per process   Multiple process, multiple threads per process


              Fig.3 (c)                                Fig.4 (d)

      Fig: multithreading model                                                      15
Multithreading Models

Many-to-one Model
• Maps many user-level threads to one kernel thread

• Green threads-a thread library available for Solaris users this
  model




                           Fig.2
                                                                16
Multithreading Models
One-to-One Model
• Maps each user thread to a kernel thread
• Windows 95/98/NT/2000/XP implement the one-to-one
  model
                                         User thread


                                          Kernel thread




                    Fig.3


                                                          17
Multithreading Models

Many-to-Many Model
• Multiplexes many user level threads to a smaller or equal
  number of kernel threads.

                                                User thread




                                            Kernel thread




                       Fig.4
                                                              18
Summary

In this class, you have learnt
•   A thread is a basic unit of CPU utilization
•   A thread is a light weight process
•   A thread shares with peer threads its code section
    data section and other resources
•   Extensive sharing makes CPU switching among
    peer threads and thread creation inexpensive

                                                         19
Frequently Asked Questions

1.   Write short notes on threads

2.   Explain the different multithreading models




                                                   20
Other subject materials
•   Web designing
•   Micro processors
•   C++ tutorials
•   java

home
Quiz
State whether the following statements are true or false
1. Thread is a light weight process
    a) True
    b) False
2. Threads can communicate with each other
    a) True
    b) False
3. A thread needs __________________
    Less no. of resources

4. A single process _____________________
   Supports multiple threads
                                                           22

More Related Content

PPTX
Multi threading model
PPTX
Multithreading models.ppt
PDF
4 threads
PDF
Multithreading development with workers
PPT
Multithreading models
PPTX
Multithreading
PPTX
Multi threading models
Multi threading model
Multithreading models.ppt
4 threads
Multithreading development with workers
Multithreading models
Multithreading
Multi threading models

What's hot (20)

PPT
Ch04 threads
PPTX
Thread management
PPTX
Threads .ppt
PDF
Thread
PPT
PPT
Operating System-Threads-Galvin
PPTX
PPTX
Networking threads
PPTX
Lecture 3 threads
PPTX
Operating system: threads(mulithreading,benefits of threads, types of thread)
PPT
Ch4 Threads
PPT
Operating System 4
PPTX
Threads
PPTX
Thread scheduling in Operating Systems
PPTX
PPTX
Operating system 21 multithreading models
PPT
Os Threads
PPTX
Mulitthread
PPTX
Multi threaded programming
Ch04 threads
Thread management
Threads .ppt
Thread
Operating System-Threads-Galvin
Networking threads
Lecture 3 threads
Operating system: threads(mulithreading,benefits of threads, types of thread)
Ch4 Threads
Operating System 4
Threads
Thread scheduling in Operating Systems
Operating system 21 multithreading models
Os Threads
Mulitthread
Multi threaded programming
Ad

Similar to 15 threads (20)

PDF
Section04 threads
PDF
Multithreaded Programming in oprating system
PDF
Threads lecture slides for operating systems
PDF
threads (1).pdfmjlkjfwjgliwiufuaiusyroayr
PPT
Operating Systems - "Chapter 4: Multithreaded Programming"
PPTX
W-9.pptx
PPTX
PPTX
Operating systems - Introduction to Threads
PDF
CH04.pdf
PPT
Ipc ppt
PDF
Multithreaded Programming Part- II.pdf
PPTX
WEEK07operatingsystemdepartmentofsoftwareengineering.pptx
PPTX
Topic 4- processes.pptx
PPTX
Operating system 20 threads
PPT
multi-threading
PPTX
Lecture 3- Threads (1).pptx
PDF
Threads operating system slides easy understand
PDF
Basic Threads in Advanced operating system
PPTX
Engineeering Operating systemsOS UNIT 3 Threads.pptx
DOC
Section04 threads
Multithreaded Programming in oprating system
Threads lecture slides for operating systems
threads (1).pdfmjlkjfwjgliwiufuaiusyroayr
Operating Systems - "Chapter 4: Multithreaded Programming"
W-9.pptx
Operating systems - Introduction to Threads
CH04.pdf
Ipc ppt
Multithreaded Programming Part- II.pdf
WEEK07operatingsystemdepartmentofsoftwareengineering.pptx
Topic 4- processes.pptx
Operating system 20 threads
multi-threading
Lecture 3- Threads (1).pptx
Threads operating system slides easy understand
Basic Threads in Advanced operating system
Engineeering Operating systemsOS UNIT 3 Threads.pptx
Ad

More from myrajendra (20)

PPT
Fundamentals
PPT
Data type
PPTX
Hibernate example1
PPTX
Jdbc workflow
PPTX
2 jdbc drivers
PPTX
3 jdbc api
PPTX
4 jdbc step1
PPTX
Dao example
PPTX
Sessionex1
PPTX
Internal
PPTX
3. elements
PPTX
2. attributes
PPTX
1 introduction to html
PPTX
Headings
PPTX
Forms
PPT
PPTX
Views
PPTX
Views
PPTX
Views
PPT
Starting jdbc
Fundamentals
Data type
Hibernate example1
Jdbc workflow
2 jdbc drivers
3 jdbc api
4 jdbc step1
Dao example
Sessionex1
Internal
3. elements
2. attributes
1 introduction to html
Headings
Forms
Views
Views
Views
Starting jdbc

15 threads

  • 2. HOME PREVIOUS TOPIC NEXT PREVIOUS QUESTION PAPERS FOR OS CPP TUTORIALS 2
  • 3. Recap In the last class, you have learnt • Relationship between Processes • Reasons for providing an environment that allows Process cooperation 3
  • 4. Objectives On completion of this class, you would be able to know • Definition of Thread • Benefits of Multithread programming • Multithreading Models 4
  • 5. Thread Structure • A thread is a light weight process (LWP) • Basic unit of CPU utilization • Shares other threads belonging to the same process its code section, data section and other resources • Threads created for a particular process are known as sibling threads 5
  • 6. Thread Structure Thread comprises of • Thread id • Program counter • Register counter • Register set • Stack 6
  • 7. Thread Structure • Process having multiple threads of control, can perform more than one task at a time • Threads operate, in many respects, in the same manner as processes • Like processes threads can share CPU, but only one thread at a time is active • Thread can create child threads • Threads are not independent of one another • This structure does not provide protection between threads as they can read or write over any other thread 7
  • 8. Thread States Thread states • New • Ready • Blocked • Running • Terminated 8
  • 9. Threads Single threaded process • A traditional (or heavy weight) Process that has a single thread of control Multi threaded process • A process which has several threads of control • It can do more than one task at a time 9
  • 10. Single and Multi Thread Process Thread Single Thread Process Multi Thread Process Fig.1 10
  • 11. Benefits of Multithreading Programming Responsiveness • Allows a program to continue even if a part of it is blocked or performing a lengthy operation Resource sharing • Threads share the memory and the resources of the process to which they belong • Allows an application to have several different threads of activity within the same address space 11
  • 12. Benefits of Multithreading Programming Economy • Threads share resources of the process to which they belong • Hence it is more economical to create and conduct switch threads 12
  • 13. Benefits of Multithreading Programming Utilization of multiprocessor architectures • Benefits of multithreading can be greatly increased in a multiprocessor architecture where threads may be running in parallel on different processors • Multithreading increases concurrency on a multi- CPU machine 13
  • 14. Multi Threading Model • An operating system support multiple threads of execution in one process • Support for threads may be provided at either the user level or by the kernel • User threads are supported above the kernel and are managed without kernel support • Kernel threads are supported and managed directly by operating system • Windows XP. Solaris, True64 UNIX - support kernel threads 14
  • 15. One process one thread One process multiple thread Fig.1 (a) Fig.2 (b) Multiple process, one thread per process Multiple process, multiple threads per process Fig.3 (c) Fig.4 (d) Fig: multithreading model 15
  • 16. Multithreading Models Many-to-one Model • Maps many user-level threads to one kernel thread • Green threads-a thread library available for Solaris users this model Fig.2 16
  • 17. Multithreading Models One-to-One Model • Maps each user thread to a kernel thread • Windows 95/98/NT/2000/XP implement the one-to-one model User thread Kernel thread Fig.3 17
  • 18. Multithreading Models Many-to-Many Model • Multiplexes many user level threads to a smaller or equal number of kernel threads. User thread Kernel thread Fig.4 18
  • 19. Summary In this class, you have learnt • A thread is a basic unit of CPU utilization • A thread is a light weight process • A thread shares with peer threads its code section data section and other resources • Extensive sharing makes CPU switching among peer threads and thread creation inexpensive 19
  • 20. Frequently Asked Questions 1. Write short notes on threads 2. Explain the different multithreading models 20
  • 21. Other subject materials • Web designing • Micro processors • C++ tutorials • java home
  • 22. Quiz State whether the following statements are true or false 1. Thread is a light weight process a) True b) False 2. Threads can communicate with each other a) True b) False 3. A thread needs __________________ Less no. of resources 4. A single process _____________________ Supports multiple threads 22