

WHAT IS PROCESS ?
· A process is basically a program execution in sequential order.
· A programmer writes a program in text or in high level language , the complier will converts the code written in high level language in low level language or in machine level language to execute the code and provide the required output . It is nothing but a process which helps to get the required output to the user.
· When a program loads into memory , then it’s a become a process. It is divided into 4 section i.e : Stack , Heap , Data and Text .
· The following shows the layout of the process in the main memory
+------------------------------+
| STACK |
+------------------------------+
| HEAP |
+------------------------------+
| TEXT |
+------------------------------+
| DATA |
+------------------------------+
COMPONENTS & DESCRIPTION :
1) STACK : A stack is data structure that follows the LAST IN FIRST OUT principle (LIFO) . Its add data onto stack using push operation and removes the top most element from the stack using pop operation .
2) HEAP : It is a process in which the memory is allocated dynamically during runtime.
3) TEXT : It includes the current activity represented by the value of Program Counter and the contents of the processor's registers.
4) DATA : It contains the static and global variable.
PROGRAM :
A program is piece of code which may contains one line or millions lines . Program is written by a programmer in a programming language .
For example : following program is written in C language
#include <stdio.h>
#include<conio.h>
Void main(){
Clrscr();
Printf(“Hello world”);
Getch();
}
The above program will print hello world as output .
PROCESS LIFE CYCLE :
When a process starts it goes through different states as follows :
1) START : It is the initial state where the process is started / created .
2) READY : This state in computing means the program are ready to run . This process come into state after the start state.
3) RUNNING : The process state is set to running and the processor executes its instructions.
4) WAITING : This process state that if it need to wait for some resources like waiting for user input or waiting for certain files.
5) TEMINATE OR EXIT : Once the process is completed it gets terminated and get removed from the main memory.
Process Control Block (PCB) :
It is a data structure which is maintained by the operating system .
It helps is managing the information about each running process .
It contains various details about that operating system to effectively manage and control the process .
A PCB need the following listed thing to keep the track of the process.
1) Process State : The current state of the process i.e., whether it is ready, running, waiting, or whatever.
2) Process privileges : This is required to allow / disallow access to system resources.
3) Process ID : Unique ID is given to each process in operating system . It helps to identify the process easily by their id.
4) Pointer : it is a pointer to parent access .
5) Program Counter : It stores the address of next instruction which is to be executed .
6) CPU registers : Various CPU registers where process need to be stored for execution for running state.
7) CPU Scheduling Information : Set the Process priority and other scheduling information which is required to schedule the process.
8) Memory management information : This includes the information of page table, memory limits, Segment table depending on memory used by the operating system.