T18 Dec 18, 2025 2 min read

Operating system

The software layer that manages hardware resources and provides safe, stable abstractions (processes, files, networking) for programs.

Definition

An operating system (OS) is the software layer that makes a machine usable by multiple programs: it manages hardware resources (CPU, memory, disk, network) and provides stable abstractions (files, sockets, processes) with permissions and safety boundaries.

The important split: kernel vs user space

Most OSes are conceptually split into:

  • the kernel: privileged code that can control hardware and enforce rules
  • user space: where applications run without direct hardware access

Programs live primarily in user space and rely on the kernel for privileged operations via system calls.

What the OS “does” for a running program

For a running program (as one or more processes), the OS typically provides:

  • scheduling: who runs on the CPU and when
  • memory management: virtual memory, paging, allocation primitives
  • I/O: filesystems, devices, networking
  • security and permissions: user IDs, ACLs/capabilities, sandboxing
  • coordination primitives: signals, pipes, shared memory, timers

Why this matters operationally

When production differs from dev, the OS is often part of the difference: permissions, filesystem layout, resource limits, clocks, and kernel behavior all live in the runtime environment.