0% found this document useful (0 votes)
7 views

lecture 4

The document discusses the concept of processes in operating systems, detailing the various states a process can be in, such as new, running, waiting, ready, and terminated. It also covers process scheduling, including long-term and short-term schedulers, and introduces the idea of cooperating processes and inter-process communication (IPC) mechanisms. Additionally, it explains direct and indirect communication methods between processes, highlighting the importance of communication links and mailboxes.

Uploaded by

yushahabib25
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

lecture 4

The document discusses the concept of processes in operating systems, detailing the various states a process can be in, such as new, running, waiting, ready, and terminated. It also covers process scheduling, including long-term and short-term schedulers, and introduces the idea of cooperating processes and inter-process communication (IPC) mechanisms. Additionally, it explains direct and indirect communication methods between processes, highlighting the importance of communication links and mailboxes.

Uploaded by

yushahabib25
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

PROCESSES

LECTURE 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
 stack
 data section
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
DIAGRAM OF PROCESS STATE
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
REPRESENTATION OF PROCESS SCHEDULING
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
ADDITION OF MEDIUM TERM SCHEDULING
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
SCHEDULERS (CONT.)

 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
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
 „Context-switch time is overhead; the system does no useful work
while switching „
 Time dependent on hardware support
PROCESS CREATION

 Parent process create children processes, which, in turn create


other processes, forming a tree of processes „
Resource sharing
 Parent and children share all resources
 Children share subset of parent’s resources
Execution
 Parent and children execute concurrently
 Parent waits until children terminate
COOPERATING PROCESSES

 Independent process cannot affect or be affected by the execution


of another process „
 Cooperating process can affect or be affected by the execution of
another process „
Advantages of process cooperation
 Information sharing
 Computation speed-up
 Modularity
INTER_PROCESS COMMUNICATION (IPC)

 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
 Logical
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
 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
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

„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
INDIRECT COMMUNICATION

Operations
 create a new mailbox
 send and receive messages through mailbox
 destroy a mailbox „

Primitives are defined as:


 send(A, message) –send a message to mailbox A
 receive(A, message) –receive a message from mailbox A
INDIRECT COMMUNICATION

Mailbox sharing
 P1, P2,andP3share mailbox A
 P1, sends; P2andP3receive
 Who gets the message? „

Solutions
 Allow a link to be associated with at most two processes
 Allow only one process at a time to execute a receive operation
 Allow the system to select arbitrarily the receiver. Sender is
notified who the receiver was.
Thank you

You might also like