Operating System - Processes
Operating System - Processes
Previous Next
Process
A process is basically a program in execution. The execution of a process must progress in a
sequential fashion.
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.
When a program is loaded into the memory and it becomes a process, it can be divided into
four sections ─ stack, heap, text and data. The following image shows a simplified layout of a
process inside main memory −
https://www.tutorialspoint.com/operating_system/os_processes.htm 1/5
7/10/24, 11:39 AM Operating System - Processes
Stack
1 The process Stack contains the temporary data such as method/function
parameters, return address and local variables.
Heap
2
This is dynamically allocated memory to a process during its run time.
Text
3 This includes the current activity represented by the value of Program Counter
and the contents of the processor's registers.
Data
4
This section contains the global and static variables.
Program
A program is a piece of code which may be a single line or millions of lines. A computer
program is usually written by a computer programmer in a programming language. For
example, here is a simple program written in C programming language −
#include <stdio.h>
https://www.tutorialspoint.com/operating_system/os_processes.htm 2/5
7/10/24, 11:39 AM Operating System - Processes
int main() {
printf("Hello, World! \n");
return 0;
}
A computer program is a collection of instructions that performs a specific task when executed
by a computer. When we compare a program with a process, we can conclude that a process is
a dynamic instance of a computer program.
Explore our latest online courses and learn new skills at your own pace. Enroll and become
a certified expert to boost your career.
In general, a process can have one of the following five states at a time.
Start
1
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
2
that they can run. Process may come into this state after Start state or while
running it by but interrupted by the scheduler to assign CPU to some other
process.
Running
3 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
4 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
5
system, it is moved to the terminated state where it waits to be removed from
main memory.
https://www.tutorialspoint.com/operating_system/os_processes.htm 3/5
7/10/24, 11:39 AM Operating System - Processes
Process State
1 The current state of the process i.e., whether it is ready, running, waiting, or
whatever.
Process privileges
2
This is required to allow/disallow access to system resources.
Process ID
3
Unique identification for each of the process in the operating system.
Pointer
4
A pointer to parent process.
Program Counter
5 Program Counter is a pointer to the address of the next instruction to be
executed for this process.
CPU registers
6 Various CPU registers where process need to be stored for execution for
running state.
https://www.tutorialspoint.com/operating_system/os_processes.htm 4/5
7/10/24, 11:39 AM Operating System - Processes
This includes the information of page table, memory limits, Segment table
depending on memory used by the operating system.
Accounting information
9 This includes the amount of CPU used for process execution, time limits,
execution ID etc.
IO status information
10
This includes a list of I/O devices allocated to the process.
The architecture of a PCB is completely dependent on Operating System and may contain
different information in different operating systems. Here is a simplified diagram of a PCB −
The PCB is maintained for a process throughout its lifetime, and is deleted once the process
terminates.
Print Page
https://www.tutorialspoint.com/operating_system/os_processes.htm 5/5