SlideShare a Scribd company logo
Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition,
Chapter 3: Processes
3.2 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Chapter 3: Processes
 Process Concept
 Process Scheduling
 Operations on Processes
 Interprocess Communication
 Threads
 Multithreading
3.3 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Objectives
 To introduce the notion of a process -- a program in execution,
which forms the basis of all computation
 To describe the various features of processes, including
scheduling, creation and termination, and communication
 To describe communication in client-server systems
3.4 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
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
 stack
 data section
3.5 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Process in Memory
3.6 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
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
 ready: The process is waiting to be assigned to a processor
 terminated: The process has finished execution
3.7 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Diagram of Process State
3.8 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
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
3.9 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Process Control Block (PCB)
3.10 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
CPU Switch From Process to Process
3.11 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Scheduling
The objective of multiprogramming is to have
some process running at all times, so as to
maximize CPU utilization. The objective of time-
sharing is to switch the CPU among processes so
frequently that users can interact with each
program while it is running. A uniprocessor
system can have only one running process.If
more processes exist, the rest must wait until the
CPU is free and can be rescheduled.
3.12 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
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
3.13 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Ready Queue And Various I/O Device Queues
3.14 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Representation of Process Scheduling
3.15 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
1)The process could issue an I/O request, and
then be placed in an I/O queue.
2)The process could create a new subprocess
and wait for its termination.
3)The process could be removed forcibly from
the CPU, as a result of an interrupt, and be put
back in the ready queue.
Several events during execution
3.16 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
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
3.17 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Addition of Medium Term Scheduling
3.18 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
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
3.19 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Context Switch
 When CPU switches to another process, the system must save the state of
the old process and load the saved state for the new process via a context
switch
 Context of a process represented in the PCB
 Context-switch time is overhead; the system does no useful work while
switching
 Time dependent on hardware support
3.20 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Process Creation
 Parent process create children processes, which, in turn create other
processes, forming a tree of processes
 Generally, process identified and managed via a process identifier (pid)
 Resource sharing
 Parent and children share all resources
 Children share subset of parent’s resources
 Parent and child share no resources
 Execution
 Parent and children execute concurrently
 Parent waits until children terminate
3.21 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Process Creation (Cont)
 Address space
 Child duplicate of parent
 Child has a program loaded into it
 UNIX examples
 fork system call creates new process
 exec system call used after a fork to replace the process’ memory
space with a new program
3.22 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
3.23 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Process Termination
 Process executes last statement and asks the operating system to
delete it (exit)
 Output data from child to parent (via wait)
 Process’ resources are deallocated by operating system
 Parent may terminate execution of children processes (abort)
 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.25 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Interprocess Communication
 Processes within a system may be independent or cooperating
 Cooperating process can affect or be affected by other processes,
including sharing data
 Reasons for cooperating processes:
 Information sharing
 Computation speedup
 Modularity
 Convenience
 Cooperating processes need interprocess communication (IPC)
 Two models of IPC
 Shared memory
 Message passing
3.26 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Communications Models
3.27 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Interprocess Communication – Message Passing
 Mechanism for processes to communicate and to synchronize their actions
 Message system – processes communicate with each other without
resorting to shared variables
 IPC facility provides two operations:
 send(message) – message size 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
 Implementation of communication link
 physical (e.g., shared memory, hardware bus)
 logical (e.g., logical properties)
3.28 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
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
 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
3.29 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
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)
 receive(A,message)
 Properties of communication link
 Link established only if processes share a common mailbox
 A link may be associated with many processes
 Each pair of processes may share several communication links
 Link may be unidirectional or bi-directional
3.30 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
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
3.31 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Buffering
 Queue of messages attached to the link; implemented in one of three
ways
1. Zero capacity – 0 messages
Sender must wait for receiver (rendezvous)
2. Bounded capacity – finite length of n messages
Sender must wait if link full
3. Unbounded capacity – infinite length
Sender never waits
Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition,
End of Chapter 3

More Related Content

PDF
OperatingSystemChp3
PDF
5 process synchronization
PDF
6 cpu scheduling
PDF
4 threads
PDF
2 os structure
PPT
3.Process Management
PDF
CPU scheduling ppt file
PDF
3 processes
OperatingSystemChp3
5 process synchronization
6 cpu scheduling
4 threads
2 os structure
3.Process Management
CPU scheduling ppt file
3 processes

What's hot (19)

PPT
PPT
Template 1 ch3
PPTX
Chapter 14 Computer Architecture
PPT
PDF
Slides For Operating System Concepts By Silberschatz Galvin And Gagne
PPTX
Operating systems chapter 5 silberschatz
PDF
Unit II - 3 - Operating System - Process Synchronization
PDF
Main memory-2 (ch8,os)
PPT
Chapter 18 - Distributed Coordination
PPT
Ch4 OS
 
PPT
Process
PDF
Ch4 threads
PPTX
cs8493 - operating systems unit 2
PPT
PDF
Ch1
PDF
Operating System : Ch18 distributed coordination
Template 1 ch3
Chapter 14 Computer Architecture
Slides For Operating System Concepts By Silberschatz Galvin And Gagne
Operating systems chapter 5 silberschatz
Unit II - 3 - Operating System - Process Synchronization
Main memory-2 (ch8,os)
Chapter 18 - Distributed Coordination
Ch4 OS
 
Process
Ch4 threads
cs8493 - operating systems unit 2
Ch1
Operating System : Ch18 distributed coordination
Ad

Similar to Ch3 processes (20)

PDF
Ch3OperSys
PPT
OS UNIT2.ppt
PPTX
ch3-lect7.pptx
PPT
ch3_smu.ppt
PPT
ch3.ppt
PPT
chapter 2 name:- operating System Processes
PPT
CPU Process Synchronization (Chapter 3).pptx
PPT
Unit 2-ch3-Processes in Operating Systems
PPTX
Operating systems Week 3 Processes 01-10-2018.pptx
PPT
Chapter 3-Processes userd in operating sys.ppt
PPT
Lec 06 processes part two pf operationg system .ppt
PDF
Unit II - 1 - Operating System Process
PPT
ch3huilyuiykuuytyfjdbcydtrhdtrdf.pptfrjtrdykrdt
PPT
Processes
PPT
process management.ppt
PPT
ch3.ppt
PPT
PPT
ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 c...
PPT
Lecture_Process.ppt
PPT
ch3.ppt
Ch3OperSys
OS UNIT2.ppt
ch3-lect7.pptx
ch3_smu.ppt
ch3.ppt
chapter 2 name:- operating System Processes
CPU Process Synchronization (Chapter 3).pptx
Unit 2-ch3-Processes in Operating Systems
Operating systems Week 3 Processes 01-10-2018.pptx
Chapter 3-Processes userd in operating sys.ppt
Lec 06 processes part two pf operationg system .ppt
Unit II - 1 - Operating System Process
ch3huilyuiykuuytyfjdbcydtrhdtrdf.pptfrjtrdykrdt
Processes
process management.ppt
ch3.ppt
ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 ch3 c...
Lecture_Process.ppt
ch3.ppt
Ad

More from Ankit Dubey (20)

PDF
Unit 1 android and it's tools quiz {mad cwipedia}
PDF
Scheduling
PDF
Chapter 4
PDF
Chapter 3
PDF
Chapter 2
PDF
Chapter 1
PDF
Chapter 5
PDF
Ch5 cpu-scheduling
PPT
Ch2 system structure
PPT
Ch1 introduction-to-os
PDF
Android i
PDF
Mongodb mock test_ii
PDF
Android mock test_iii
PDF
Android mock test_ii
PDF
Ajp notes-chapter-06
PDF
Ajp notes-chapter-05
PDF
Ajp notes-chapter-04
PDF
Ajp notes-chapter-03
PDF
Ajp notes-chapter-02
PDF
Ajp notes-chapter-01
Unit 1 android and it's tools quiz {mad cwipedia}
Scheduling
Chapter 4
Chapter 3
Chapter 2
Chapter 1
Chapter 5
Ch5 cpu-scheduling
Ch2 system structure
Ch1 introduction-to-os
Android i
Mongodb mock test_ii
Android mock test_iii
Android mock test_ii
Ajp notes-chapter-06
Ajp notes-chapter-05
Ajp notes-chapter-04
Ajp notes-chapter-03
Ajp notes-chapter-02
Ajp notes-chapter-01

Recently uploaded (20)

PDF
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
PPT
Occupational Health and Safety Management System
PDF
22EC502-MICROCONTROLLER AND INTERFACING-8051 MICROCONTROLLER.pdf
PPTX
Current and future trends in Computer Vision.pptx
PPTX
Management Information system : MIS-e-Business Systems.pptx
PPT
Total quality management ppt for engineering students
PDF
Design Guidelines and solutions for Plastics parts
PDF
August 2025 - Top 10 Read Articles in Network Security & Its Applications
PPTX
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
PDF
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PPTX
Safety Seminar civil to be ensured for safe working.
PDF
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
PPTX
Software Engineering and software moduleing
PPTX
Nature of X-rays, X- Ray Equipment, Fluoroscopy
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
introduction to high performance computing
PDF
distributed database system" (DDBS) is often used to refer to both the distri...
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
Occupational Health and Safety Management System
22EC502-MICROCONTROLLER AND INTERFACING-8051 MICROCONTROLLER.pdf
Current and future trends in Computer Vision.pptx
Management Information system : MIS-e-Business Systems.pptx
Total quality management ppt for engineering students
Design Guidelines and solutions for Plastics parts
August 2025 - Top 10 Read Articles in Network Security & Its Applications
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
Exploratory_Data_Analysis_Fundamentals.pdf
Safety Seminar civil to be ensured for safe working.
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
Software Engineering and software moduleing
Nature of X-rays, X- Ray Equipment, Fluoroscopy
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
Automation-in-Manufacturing-Chapter-Introduction.pdf
introduction to high performance computing
distributed database system" (DDBS) is often used to refer to both the distri...

Ch3 processes

  • 1. Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition, Chapter 3: Processes
  • 2. 3.2 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Chapter 3: Processes  Process Concept  Process Scheduling  Operations on Processes  Interprocess Communication  Threads  Multithreading
  • 3. 3.3 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Objectives  To introduce the notion of a process -- a program in execution, which forms the basis of all computation  To describe the various features of processes, including scheduling, creation and termination, and communication  To describe communication in client-server systems
  • 4. 3.4 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition 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  stack  data section
  • 5. 3.5 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Process in Memory
  • 6. 3.6 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition 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  ready: The process is waiting to be assigned to a processor  terminated: The process has finished execution
  • 7. 3.7 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Diagram of Process State
  • 8. 3.8 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition 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
  • 9. 3.9 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Process Control Block (PCB)
  • 10. 3.10 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition CPU Switch From Process to Process
  • 11. 3.11 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Scheduling The objective of multiprogramming is to have some process running at all times, so as to maximize CPU utilization. The objective of time- sharing is to switch the CPU among processes so frequently that users can interact with each program while it is running. A uniprocessor system can have only one running process.If more processes exist, the rest must wait until the CPU is free and can be rescheduled.
  • 12. 3.12 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition 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
  • 13. 3.13 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Ready Queue And Various I/O Device Queues
  • 14. 3.14 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Representation of Process Scheduling
  • 15. 3.15 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition 1)The process could issue an I/O request, and then be placed in an I/O queue. 2)The process could create a new subprocess and wait for its termination. 3)The process could be removed forcibly from the CPU, as a result of an interrupt, and be put back in the ready queue. Several events during execution
  • 16. 3.16 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition 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
  • 17. 3.17 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Addition of Medium Term Scheduling
  • 18. 3.18 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition 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
  • 19. 3.19 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Context Switch  When CPU switches to another process, the system must save the state of the old process and load the saved state for the new process via a context switch  Context of a process represented in the PCB  Context-switch time is overhead; the system does no useful work while switching  Time dependent on hardware support
  • 20. 3.20 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Process Creation  Parent process create children processes, which, in turn create other processes, forming a tree of processes  Generally, process identified and managed via a process identifier (pid)  Resource sharing  Parent and children share all resources  Children share subset of parent’s resources  Parent and child share no resources  Execution  Parent and children execute concurrently  Parent waits until children terminate
  • 21. 3.21 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Process Creation (Cont)  Address space  Child duplicate of parent  Child has a program loaded into it  UNIX examples  fork system call creates new process  exec system call used after a fork to replace the process’ memory space with a new program
  • 22. 3.22 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition
  • 23. 3.23 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Process Termination  Process executes last statement and asks the operating system to delete it (exit)  Output data from child to parent (via wait)  Process’ resources are deallocated by operating system  Parent may terminate execution of children processes (abort)  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. 3.25 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Interprocess Communication  Processes within a system may be independent or cooperating  Cooperating process can affect or be affected by other processes, including sharing data  Reasons for cooperating processes:  Information sharing  Computation speedup  Modularity  Convenience  Cooperating processes need interprocess communication (IPC)  Two models of IPC  Shared memory  Message passing
  • 25. 3.26 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Communications Models
  • 26. 3.27 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Interprocess Communication – Message Passing  Mechanism for processes to communicate and to synchronize their actions  Message system – processes communicate with each other without resorting to shared variables  IPC facility provides two operations:  send(message) – message size 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  Implementation of communication link  physical (e.g., shared memory, hardware bus)  logical (e.g., logical properties)
  • 27. 3.28 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition 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  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
  • 28. 3.29 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition 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)  receive(A,message)  Properties of communication link  Link established only if processes share a common mailbox  A link may be associated with many processes  Each pair of processes may share several communication links  Link may be unidirectional or bi-directional
  • 29. 3.30 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition 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
  • 30. 3.31 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Buffering  Queue of messages attached to the link; implemented in one of three ways 1. Zero capacity – 0 messages Sender must wait for receiver (rendezvous) 2. Bounded capacity – finite length of n messages Sender must wait if link full 3. Unbounded capacity – infinite length Sender never waits
  • 31. Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition, End of Chapter 3