Unit 1 Process Management
Unit 1 Process Management
-Ashu Mehta
Database Systems
Process
A process is basically a program in execution.
The execution of a process must progress in a
sequential fashion.
A process is defined as an entity which
represents the basic unit of work to be
implemented in the system.
To put it in simple terms, we write our
computer programs in a text file and when we
execute this program, it becomes a process
which performs all the tasks mentioned in the
program.
Process States/Life Cycle
Start : This is the initial state when a process is first
started/created.
Ready : The process is waiting to be assigned to a
processor. Ready processes are waiting to have the
processor allocated to them by the operating system
so that they can run.
Running: Once the process has been assigned to a
processor by the OS scheduler, the process state is set
to running and the processor executes its instructions.
Waiting: Process moves into the waiting state if it
needs to wait for a resource, such as waiting for user
input, or waiting for a file to become available.
Terminated or Exit: Once the process finishes its
execution, or it is terminated by the operating system,
it is moved to the terminated state where it waits to be
removed from main memory.
Process Control Block (PCB)
A Process Control Block is a data structure
maintained by the Operating System for every
process.
Each process is represented in the operating
system by a process control block, also
called a task control block.
A PCB keeps all the information needed to
keep track of a process.
The PCB is maintained for a process
throughout its lifetime, and is deleted once
the process terminates.
Process ID: Unique identification for each of
the process in the operating system.
Process State: The current state of the
process i.e., whether it is ready, running,
waiting, or whatever.
Pointer: A pointer to parent process.
Priority: Tells about the priority of processes.
Program Counter: Program Counter is a
pointer to the address of the next instruction
to be executed for this process.
CPU registers: Various CPU registers where
process need to be stored for execution for
running state.
IO status information: This includes a list
of I/O devices allocated to the process.
Accounting information: This includes the
amount of CPU used for process execution,
time limits, execution ID etc.
Process Scheduling
The process scheduling is the activity of the
process manager that handles the removal of
the running process from the CPU and the
selection of another process on the basis of a
particular strategy.
Process scheduling is an essential part of a
Multiprogramming operating systems. Such
operating systems allow more than one
process to be loaded into the executable
memory at a time and the loaded process
shares the CPU using time multiplexing.
Process Scheduling Queues
Running
When a new process is created, it enters into
the system as in the running state.
Not Running
Processes that are not running are kept in
queue, waiting for their turn to execute. Each
entry in the queue is a pointer to a particular
process. Queue is implemented by using linked
list
Schedulers