SlideShare a Scribd company logo
Processes Management
By MOHAMMAD NAZIR
Chapter 3: Processes
• Process Concept
• Process Scheduling
• Operations on Processes
• Interprocess Communication
3.1 Process Concept
Process Concept
• An operating system executes a variety of programs:
– Batch system – jobs
– Time-shared systems – user programs or tasks
• Textbook uses the terms job and process almost interchangeably
• Process – a program in execution; process execution must
progress in sequential fashion
• A process includes:
– program counter and process registers
– stack and heap
– text section
– data section
Process in Memory
Process State
• As a process executes, it changes state
– new: The process is being created
– running: Instructions are being executed
– waiting: The process is waiting for some event to occur (such as an
I/O completion or reception of a signal)
– ready: The process is waiting to be assigned to a processor
– terminated: The process has finished execution
Process Control Block (PCB)
Information associated with each process
• Process state
• Program counter
• CPU registers
• CPU scheduling information
• Memory-management information
• Accounting information
• I/O status information
CPU Switch From Process to Process
Context Switch
• When CPU switches to another process (because of an interrupt), the
system must save the state of the old process and load the saved state
for the new process
• Context-switch time is overhead; the system does no useful work while
switching
• Time dependent on hardware support
3.2 Process Scheduling
Process Scheduling Queues
• Job queue – set of all processes in the system
• Ready queue – set of all processes residing in main memory, ready
and waiting to execute
• Device queues – set of processes waiting for an I/O device
• Processes migrate among the various queues
Ready Queue And Various I/O Device Queues
Representation of Process Scheduling
An interrupt occurs
Schedulers
• Long-term scheduler (or job scheduler) – selects which
processes should be brought into the ready queue
• Short-term scheduler (or CPU scheduler) – selects which
process should be executed next and allocates CPU (covered in
Chapter 5)
Schedulers (Cont.)
• Short-term scheduler is invoked very frequently (milliseconds)  (must
be fast)
• Long-term scheduler is invoked very infrequently (seconds, minutes) 
(may be slow)
• The long-term scheduler controls the degree of multiprogramming
• Processes can be described as either:
– I/O-bound process – spends more time doing I/O than
computations, many short CPU bursts
– CPU-bound process – spends more time doing computations; few
very long CPU bursts
• Some systems have no long-term scheduler
– Every new process is loaded into memory
– System stability effected by physical limitation and self-adjusting
nature of the human user
3.3 Operations on Processes
Process Creation
• Parent process creates children processes, which, in turn create other
processes, forming a tree of processes
• Resource sharing options
– Parent and children share all resources
– Children share subset of parent’s resources
– Parent and child share no resources
• Execution options
– Parent and children execute concurrently
– Parent waits until some or all of its children have terminated
Process Creation (Cont.)
• Address space options
– Child process is a duplicate of the parent process (same program and
data)
– Child process has a new program loaded into it
• UNIX example
– fork() system call creates a new process
– exec() system call used after a fork() to replace the memory space of
the process with a new program
Process Tree on a typical Solaris System
C Program Forking Separate Process
int main(void)
{
pid_t processID;
processID = fork(); // Create a process
if (processID < 0)
{ // Error occurred
fprintf(stderr, "Fork failed");
exit(-1);
} // End if
else if (processID == 0)
{ // Inside the child process (no execlp() this time)
printf ("(Child) I am doing something");
} // End else if
else
{ // Inside the parent process
printf("(Parent) I am waiting for PID#%d to finishn", processID);
wait(NULL);
printf ("n(Parent) I have finished waiting; the child is done");
exit(0);
} // End else
return 0;
} // End main
Process Creation
Process Termination
• Process executes last statement and asks the operating system to terminate it
(via exit)
– Exit (or return) status value from child is received by the parent (via
wait())
– Process’ resources are deallocated by operating system
• Parent may terminate execution of children processes (kill() function)
– Child has exceeded allocated resources
– Task assigned to child is no longer required
– If parent is exiting
• Some operating system do not allow child to continue if its parent
terminates
– All children terminated - cascading termination
3.4 Interprocess Communication
Cooperating Processes
• An independent process is one that cannot affect or be affected by the
execution of another process
• A cooperating process can affect or be affected by the execution of
another process in the system
• Advantages of process cooperation
– Information sharing (of the same piece of data)
– Computation speed-up (break a task into smaller subtasks)
– Modularity (dividing up the system functions)
– Convenience (to do multiple tasks simultaneously)
• Two fundamental models of interprocess communication
– Shared memory (a region of memory is shared)
– Message passing (exchange of messages between processes)
Communications Models
Message passing Shared memory
Shared Memory Systems
• Shared memory requires communicating processes to establish a
region of shared memory
• Information is exchanged by reading and writing data in the
shared memory
• A common paradigm for cooperating processes is the producer-
consumer problem
• A producer process produces information that is consumed by a
consumer process
– unbounded-buffer places no practical limit on the size of the
buffer
– bounded-buffer assumes that there is a fixed buffer size
Message-Passing Systems
• Mechanism to allow processes to communicate and to synchronize their actions
• No address space needs to be shared; this is particularly useful in a distributed
processing environment (e.g., a chat program)
• Message-passing facility provides two operations:
– send(message) – message size can be fixed or variable
– receive(message)
• If P and Q wish to communicate, they need to:
– establish a communication link between them
– exchange messages via send/receive
• Logical implementation of communication link
– Direct or indirect communication
– Synchronous or asynchronous communication
– Automatic or explicit buffering
Implementation Questions
• How are links established?
• Can a link be associated with more than two processes?
• How many links can there be between every pair of communicating
processes?
• What is the capacity of a link?
• Is the size of a message that the link can accommodate fixed or variable?
• Is a link unidirectional or bi-directional?
Direct Communication
• Processes must name each other explicitly:
– send (P, message) – send a message to process P
– receive(Q, message) – receive a message from process Q
• Properties of communication link
– Links are established automatically between every pair of processes
that want to communicate
– A link is associated with exactly one pair of communicating processes
– Between each pair there exists exactly one link
– The link may be unidirectional, but is usually bi-directional
• Disadvantages
– Limited modularity of the resulting process definitions
– Hard-coding of identifiers are less desirable than indirection
techniques
Indirect Communication
• Messages are directed and received from mailboxes (also referred to
as ports)
– Each mailbox has a unique id
– Processes can communicate only if they share a mailbox
• send(A, message) – send message to mailbox A
• receive(A, message) – receive message from mailbox A
• Properties of communication link
– Link is established between a pair of processes only if both have a
shared mailbox
– A link may be associated with more than two processes
– Between each pair of processes, there may be many different
links, with each link corresponding to one mailbox
Indirect Communication (continued)
• For a shared mailbox, messages are received based on the
following methods:
– Allow a link to be associated with at most two processes
– Allow at most one process at a time to execute a receive()
operation
– Allow the system to select arbitrarily which process will receive
the message (e.g., a round robin approach)
• Mechanisms provided by the operating system
– Create a new mailbox
– Send and receive messages through the mailbox
– Destroy a mailbox
Synchronization
• Message passing may be either blocking or non-blocking
• Blocking is considered synchronous
– Blocking send has the sender block until the message is received
– Blocking receive has the receiver block until a message is available
• Non-blocking is considered asynchronous
– Non-blocking send has the sender send the message and continue
– Non-blocking receive has the receiver receive a valid message or
null
• When both send() and receive() are blocking, we have a rendezvous
between the sender and the receiver
Buffering
• Whether communication is direct or indirect, messages exchanged by
communicating processes reside in a temporary queue
• These queues can be implemented in three ways:
1. Zero capacity – the queue has a maximum length of zero
- Sender must block until the recipient receives the message
2. Bounded capacity – the queue has a finite length of n
- Sender must wait if queue is full
3. Unbounded capacity – the queue length is unlimited
Sender never blocks
The End

More Related Content

What's hot

Lecture 5 inter process communication
Lecture 5 inter process communicationLecture 5 inter process communication
Lecture 5 inter process communication
Kumbirai Junior Muzavazi
 
21 process scheduling alogorithm
21 process scheduling alogorithm21 process scheduling alogorithm
21 process scheduling alogorithmmyrajendra
 
Process creation and termination In Operating System
Process creation and termination In Operating SystemProcess creation and termination In Operating System
Process creation and termination In Operating System
Farhan Aslam
 
CS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMSCS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMS
Kathirvel Ayyaswamy
 
10 Multicore 07
10 Multicore 0710 Multicore 07
10 Multicore 07timcrack
 
Sara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time Systems
Sara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time SystemsSara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time Systems
Sara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time Systems
knowdiff
 
Introduction to parallel_computing
Introduction to parallel_computingIntroduction to parallel_computing
Introduction to parallel_computing
Mehul Patel
 
Processor Allocation (Distributed computing)
Processor Allocation (Distributed computing)Processor Allocation (Distributed computing)
Processor Allocation (Distributed computing)Sri Prasanna
 
Unit 2 part 2(Process)
Unit 2 part 2(Process)Unit 2 part 2(Process)
Unit 2 part 2(Process)
WajeehaBaig
 
CS6401 OPERATING SYSTEMS Unit 3
CS6401 OPERATING SYSTEMS Unit 3CS6401 OPERATING SYSTEMS Unit 3
CS6401 OPERATING SYSTEMS Unit 3
Kathirvel Ayyaswamy
 
Chapter 3 - Processes
Chapter 3 - ProcessesChapter 3 - Processes
Chapter 3 - Processes
Wayne Jones Jnr
 
Ch4 OS
Ch4 OSCh4 OS
Ch4 OSC.U
 
resource management
  resource management  resource management
resource managementAshish Kumar
 
Distributed System Management
Distributed System ManagementDistributed System Management
Distributed System Management
Ibrahim Amer
 
Parallel processing
Parallel processingParallel processing
Parallel processing
Shivalik college of engineering
 

What's hot (20)

Lecture 5 inter process communication
Lecture 5 inter process communicationLecture 5 inter process communication
Lecture 5 inter process communication
 
21 process scheduling alogorithm
21 process scheduling alogorithm21 process scheduling alogorithm
21 process scheduling alogorithm
 
Process creation and termination In Operating System
Process creation and termination In Operating SystemProcess creation and termination In Operating System
Process creation and termination In Operating System
 
Ch4
Ch4Ch4
Ch4
 
CS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMSCS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMS
 
10 Multicore 07
10 Multicore 0710 Multicore 07
10 Multicore 07
 
Sara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time Systems
Sara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time SystemsSara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time Systems
Sara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time Systems
 
OSCh4
OSCh4OSCh4
OSCh4
 
Introduction to parallel_computing
Introduction to parallel_computingIntroduction to parallel_computing
Introduction to parallel_computing
 
Processor Allocation (Distributed computing)
Processor Allocation (Distributed computing)Processor Allocation (Distributed computing)
Processor Allocation (Distributed computing)
 
Unit 2 part 2(Process)
Unit 2 part 2(Process)Unit 2 part 2(Process)
Unit 2 part 2(Process)
 
CS6401 OPERATING SYSTEMS Unit 3
CS6401 OPERATING SYSTEMS Unit 3CS6401 OPERATING SYSTEMS Unit 3
CS6401 OPERATING SYSTEMS Unit 3
 
Chapter 3 - Processes
Chapter 3 - ProcessesChapter 3 - Processes
Chapter 3 - Processes
 
OS_Ch4
OS_Ch4OS_Ch4
OS_Ch4
 
Process
ProcessProcess
Process
 
Ch4 OS
Ch4 OSCh4 OS
Ch4 OS
 
resource management
  resource management  resource management
resource management
 
Ch03
Ch03Ch03
Ch03
 
Distributed System Management
Distributed System ManagementDistributed System Management
Distributed System Management
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 

Similar to Ch03 processes

Ch3 processes
Ch3   processesCh3   processes
Ch3 processes
Welly Dian Astika
 
Processes
ProcessesProcesses
Processes
RaviRaj339
 
Operating system 19 interacting processes and ipc
Operating system 19 interacting processes and ipcOperating system 19 interacting processes and ipc
Operating system 19 interacting processes and ipc
Vaibhav Khanna
 
Process Management.ppt
Process Management.pptProcess Management.ppt
Process Management.ppt
JeelBhanderi4
 
Intro Basic of OS .ppt
Intro Basic of OS .pptIntro Basic of OS .ppt
Intro Basic of OS .ppt
Varsha506533
 
Operating System
Operating SystemOperating System
Operating System
Hitesh Mohapatra
 
Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...
Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...
Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...
morganjohn3
 
Chapter -2 operating system presentation
Chapter -2 operating system presentationChapter -2 operating system presentation
Chapter -2 operating system presentation
chnrketan
 
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.pptModule-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
KAnurag2
 
UNIT I-Processes.pptx
UNIT I-Processes.pptxUNIT I-Processes.pptx
UNIT I-Processes.pptx
GaneshKumar537286
 
Operating system 18 process creation and termination
Operating system 18 process creation and terminationOperating system 18 process creation and termination
Operating system 18 process creation and termination
Vaibhav Khanna
 
interprocess-communication.pdf
interprocess-communication.pdfinterprocess-communication.pdf
interprocess-communication.pdf
AmarSingh21897
 
IPC
IPCIPC
Lecture- 2_Process Management.pdf
Lecture- 2_Process Management.pdfLecture- 2_Process Management.pdf
Lecture- 2_Process Management.pdf
Harika Pudugosula
 
Process Management.pdf
Process Management.pdfProcess Management.pdf
Process Management.pdf
Yashjangid9
 
Operating system 17 process management
Operating system 17 process managementOperating system 17 process management
Operating system 17 process management
Vaibhav Khanna
 
cs-intro-os.ppt
cs-intro-os.pptcs-intro-os.ppt
cs-intro-os.ppt
infomerlin
 

Similar to Ch03 processes (20)

Ch3 processes
Ch3   processesCh3   processes
Ch3 processes
 
Processes
ProcessesProcesses
Processes
 
Os
OsOs
Os
 
Operating system 19 interacting processes and ipc
Operating system 19 interacting processes and ipcOperating system 19 interacting processes and ipc
Operating system 19 interacting processes and ipc
 
Ch3
Ch3Ch3
Ch3
 
Process Management.ppt
Process Management.pptProcess Management.ppt
Process Management.ppt
 
Intro Basic of OS .ppt
Intro Basic of OS .pptIntro Basic of OS .ppt
Intro Basic of OS .ppt
 
Operating System
Operating SystemOperating System
Operating System
 
Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...
Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...
Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...
 
Chapter -2 operating system presentation
Chapter -2 operating system presentationChapter -2 operating system presentation
Chapter -2 operating system presentation
 
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.pptModule-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
 
UNIT I-Processes.pptx
UNIT I-Processes.pptxUNIT I-Processes.pptx
UNIT I-Processes.pptx
 
Operating system 18 process creation and termination
Operating system 18 process creation and terminationOperating system 18 process creation and termination
Operating system 18 process creation and termination
 
interprocess-communication.pdf
interprocess-communication.pdfinterprocess-communication.pdf
interprocess-communication.pdf
 
IPC
IPCIPC
IPC
 
IPC
IPCIPC
IPC
 
Lecture- 2_Process Management.pdf
Lecture- 2_Process Management.pdfLecture- 2_Process Management.pdf
Lecture- 2_Process Management.pdf
 
Process Management.pdf
Process Management.pdfProcess Management.pdf
Process Management.pdf
 
Operating system 17 process management
Operating system 17 process managementOperating system 17 process management
Operating system 17 process management
 
cs-intro-os.ppt
cs-intro-os.pptcs-intro-os.ppt
cs-intro-os.ppt
 

More from Nazir Ahmed

Data structures final lecture 1
Data structures final  lecture 1Data structures final  lecture 1
Data structures final lecture 1
Nazir Ahmed
 
Data structures lecture 04
Data structures  lecture 04Data structures  lecture 04
Data structures lecture 04
Nazir Ahmed
 
Data structure
Data structureData structure
Data structure
Nazir Ahmed
 
Cover letter
Cover letterCover letter
Cover letter
Nazir Ahmed
 
Control unit design(1)
Control unit design(1)Control unit design(1)
Control unit design(1)
Nazir Ahmed
 
Computer architecture mcq (2)
Computer architecture mcq (2)Computer architecture mcq (2)
Computer architecture mcq (2)
Nazir Ahmed
 
Complete binary tree and heap
Complete binary tree and heapComplete binary tree and heap
Complete binary tree and heap
Nazir Ahmed
 
Clamper clipper(10)
Clamper clipper(10)Clamper clipper(10)
Clamper clipper(10)
Nazir Ahmed
 
Cisc mc68000
Cisc mc68000Cisc mc68000
Cisc mc68000
Nazir Ahmed
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
Nazir Ahmed
 
Chapter 07 ddl_sql
Chapter 07 ddl_sqlChapter 07 ddl_sql
Chapter 07 ddl_sql
Nazir Ahmed
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
Nazir Ahmed
 
Chapter 03
Chapter 03Chapter 03
Chapter 03
Nazir Ahmed
 
Chapter # 12 er modeling
Chapter # 12 er modelingChapter # 12 er modeling
Chapter # 12 er modeling
Nazir Ahmed
 
Chapeter 2
Chapeter 2Chapeter 2
Chapeter 2
Nazir Ahmed
 
Ch7 1 v1
Ch7 1 v1Ch7 1 v1
Ch7 1 v1
Nazir Ahmed
 
Ch07 deadlocks
Ch07 deadlocksCh07 deadlocks
Ch07 deadlocks
Nazir Ahmed
 
Ch05 cpu-scheduling
Ch05 cpu-schedulingCh05 cpu-scheduling
Ch05 cpu-scheduling
Nazir Ahmed
 
Ch04 threads
Ch04 threadsCh04 threads
Ch04 threads
Nazir Ahmed
 
Ch1 v1
Ch1 v1Ch1 v1
Ch1 v1
Nazir Ahmed
 

More from Nazir Ahmed (20)

Data structures final lecture 1
Data structures final  lecture 1Data structures final  lecture 1
Data structures final lecture 1
 
Data structures lecture 04
Data structures  lecture 04Data structures  lecture 04
Data structures lecture 04
 
Data structure
Data structureData structure
Data structure
 
Cover letter
Cover letterCover letter
Cover letter
 
Control unit design(1)
Control unit design(1)Control unit design(1)
Control unit design(1)
 
Computer architecture mcq (2)
Computer architecture mcq (2)Computer architecture mcq (2)
Computer architecture mcq (2)
 
Complete binary tree and heap
Complete binary tree and heapComplete binary tree and heap
Complete binary tree and heap
 
Clamper clipper(10)
Clamper clipper(10)Clamper clipper(10)
Clamper clipper(10)
 
Cisc mc68000
Cisc mc68000Cisc mc68000
Cisc mc68000
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Chapter 07 ddl_sql
Chapter 07 ddl_sqlChapter 07 ddl_sql
Chapter 07 ddl_sql
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Chapter 03
Chapter 03Chapter 03
Chapter 03
 
Chapter # 12 er modeling
Chapter # 12 er modelingChapter # 12 er modeling
Chapter # 12 er modeling
 
Chapeter 2
Chapeter 2Chapeter 2
Chapeter 2
 
Ch7 1 v1
Ch7 1 v1Ch7 1 v1
Ch7 1 v1
 
Ch07 deadlocks
Ch07 deadlocksCh07 deadlocks
Ch07 deadlocks
 
Ch05 cpu-scheduling
Ch05 cpu-schedulingCh05 cpu-scheduling
Ch05 cpu-scheduling
 
Ch04 threads
Ch04 threadsCh04 threads
Ch04 threads
 
Ch1 v1
Ch1 v1Ch1 v1
Ch1 v1
 

Recently uploaded

South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
kimdan468
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
EduSkills OECD
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 

Recently uploaded (20)

South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 

Ch03 processes

  • 2. Chapter 3: Processes • Process Concept • Process Scheduling • Operations on Processes • Interprocess Communication
  • 4. Process Concept • An operating system executes a variety of programs: – Batch system – jobs – Time-shared systems – user programs or tasks • Textbook uses the terms job and process almost interchangeably • Process – a program in execution; process execution must progress in sequential fashion • A process includes: – program counter and process registers – stack and heap – text section – data section
  • 6. Process State • As a process executes, it changes state – new: The process is being created – running: Instructions are being executed – waiting: The process is waiting for some event to occur (such as an I/O completion or reception of a signal) – ready: The process is waiting to be assigned to a processor – terminated: The process has finished execution
  • 7. Process Control Block (PCB) Information associated with each process • Process state • Program counter • CPU registers • CPU scheduling information • Memory-management information • Accounting information • I/O status information
  • 8. CPU Switch From Process to Process
  • 9. Context Switch • When CPU switches to another process (because of an interrupt), the system must save the state of the old process and load the saved state for the new process • Context-switch time is overhead; the system does no useful work while switching • Time dependent on hardware support
  • 11. Process Scheduling Queues • Job queue – set of all processes in the system • Ready queue – set of all processes residing in main memory, ready and waiting to execute • Device queues – set of processes waiting for an I/O device • Processes migrate among the various queues
  • 12. Ready Queue And Various I/O Device Queues
  • 13. Representation of Process Scheduling An interrupt occurs
  • 14. Schedulers • Long-term scheduler (or job scheduler) – selects which processes should be brought into the ready queue • Short-term scheduler (or CPU scheduler) – selects which process should be executed next and allocates CPU (covered in Chapter 5)
  • 15. Schedulers (Cont.) • Short-term scheduler is invoked very frequently (milliseconds)  (must be fast) • Long-term scheduler is invoked very infrequently (seconds, minutes)  (may be slow) • The long-term scheduler controls the degree of multiprogramming • Processes can be described as either: – I/O-bound process – spends more time doing I/O than computations, many short CPU bursts – CPU-bound process – spends more time doing computations; few very long CPU bursts • Some systems have no long-term scheduler – Every new process is loaded into memory – System stability effected by physical limitation and self-adjusting nature of the human user
  • 16. 3.3 Operations on Processes
  • 17. Process Creation • Parent process creates children processes, which, in turn create other processes, forming a tree of processes • Resource sharing options – Parent and children share all resources – Children share subset of parent’s resources – Parent and child share no resources • Execution options – Parent and children execute concurrently – Parent waits until some or all of its children have terminated
  • 18. Process Creation (Cont.) • Address space options – Child process is a duplicate of the parent process (same program and data) – Child process has a new program loaded into it • UNIX example – fork() system call creates a new process – exec() system call used after a fork() to replace the memory space of the process with a new program
  • 19. Process Tree on a typical Solaris System
  • 20. C Program Forking Separate Process int main(void) { pid_t processID; processID = fork(); // Create a process if (processID < 0) { // Error occurred fprintf(stderr, "Fork failed"); exit(-1); } // End if else if (processID == 0) { // Inside the child process (no execlp() this time) printf ("(Child) I am doing something"); } // End else if else { // Inside the parent process printf("(Parent) I am waiting for PID#%d to finishn", processID); wait(NULL); printf ("n(Parent) I have finished waiting; the child is done"); exit(0); } // End else return 0; } // End main
  • 22. Process Termination • Process executes last statement and asks the operating system to terminate it (via exit) – Exit (or return) status value from child is received by the parent (via wait()) – Process’ resources are deallocated by operating system • Parent may terminate execution of children processes (kill() function) – Child has exceeded allocated resources – Task assigned to child is no longer required – If parent is exiting • Some operating system do not allow child to continue if its parent terminates – All children terminated - cascading termination
  • 24. Cooperating Processes • An independent process is one that cannot affect or be affected by the execution of another process • A cooperating process can affect or be affected by the execution of another process in the system • Advantages of process cooperation – Information sharing (of the same piece of data) – Computation speed-up (break a task into smaller subtasks) – Modularity (dividing up the system functions) – Convenience (to do multiple tasks simultaneously) • Two fundamental models of interprocess communication – Shared memory (a region of memory is shared) – Message passing (exchange of messages between processes)
  • 26. Shared Memory Systems • Shared memory requires communicating processes to establish a region of shared memory • Information is exchanged by reading and writing data in the shared memory • A common paradigm for cooperating processes is the producer- consumer problem • A producer process produces information that is consumed by a consumer process – unbounded-buffer places no practical limit on the size of the buffer – bounded-buffer assumes that there is a fixed buffer size
  • 27. Message-Passing Systems • Mechanism to allow processes to communicate and to synchronize their actions • No address space needs to be shared; this is particularly useful in a distributed processing environment (e.g., a chat program) • Message-passing facility provides two operations: – send(message) – message size can be fixed or variable – receive(message) • If P and Q wish to communicate, they need to: – establish a communication link between them – exchange messages via send/receive • Logical implementation of communication link – Direct or indirect communication – Synchronous or asynchronous communication – Automatic or explicit buffering
  • 28. Implementation Questions • How are links established? • Can a link be associated with more than two processes? • How many links can there be between every pair of communicating processes? • What is the capacity of a link? • Is the size of a message that the link can accommodate fixed or variable? • Is a link unidirectional or bi-directional?
  • 29. Direct Communication • Processes must name each other explicitly: – send (P, message) – send a message to process P – receive(Q, message) – receive a message from process Q • Properties of communication link – Links are established automatically between every pair of processes that want to communicate – A link is associated with exactly one pair of communicating processes – Between each pair there exists exactly one link – The link may be unidirectional, but is usually bi-directional • Disadvantages – Limited modularity of the resulting process definitions – Hard-coding of identifiers are less desirable than indirection techniques
  • 30. Indirect Communication • Messages are directed and received from mailboxes (also referred to as ports) – Each mailbox has a unique id – Processes can communicate only if they share a mailbox • send(A, message) – send message to mailbox A • receive(A, message) – receive message from mailbox A • Properties of communication link – Link is established between a pair of processes only if both have a shared mailbox – A link may be associated with more than two processes – Between each pair of processes, there may be many different links, with each link corresponding to one mailbox
  • 31. Indirect Communication (continued) • For a shared mailbox, messages are received based on the following methods: – Allow a link to be associated with at most two processes – Allow at most one process at a time to execute a receive() operation – Allow the system to select arbitrarily which process will receive the message (e.g., a round robin approach) • Mechanisms provided by the operating system – Create a new mailbox – Send and receive messages through the mailbox – Destroy a mailbox
  • 32. Synchronization • Message passing may be either blocking or non-blocking • Blocking is considered synchronous – Blocking send has the sender block until the message is received – Blocking receive has the receiver block until a message is available • Non-blocking is considered asynchronous – Non-blocking send has the sender send the message and continue – Non-blocking receive has the receiver receive a valid message or null • When both send() and receive() are blocking, we have a rendezvous between the sender and the receiver
  • 33. Buffering • Whether communication is direct or indirect, messages exchanged by communicating processes reside in a temporary queue • These queues can be implemented in three ways: 1. Zero capacity – the queue has a maximum length of zero - Sender must block until the recipient receives the message 2. Bounded capacity – the queue has a finite length of n - Sender must wait if queue is full 3. Unbounded capacity – the queue length is unlimited Sender never blocks