0% found this document useful (0 votes)
86 views25 pages

Process Management: Robin Mathur Department of Computer Science & Engineering, Lpu

This document discusses process management concepts including process creation, scheduling, termination, and interprocess communication. A process is a program in execution that comprises code, stack, heap, and state information stored in a process control block. Process scheduling aims to maximize CPU usage by selecting ready processes for execution. Context switching saves and loads process states when switching between CPU processes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views25 pages

Process Management: Robin Mathur Department of Computer Science & Engineering, Lpu

This document discusses process management concepts including process creation, scheduling, termination, and interprocess communication. A process is a program in execution that comprises code, stack, heap, and state information stored in a process control block. Process scheduling aims to maximize CPU usage by selecting ready processes for execution. Context switching saves and loads process states when switching between CPU processes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 25

Process Management

ROBIN MATHUR
DEPARTMENT OF COMPUTER SCIENCE &
ENGINEERING ,LPU
Processes
 Process Concept
 Process Scheduling
 Operations on Processes
 Cooperating Processes
 Interprocess Communication
 Communication in Client-Server Systems
A process is a program under execution which is executed from
RAM and essentially comprises of various sections, such as the
Executable instructions, Stack, Heap and also a hidden section
known as the State
Process

 Program is passive entity stored on disk (executable file),


process is active
 Program becomes process when executable file loaded
into memory
 Execution of program started via GUI mouse clicks,
command line entry of its name, etc
 One program can be several processes
 Consider multiple users executing the same program
 Process – a program in execution; process execution must
progress in sequential fashion
 Multiple parts
 The program code, also called text section
 Current activity including program counter, processor
registers
 Stack containing temporary data
 Function parameters, return addresses, local variables
 Data section containing global variables
 Heap containing memory dynamically allocated during run time
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 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
Process Control Block (PCB)
Information associated with each process
(also called task control block)
 Process state – running, waiting, etc
 Program counter – location of instruction to next
execute
 CPU registers – contents of all process-centric
registers
 CPU scheduling information- priorities, scheduling
queue pointers
 Memory-management information – memory
allocated to the process
 Accounting information – CPU used, clock time
elapsed since start, time limits
 I/O status information – I/O devices allocated to
process, list of open files
CPU Switch From Process to Process
Process Scheduling

 Maximize CPU use, quickly switch processes onto CPU


for time sharing
 Process scheduler selects among available processes
for next execution on CPU
 Maintains scheduling queues of processes
 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
Schedulers
 Short-term scheduler (or CPU scheduler) – selects which process should
be executed next and allocates CPU
 Sometimes the only scheduler in a system
 Short-term scheduler is invoked frequently (milliseconds)  (must be
fast)
 Long-term scheduler (or job scheduler) – selects which processes should
be brought into the ready queue
 Long-term scheduler is invoked 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
 Long-term scheduler strives for good process mix
Addition of Medium Term Scheduling

 Medium-term scheduler can be added if degree of multiple


programming needs to decrease
 Remove process from memory, store on disk, bring back in
from disk to continue execution: swapping
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
 The more complex the OS and the PCB  the longer
the context switch
 Time dependent on hardware support
 Some hardware provides multiple sets of registers per
CPU  multiple contexts loaded at once
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
 Parent and child share no resources
 Execution
 Parent and children execute concurrently
 Parent waits until children terminate
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
Process Termination
 Process executes last statement and asks the operating system to
terminate 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
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
 Reasons for providing an environment that allows process
cooperation
 Information sharing
 Computation speed-up
 Modularity
 Convenience

You might also like