All specs
IEEE Std 1003.1-2017Open GroupMust KnowSystemsProduct2017

POSIX.1-2017 (Single UNIX Specification v4)

OS Interfaces & ABIs·The Open Group
WHY YOU NEED THIS

POSIX defines the lingua franca of Unix/Linux systems programming. Every system call pattern, signal handler, file descriptor idiom, and shell script convention in the Linux/macOS world comes from this spec.

What It Defines

The Portable Operating System Interface standard defines the API for Unix-compatible systems: process model (fork/exec/wait), file I/O, signals, pipes, UNIX domain sockets, threads (pthreads), shared memory, message queues, timers, and shell utilities. SUSv4 is the current revision, co-published by IEEE and The Open Group. Linux, macOS, FreeBSD, Solaris, and AIX are all POSIX-compatible to varying degrees.

Canonical (Normative)

Convenient (Practical)

posixunixlinuxmacossyscallpthreadsapios
Standards Body
The Open Group

Global consortium that maintains the Single UNIX Specification (SUS) and co-publishes POSIX (IEEE Std 1003.1) with the Austin Group (joint IEEE/The Open Group committee). POSIX defines the portable API for Unix-compatible systems: process model, file I/O, signals, sockets, and threads. The Open Group also certifies UNIX conformance for commercial operating systems.

Visit

Related Specs

Linux FdnShould Know

ELF

Every compiled binary on Linux is ELF. Understanding ELF is essential for debugging, reverse engineering, dynamic linking, build toolchains, binary patching, and tools like readelf, objdump, ldd, and patchelf.

SystemsOS Interfaces & ABIs
Details
LSB 5.0Linux FdnNiche

LSB

LSB defines what 'Linux-compatible binary' means in practice. Critical for ISVs shipping pre-compiled software across distros and for understanding minimum glibc version requirements in cross-distro deployments.

SystemsOS Interfaces & ABIs
Details
Linux FdnShould Know

AMD64 ABI

Every C/C++/Rust/Go/Swift program on x86-64 Linux follows this ABI. Understanding it is essential for FFI bindings, inline assembly, debugger step-over logic, and compiler backend development.

SystemsOS Interfaces & ABIs
Details
ArmShould Know

AAPCS64

Every function call on AArch64 (Apple Silicon, Android arm64, AWS Graviton) follows AAPCS64. Required for correct assembly, FFI bindings from any language, and compiler backend targeting Arm64.

SystemsOS Interfaces & ABIs
Details