0% found this document useful (0 votes)
386 views48 pages

Process Management: Operating Systems

This document discusses process management in operating systems. It defines a process as an instance of a executing program with its own memory space. A program needs to be loaded into memory and executed by the CPU to become a process. Processes can exist in different states like running, ready, blocked, and suspended. Operating systems use process state transition models with multiple states to manage processes efficiently in memory and ensure fair scheduling of ready processes.

Uploaded by

vidishsa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
386 views48 pages

Process Management: Operating Systems

This document discusses process management in operating systems. It defines a process as an instance of a executing program with its own memory space. A program needs to be loaded into memory and executed by the CPU to become a process. Processes can exist in different states like running, ready, blocked, and suspended. Operating systems use process state transition models with multiple states to manage processes efficiently in memory and ensure fair scheduling of ready processes.

Uploaded by

vidishsa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 48

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

You might also like