T22 Dec 18, 2025 2 min read

Process

An OS-managed running instance of a program with an identity, virtual address space, permissions, and scheduled execution.

Definition

A process is the operating system’s unit of running and accounting: an executing workload with an identity (PID), its own virtual address space, permissions, and kernel-managed resources.

Process vs program

  • A program is “code in motion”: the running instance in the abstract.
  • A process is the OS object that represents that running instance and enforces boundaries around it.

This distinction is practical: you can inspect and control processes (limits, signals, priority), even when you don’t control the source code.

What a process typically includes

  • virtual address space (memory mappings, stack/heap)
  • one or more threads of execution (implementation detail, but common)
  • open file descriptors (files, sockets, pipes)
  • environment variables, working directory
  • permissions/identity (user/group, capabilities)

Why processes enable isolation

Processes are the main way the OS enforces isolation: separate address spaces and controlled access to kernel-managed resources reduce the blast radius of bugs.

When reasoning about a running system, it helps to be able to describe how a process begins and ends: