T11 Dec 18, 2025 2 min read

Executable

A binary that the operating system can load and start as a running program.

Definition

An executable is a binary that the operating system knows how to load and start.

Once started, it becomes a program: the CPU begins executing its machine instructions.

What makes a binary “executable”

An executable typically has:

  • the right file format for the OS loader (e.g., ELF, Mach-O, PE)
  • an entry point (where execution begins)
  • segment/section layout information (what to map into memory)
  • dependency metadata (especially with dynamic linking)
  • appropriate permissions (e.g., the executable bit on Unix-like systems)

Common reasons executables fail to start

Startup failures often come from mismatches between the artifact and its environment:

  • wrong CPU architecture (built for a different machine)
  • wrong OS/loader expectations
  • missing shared libraries (dynamic linking failures)
  • missing execute permission
  • environment constraints (policies, sandboxing, missing files, missing certificates)

Even when an executable starts successfully, correct behavior still depends on the runtime environment and any language/platform runtime it relies on.

A useful analogy

An executable is like a packaged appliance with a standardized plug and wiring diagram. If the wall outlet doesn’t match (wrong OS/architecture, missing libraries, missing permissions), it won’t power on. If it powers on, it still depends on the room it’s placed in (configuration, files, network).