SlideShare a Scribd company logo
1 of 11
PROCESS AND THREADS
1
By
Aaqib
Hussain
2
Terms and Concepts
• A process is a heavyweight flow that can execute concurrently with
other processes.
• A thread is a lightweight flow that can execute concurrently with
other threads within the same process.
• An active object is an object that owns a process or thread andcan
initiate controlactivity.
• Processes and threads are rendered as stereotyped activeclasses.
• An active class is a class whose instances are activeobjects.
Flow of Control
• In a sequential system, there is a single flow of control. i.e, onething,
and one thing only, can take place at a time.
In a concurrent system, there is multiple simultaneous flow ofcontrol
i.e, more than one thing can take place at a time.
PROCESSES AND
THREADS
Classes and Events
• Active classes are just classes which represents an independent flow
of control
• Active classes share the same properties as all otherclasses.
• When an active object is created, the associated flow of control is
started; when the active object is destroyed, the associated flow of
control is terminated
• two standard stereotypes that apply to active classes are,
<<process>> – Specifies a heavyweight flow that can execute
concurrently with other processes. (heavyweight means, a thing
3
known to the OS itself and runs in an independent address
<<thread>> – Specifies a lightweight flow that can
space)
execute
concurrently with other threads within the same process (lightweight
means, known to the OS itself.)
• All the threads that live in the context of a process are peers of one
another.
PROCESSES AND
THREADS
Communication
• In a system with both active and passive objects, there are four
possible combinations ofinteraction.
• First, a message may be passed from one passive object to another.
• Second, a message may be passed from one active object to another.
• In inter-process communication there are two possible styles of
communication. First, one active object might synchronously call an
operation of another. Second, one active object might asynchronously
send a signal or call an operation of anotherobject.
• a synchronous message is rendered as a full arrow and an
asynchronous message is rendered as a halfarrow.
• Third, a message may be passed from an active object to a passive
object.
• Fourth, a message may be passed from a passive object to an active
one.
2
24
44
0
PROCESSES AND
THREADS
Synchronization
• Synchronization means arranging the flow of controls of objects so that
mutual exclusion will be guaranteed.
• Three approaches are there to handlesynchronization:
• Sequential – Callers must coordinate outside the object so that only one
flow is in the object at a time
• Guarded – multiple flow of control is sequentialized with the help of
object’s guarded operations. in effect it becomes sequential.
• Concurrent – multiple flow of control is guaranteed by treating each
operation as atomic
• synchronization are rendered in the operations of active classes with the
help of constraints
Fig: Synchronization
245
PROCESSES AND
THREADS
Common Modeling Techniques
1. Modeling Multiple Flows of Control
• Identify the opportunities for concurrent action and reify each flow as an active
class. Generalize common sets of active objects into an active class.
• Capture these static decisions in class diagrams, explicitly highlighting each active
class.
• Capture these static decisions in class diagrams, explicitly highlighting each active
class.
• Consider how each group of classes collaborates with one another dynamically.
Capture those decisions in interaction diagrams. Explicitly show active objects as the
root of such flows.
• Identify each related sequence by identifying it with the name of the active object.
Pay close attention to communication among active objects. Apply synchronous and
asynchronous messaging, asappropriate.
• Pay close attention to synchronization among these active objects and the passive
objects with which they collaborate. Apply sequential, guarded, or concurrent
operation semantics, as appropriate.
6
PROCESSES AND
THREADS
Modeling Flows of Control 7
PROCESSES AND
THREADS
2. Modeling Interprocess Communication
• Model the multiple flows of control.
• Consider which of these active objects represent processes andwhich
represent threads.
• Model messaging using asynchronous communication. modelremote
procedure calls using synchronouscommunication.
• Informally specify the underlying mechanism for communicationby
using notes, or more formally by usingcollaborations.
8
PROCESSES AND
THREADS
ModelingInterprocess
Communication
PROCESSES AND
THREADS
9
DIFFERENCE BETWEEN PROCESS AND THREAD:
1. Process means any program is
in execution
2. Process takes more time to
terminate
3. It takes more time for creation
4. It also takes more time for
context switching
5. Process is less efficient in term
of communication
6. Process consume more
resources.
7. Process is isolated.
Threads share memory
8. Process is called heavy weight
process
9. Process switching uses
interface in operating system
10. If one process is blocked then
it will not effect the execution
1. Thread means segment of a process
2. Thread takes less time to terminate
3. It takes less time for creation
4. It takes less time for context
switching
5. Thread is more efficient in term of
communication
6. Thread consume less resources.
7. A Thread is lightweight as each
thread in a process shares code,
data and resources.
8. Thread switching does not require
to call a operating system and
cause an interrupt to the kernel.
9. Second thread in the same task
could not run, while one server
thread is blocked.
THANK YOU

More Related Content

Similar to Process and threads

Object oriented programming 6 oop with c++
Object oriented programming 6  oop with c++Object oriented programming 6  oop with c++
Object oriented programming 6 oop with c++Vaibhav Khanna
 
Variables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.pptVariables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.pptRohit Radhakrishnan
 
Synchronization
SynchronizationSynchronization
SynchronizationSara shall
 
Process synchronization
Process synchronizationProcess synchronization
Process synchronizationlodhran-hayat
 
Consensus Algorithms: An Introduction & Analysis
Consensus Algorithms: An Introduction & AnalysisConsensus Algorithms: An Introduction & Analysis
Consensus Algorithms: An Introduction & AnalysisZak Cole
 
1 Multithreading basics.pptx
1 Multithreading basics.pptx1 Multithreading basics.pptx
1 Multithreading basics.pptxYojanaFegade
 
NaBIC 2013 presentation
NaBIC 2013 presentationNaBIC 2013 presentation
NaBIC 2013 presentationŠtefan Sabo
 
Sync, async and multithreading
Sync, async and multithreadingSync, async and multithreading
Sync, async and multithreadingTuan Chau
 
Object Oriented Programming Tutorial.pptx
Object Oriented Programming Tutorial.pptxObject Oriented Programming Tutorial.pptx
Object Oriented Programming Tutorial.pptxethiouniverse
 
Unit three Advanced State Modelling
Unit three Advanced State ModellingUnit three Advanced State Modelling
Unit three Advanced State ModellingDr Chetan Shelke
 
Concurrency Programming in Java - 06 - Thread Synchronization, Liveness, Guar...
Concurrency Programming in Java - 06 - Thread Synchronization, Liveness, Guar...Concurrency Programming in Java - 06 - Thread Synchronization, Liveness, Guar...
Concurrency Programming in Java - 06 - Thread Synchronization, Liveness, Guar...Sachintha Gunasena
 
Multi threading
Multi threadingMulti threading
Multi threadinggndu
 
Operating system 27 semaphores
Operating system 27 semaphoresOperating system 27 semaphores
Operating system 27 semaphoresVaibhav Khanna
 

Similar to Process and threads (20)

Process coordination
Process coordinationProcess coordination
Process coordination
 
Object oriented programming 6 oop with c++
Object oriented programming 6  oop with c++Object oriented programming 6  oop with c++
Object oriented programming 6 oop with c++
 
Variables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.pptVariables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.ppt
 
Real-Time Design Patterns
Real-Time Design PatternsReal-Time Design Patterns
Real-Time Design Patterns
 
Synchronization
SynchronizationSynchronization
Synchronization
 
IPC
IPCIPC
IPC
 
IPC
IPCIPC
IPC
 
Distributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithmsDistributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithms
 
Lecture 5.pptx
Lecture 5.pptxLecture 5.pptx
Lecture 5.pptx
 
Process synchronization
Process synchronizationProcess synchronization
Process synchronization
 
Consensus Algorithms: An Introduction & Analysis
Consensus Algorithms: An Introduction & AnalysisConsensus Algorithms: An Introduction & Analysis
Consensus Algorithms: An Introduction & Analysis
 
1 Multithreading basics.pptx
1 Multithreading basics.pptx1 Multithreading basics.pptx
1 Multithreading basics.pptx
 
NaBIC 2013 presentation
NaBIC 2013 presentationNaBIC 2013 presentation
NaBIC 2013 presentation
 
Sync, async and multithreading
Sync, async and multithreadingSync, async and multithreading
Sync, async and multithreading
 
Object Oriented Programming Tutorial.pptx
Object Oriented Programming Tutorial.pptxObject Oriented Programming Tutorial.pptx
Object Oriented Programming Tutorial.pptx
 
Unit three Advanced State Modelling
Unit three Advanced State ModellingUnit three Advanced State Modelling
Unit three Advanced State Modelling
 
ds7_con.ppt
ds7_con.pptds7_con.ppt
ds7_con.ppt
 
Concurrency Programming in Java - 06 - Thread Synchronization, Liveness, Guar...
Concurrency Programming in Java - 06 - Thread Synchronization, Liveness, Guar...Concurrency Programming in Java - 06 - Thread Synchronization, Liveness, Guar...
Concurrency Programming in Java - 06 - Thread Synchronization, Liveness, Guar...
 
Multi threading
Multi threadingMulti threading
Multi threading
 
Operating system 27 semaphores
Operating system 27 semaphoresOperating system 27 semaphores
Operating system 27 semaphores
 

Recently uploaded

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Process and threads

  • 2. 2 Terms and Concepts • A process is a heavyweight flow that can execute concurrently with other processes. • A thread is a lightweight flow that can execute concurrently with other threads within the same process. • An active object is an object that owns a process or thread andcan initiate controlactivity. • Processes and threads are rendered as stereotyped activeclasses. • An active class is a class whose instances are activeobjects. Flow of Control • In a sequential system, there is a single flow of control. i.e, onething, and one thing only, can take place at a time. In a concurrent system, there is multiple simultaneous flow ofcontrol i.e, more than one thing can take place at a time. PROCESSES AND THREADS
  • 3. Classes and Events • Active classes are just classes which represents an independent flow of control • Active classes share the same properties as all otherclasses. • When an active object is created, the associated flow of control is started; when the active object is destroyed, the associated flow of control is terminated • two standard stereotypes that apply to active classes are, <<process>> – Specifies a heavyweight flow that can execute concurrently with other processes. (heavyweight means, a thing 3 known to the OS itself and runs in an independent address <<thread>> – Specifies a lightweight flow that can space) execute concurrently with other threads within the same process (lightweight means, known to the OS itself.) • All the threads that live in the context of a process are peers of one another. PROCESSES AND THREADS
  • 4. Communication • In a system with both active and passive objects, there are four possible combinations ofinteraction. • First, a message may be passed from one passive object to another. • Second, a message may be passed from one active object to another. • In inter-process communication there are two possible styles of communication. First, one active object might synchronously call an operation of another. Second, one active object might asynchronously send a signal or call an operation of anotherobject. • a synchronous message is rendered as a full arrow and an asynchronous message is rendered as a halfarrow. • Third, a message may be passed from an active object to a passive object. • Fourth, a message may be passed from a passive object to an active one. 2 24 44 0 PROCESSES AND THREADS
  • 5. Synchronization • Synchronization means arranging the flow of controls of objects so that mutual exclusion will be guaranteed. • Three approaches are there to handlesynchronization: • Sequential – Callers must coordinate outside the object so that only one flow is in the object at a time • Guarded – multiple flow of control is sequentialized with the help of object’s guarded operations. in effect it becomes sequential. • Concurrent – multiple flow of control is guaranteed by treating each operation as atomic • synchronization are rendered in the operations of active classes with the help of constraints Fig: Synchronization 245 PROCESSES AND THREADS
  • 6. Common Modeling Techniques 1. Modeling Multiple Flows of Control • Identify the opportunities for concurrent action and reify each flow as an active class. Generalize common sets of active objects into an active class. • Capture these static decisions in class diagrams, explicitly highlighting each active class. • Capture these static decisions in class diagrams, explicitly highlighting each active class. • Consider how each group of classes collaborates with one another dynamically. Capture those decisions in interaction diagrams. Explicitly show active objects as the root of such flows. • Identify each related sequence by identifying it with the name of the active object. Pay close attention to communication among active objects. Apply synchronous and asynchronous messaging, asappropriate. • Pay close attention to synchronization among these active objects and the passive objects with which they collaborate. Apply sequential, guarded, or concurrent operation semantics, as appropriate. 6 PROCESSES AND THREADS
  • 7. Modeling Flows of Control 7 PROCESSES AND THREADS
  • 8. 2. Modeling Interprocess Communication • Model the multiple flows of control. • Consider which of these active objects represent processes andwhich represent threads. • Model messaging using asynchronous communication. modelremote procedure calls using synchronouscommunication. • Informally specify the underlying mechanism for communicationby using notes, or more formally by usingcollaborations. 8 PROCESSES AND THREADS
  • 10. DIFFERENCE BETWEEN PROCESS AND THREAD: 1. Process means any program is in execution 2. Process takes more time to terminate 3. It takes more time for creation 4. It also takes more time for context switching 5. Process is less efficient in term of communication 6. Process consume more resources. 7. Process is isolated. Threads share memory 8. Process is called heavy weight process 9. Process switching uses interface in operating system 10. If one process is blocked then it will not effect the execution 1. Thread means segment of a process 2. Thread takes less time to terminate 3. It takes less time for creation 4. It takes less time for context switching 5. Thread is more efficient in term of communication 6. Thread consume less resources. 7. A Thread is lightweight as each thread in a process shares code, data and resources. 8. Thread switching does not require to call a operating system and cause an interrupt to the kernel. 9. Second thread in the same task could not run, while one server thread is blocked.