Process in Operating System
1. Process Concept
A process is an executing instance of a program. It includes the program code, current activity (indicated by
the value of the Program Counter), process stack, data section, and other resources.
Key components of a process:
- Program Code (Text section)
- Program Counter
- Stack (for temporary data)
- Heap (for dynamic memory)
- Data Section (global variables)
- Registers and Process Control Block (PCB)
2. Process Control Block (PCB)
The PCB is a data structure that holds information about a process:
- Process ID (PID)
- Process State
- Program Counter
- CPU Registers
- Memory Management Info
- Accounting Info
- I/O Status
3. Process Management
Process management refers to managing the creation, execution, suspension, and termination of processes.
Major OS responsibilities:
- Create and delete user/system processes
- Suspend and resume processes
- Provide mechanisms for process synchronization
Process in Operating System
- Provide mechanisms for process communication
- Handle deadlocks
4. Process States
Processes transition through multiple states during their lifecycle:
1. New: Process is being created
2. Ready: Waiting to be assigned to a processor
3. Running: Instructions are being executed
4. Waiting: Waiting for some event like I/O
5. Terminated: Finished execution
6. Suspended: Temporarily moved to secondary storage
State transitions:
- New -> Ready -> Running -> Terminated
- Running -> Waiting (for I/O)
- Waiting -> Ready (after I/O completes)
- Running -> Ready (preemption by scheduler)
5. Summary
A process is a fundamental unit of work in an OS. It is more than a program and includes execution context.
The OS must manage multiple processes efficiently using process control blocks, scheduling, and state
transitions. Proper process management ensures system stability, multitasking, and resource sharing.