Process Management
Prof J P Misra
BITS, Pilani
Operating Systems BITS Pilani, Pilani Campus
Program & Process
• Program is set of logically arranged instruction to
perform a specific task.
• Program is written using some kind of language and
compiled to produce machine executable code.
• Program is passive entity containing list of instruction
stored on disk
• Needs to be loaded into memory for execution
• Processor Sequentially executes the instructions one
by one until it encounters a branch instruction
• Process is an instance of executing program
• Process is characterized by
– Its code, Data, stack , Heap and set of register
2 Operating Systems BITS Pilani, Pilani Campus
Process in memory
Max
Stack
Heap
Data
Text
0
3
3 Operating Systems BITS Pilani, Pilani Campus
Process creation
• Process Is created
– When a new job is submitted
– When a user attempts to login
– to provide a service
• Process can be spawned by existing process
4 Operating Systems BITS Pilani, Pilani Campus
How a program/job is executed ?
• For executing a job , OS first creates data structure
for holding the context of process
• Loads the job in memory
• At some point of time the scheduler schedules the job
and it starts executing.
• Dispatcher process dispatches ready to execute
process for execution
– once executing process terminates,
– its time slice expires
– Executing process makes I/O request and gets blocked
• Dispatcher is a system process
5 Operating Systems BITS Pilani, Pilani Campus
Process & Multiprogramming
• In multiprogramming environment, many jobs
can be in memory
• Jobs in memory are ready to execute
• At any point of time one Job would be in
running state and other jobs would be in not
running state.
Operating Systems 6
6 Operating Systems BITS Pilani, Pilani Campus
Memory Layout
Program Counter
Dispatcher
Process A
Process C
Process B
7 Operating Systems BITS Pilani, Pilani Campus
Execution Of Ready Processes
P1, P2, P3 are user processes
D is Dispatcher Process. It takes constant time to dispatch
D P1 D P2 D P3
8 Operating Systems BITS Pilani, Pilani Campus
• Computing system can be considered as
assemblage of set of processes.
• The processes can be system processes or user
processes
• At any given time the processes can be in
different states.
• The system can be modeled with the help of
state transition diagram
Operating Systems 9
9 Operating Systems BITS Pilani, Pilani Campus
Two State Process Model
• Process may in any of the 2 states
– Running
– Not running
10 Operating Systems BITS Pilani, Pilani Campus
Queuing Diagram
Queue P0
Exit
Enter Dispatch
P3 P2 P1 Processor
Pause
Queue May contain ready and blocked
processes
11 Operating Systems BITS Pilani, Pilani Campus
State Transition
• Not running to running state , transition occurs
when
– process in running state finishes execution
– Makes an I/O request
– Time slice for executing process expires
• Running to not running state transition occurs
when
– Running process makes an I/O request
– Time slice of executing process expires
12 Operating Systems BITS Pilani, Pilani Campus
Dispatcher
• Dispatcher schedules a Ready process to CPU for
execution.
• In Two State model Not running state contains
processes which are :
– Ready to run
– Blocked
• Dispatcher is required to linearly search the
queue to find Ready to run process which
Increases dispatcher overhead.
• Solution : Split not running state into Ready state
& Blocked state
13 Operating Systems BITS Pilani, Pilani Campus
Three State Model
Dispatch
Admit Release
Ready Running
Time Out
Event Occurs Event Wait
Blocked
14 Operating Systems BITS Pilani, Pilani Campus
Process States
• Running: The process that is currently being
executed
• Ready: A process that is prepared to execute
when given the opportunity
• Blocked : A process can not execute until
some events occur
• Occurrence of event is usually indicated by
interrupt signal
15 Operating Systems BITS Pilani, Pilani Campus
Queuing Diagram
Queue
Exit
Enter Dispatch
Processor
Pause
Blocked Queue
16 Operating Systems BITS Pilani, Pilani Campus
Queuing Diagram
Queue
Exit
Enter Dispatch
Processor
Pause
Event 1 Queue
Event n Queue
17 Operating Systems BITS Pilani, Pilani Campus
Five State Model
Dispatch
Admit Release
NEW Ready Running Exit
Time Out
Event Occurs Event Wait
Blocked
18 Operating Systems BITS Pilani, Pilani Campus
Why do we need “New” state
• Whenever a job is submitted , OS creates data
structure for keeping track of the process
context and then it tries to load the process.
While loading the process
– System May not have enough memory to hold the
process
– To efficiently execute processes, system may put a
maximum limit on processes in ready queue
19 Operating Systems BITS Pilani, Pilani Campus
Valid State Transitions
• New to ready
• Ready to running
• Running to exit
• Running to ready
• Running to blocked
• Blocked to ready
• Ready to exit
• Blocked to exit
20 Operating Systems BITS Pilani, Pilani Campus
Consider a scenario
All ready processes get blocked on I/O one by
one, the system tries to bring in a process from
new to ready state and it is found no memory
is available to accommodate this process
Q. What do we do ?
Ans. Swapping
21 Operating Systems BITS Pilani, Pilani Campus
One Suspend State
22 Operating Systems BITS Pilani, Pilani Campus
Two Suspend State
23 Operating Systems BITS Pilani, Pilani Campus
State Transitions
• Blocked Blocked/suspended:
– If Ready queue is empty and insufficient memory
is available then one of the blocked process can be
swapped out
– If currently running process requires more memory
24 Operating Systems BITS Pilani, Pilani Campus
State Transitions
• Blocked/ Suspended Ready/suspended
– When the event for which process has been
waiting occurs
• Note
– State information concerning to suspended
process must be accessible to the OS.
• Ready-suspended Ready
– If Ready queue is empty
– If Process in Ready-suspended state has higher
priority than process in Ready state
25 Operating Systems BITS Pilani, Pilani Campus
State Transitions
• Ready Ready/Suspend
– Normally a blocked process is suspended
– Suspend Ready process if it is the only way to free
memory
– Suspend a lower priority ready process than higher
priority blocked process ?
• Blocked Suspended Blocked
• Running Ready suspended
• Various Exit
26 Operating Systems BITS Pilani, Pilani Campus
Thank you
Operating Systems 27
27 Operating Systems BITS Pilani, Pilani Campus
Process Management
Prof J P Misra
BITS, Pilani
Operating Systems BITS Pilani, Pilani Campus
Seven state process state
transition Diagram
29 Operating Systems BITS Pilani, Pilani Campus
Unix Process State Transition Diagram
8
7
1
3 5
9 4 6
30 Operating Systems BITS Pilani, Pilani Campus
Unix System V
• Unix uses two categories of process
– System Process :
• Runs in kernel mode and
• performs administrative and house keeping functions such
as memory allocation, process swapping, scheduling etc.
– User Process :
• Runs in user Mode to execute user program and utilities
• Runs in kernel mode to execute instructions belonging to
kernel
• A user process enters in kernel mode
– by issuing a system call or
– exception / interrupt
31 Operating Systems BITS Pilani, Pilani Campus
Process 0 & Process 1
• Process 0 (Swapper Process) is predefined as
data structure, loaded at boot time .
• Process 0 spawns process 1
• Process 1(Init Process) is ancestor of all other
processes except process 0
32 Operating Systems BITS Pilani, Pilani Campus
Process Summary
• Process is an instance of executing program
• In multiprogramming environment number of process
can reside in system
• At any instance of time processes can be in different
state such as ready, Blocked, Running etc. and
processes move from one state to another state
depending upon certain conditions.
• Processes use available system resources
• OS is responsible for managing all the processes in
the system
33 Operating Systems BITS Pilani, Pilani Campus
Process & Resource at some
instance of time
Process & resource snapshot at some instance of time
34 Operating Systems BITS Pilani, Pilani Campus
OS as Process Manager
• OS must have information about
– the current state of processes
– the current state of Resources in the system
• OS must keep track of utilization of resources
by processes
• OS must constructs tables (control structure)
to maintain information about each entity it is
managing
35 Operating Systems BITS Pilani, Pilani Campus
OS as Process Manager
• To manage processes, OS maintains following
tables
– Memory Tables
– I/O Table
– File Table
– Process table
36 Operating Systems BITS Pilani, Pilani Campus
Memory Table & I/O Table
• Memory Tables keep track
– of allocation of main memory to processes
– of Allocation of secondary memory to processes
– Of protection attributes of main & secondary memory such
as which processes can access certain shared memory
region
– Information needed to manage virtual memory
• I/O Table: To keep track of
– resource allocation,
– resource availability
– I/O request
37 Operating Systems BITS Pilani, Pilani Campus
File Table & Process Table
• File Table
– Provide information about
– Existence of file
– Location on secondary memory
– Current status and attributes of file
• Process table
– keep track of processes
Operating Systems 38
38 Operating Systems BITS Pilani, Pilani Campus
Operating Systems Control table
I/O Table
I/O devices
File File Table Process1
Processes
Memory Process 1
Process 2
Process 3
Process n
Memory Table
Process n
Primary process Table
39 Operating Systems BITS Pilani, Pilani Campus
Process Image
• Process image consists of
– User Data
– User program
– System Stack
– Process control block
• Containing processes attributes
40 Operating Systems BITS Pilani, Pilani Campus
Process Management
• To manage/control a process OS must know
– Where process is located
– Attributes of processes eg. Process id, state etc.
– Collection of attributes are held in Process control
block
41 Operating Systems BITS Pilani, Pilani Campus
Process Attributes
• Process identification
• Processor State Information
• Processes control information
42 Operating Systems BITS Pilani, Pilani Campus
Process Identification
• Identifier of the process
• Identifier of the process that created this
process
• User identifier
43 Operating Systems BITS Pilani, Pilani Campus
Processor State Information
• User Visible registers
• Control and status registers
– Program counter
– Flags
– Status register
• Stack pointer
44 Operating Systems BITS Pilani, Pilani Campus
Processes Control Information
• Scheduling and state information
• Inter process communication
• Process privileges
• Memory management
• Resource ownership & utilization
45 Operating Systems BITS Pilani, Pilani Campus
Functions of OS kernel
• Process Management
– Process creation & termination
– Process scheduling & dispatching
– Process switching
– Process synchronization & support for IPC
– Management of process control block
• Memory Management
– Allocation of address space to process
– Swapping
– Page & segment management
46 Operating Systems BITS Pilani, Pilani Campus
Functions of OS kernel Cont…
• I/O Management
– Buffer management
– Allocation of I/O channels & devices to processes
• Support Services
– Interrupt handling
– Accounting
– monitoring
47 Operating Systems BITS Pilani, Pilani Campus
Thank you
Operating Systems 48
48 Operating Systems BITS Pilani, Pilani Campus