Computer Process- What It's Also Known As
What the Hell Is a Computer Process?
A computer process is a program in execution. That's the simplest way to put it. When you double-click an app or run a command, your OS spins up a process to handle it.
Processes are also called:
- Tasks
- Jobs
- Execution contexts
- Running instances
Operating systems use different names for the same thing. Linux folks say "process" or "task." Windows leans toward "process." Old-school mainframe people say "job." They're all describing the same concept.
What Makes Up a Process?
Every process has three core components:
1. The Program Code
This is the set of instructions sitting in memory. It's static. The code doesn't change when you run a program—it's just sitting there waiting.
2. The Execution Context
This is everything the CPU needs to run that code. We're talking:
- CPU registers
- Program counter
- Stack pointer
- Memory addresses in use
When your OS switches between processes, it saves this context and loads the next one's. This is called context switching.
3. Associated Resources
Processes don't run in isolation. Each one grabs:
- Memory allocation (heap and stack)
- File handles
- Network connections
- Environment variables
Process vs Thread — Stop Confusing These
People mix these up constantly. Here's the difference:
- A process is an isolated execution environment with its own memory space
- A thread is a lightweight unit within a process that shares memory with other threads
Think of it like a factory. The factory is the process. Workers on the assembly line are threads. One factory can have multiple assembly lines, and workers share tools and materials within that factory.
Types of Processes
Processes fall into two categories:
Independent Processes
These don't communicate with others. They run solo, handle their own data, and exit when done. Simple command-line tools usually work this way.
Cooperating Processes
These share data or coordinate with other processes. Your browser runs cooperating processes—one for each tab, plus a main controller. They pass data back and forth constantly.
How Processes Communicate
When processes need to share data, they use IPC mechanisms:
- Pipes and sockets
- Shared memory
- Message queues
- Signals
Your OS provides these. They're not optional—they're how everything works together.
Process States — What They're Doing
A process isn't just "running." It cycles through states:
- New — Being created
- Ready — Waiting for CPU time
- Running — Currently executing
- Blocked — Waiting for I/O or an event
- Terminated — Done, but not cleaned up yet
The OS scheduler decides which ready process gets CPU time next. That's the core of multitasking.
Comparing Related Concepts
| Concept | Memory Space | Creation Cost | Communication |
|---|---|---|---|
| Process | Separate | High | IPC required |
| Thread | Shared | Low | Direct (shared memory) |
| Program | Static on disk | N/A | N/A |
| Daemon | Separate | High | IPC (usually) |
Getting Started: Viewing Processes on Your System
Want to see processes in action? Open your terminal:
On Linux/Mac:
- Type
ps auxto see all running processes - Type
toporhtopfor real-time monitoring - Type
pkill processnameto kill a stuck process
On Windows:
- Open Task Manager with
Ctrl+Shift+Esc - Use
tasklistin Command Prompt - Use
Get-Processin PowerShell
Process IDs — Every Process Gets a Number
Every process gets a unique PID (Process ID). Your OS tracks them this way. When a process crashes, you reference it by PID to kill or debug it.
Init (PID 1) is always the first process. Everything else descends from it.
The Bottom Line
A computer process is just a program doing something. It's also called a task, job, or execution instance depending on who you're talking to. The terminology changes; the concept doesn't.
Your OS runs hundreds of these simultaneously, switching between them so fast you think everything is happening at once. That's the whole game—process scheduling makes modern computing possible.