T20 Dec 18, 2025 2 min read

User space

The unprivileged execution environment where applications run, separated from direct hardware access and mediated by the kernel.

Definition

User space is the unprivileged execution environment where most software runs: applications, services, shells, language runtimes, and tooling.

User-space code is separated from direct hardware control. It interacts with the machine via the kernel.

What user space can and can’t do

  • It can execute machine instructions on the CPU like any code.
  • It can’t perform privileged operations (direct device access, changing page tables, etc.) without going through the kernel.

The kernel mediates privileged actions via system calls, enforcing permissions and isolation.

A useful framing

Most “production issues” I see aren’t about user-space code being unable to compute. They’re about user-space code being unable to access something it doesn’t have the right to access (files, ports, network routes, memory, CPU time) in the current runtime environment.