What Is a Process? Process States Explained
- Process Management
- Memory Management
- Deadlocks
- OS Introduction & Fundamentals
- CPU Scheduling Algorithms
- Threads & Concurrency
- Inter-Process Communication (IPC)
- Process Synchronization
- Virtual Memory & Paging
- File Systems
- Disk Scheduling
- I/O Management
What a Process Actually Is
A process is a program in execution - not just the code sitting on disk, but that code actively running, along with everything it needs while running: its own memory space, its current register values, and its execution state.
Why a Process Isn't the Same Thing as a Program
A program is a passive file sitting on disk. A process is that program actively loaded into memory and running - the same program can be launched multiple times, creating multiple separate, independent processes from the exact same underlying program file.
The Five Common Process States
admitted
New -------------------> Ready <---------------\
| |
scheduler dispatch interrupt/time-slice expires
| |
v |
Running -----------------/
/ \
I/O or event exit
wait needed |
| v
v Terminated
Waiting
|
event completes
|
+----------> back to ReadyWhat Each State Actually Means
| State | Meaning |
|---|---|
| New | The process is being created |
| Ready | Waiting for the CPU to become available |
| Running | Currently executing on the CPU |
| Waiting | Blocked, waiting for an event (like I/O) to complete |
| Terminated | Finished execution |
Why Understanding These States Matters
Every scheduling algorithm covered later in this section is really just a set of rules for deciding which Ready process moves into the Running state next - understanding this state diagram is the foundation everything else in process management builds on.