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.
Synonyms and related terms
- Related: process image, entry point, loader, dynamic linker, shared library
- Neighbor concepts: binary, program, runtime environment
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).