EN
Back to the archive

The encyclopedia · Software & IT · Technical decision · 1988–2017

POSIX won by standardizing the C interface so one program ran on any Unix

The IEEE/Open Group POSIX.1 standard defined the C API and commands an OS must provide, so apps could be written once and port anywhere.

IEEE · The Open Group · X/Open

the move

In the 1980s every Unix variant had its own system calls, so porting a program meant rewriting it.

IEEE and The Open Group wrote POSIX.1 (IEEE Std 1003.1) to define one portable operating-system interface.

It specifies the C library, headers, shell and commands a conforming OS must provide, so a program written to it runs on any conforming system.

Because it defines an interface rather than an implementation, it won both by unifying apps and by letting vendors keep their distinct internals.

why it works

  • The stated goal of POSIX.1 was portability across UNIX environments.
  • It standardizes the interface, not the kernel, so vendors are free inside.
  • It set a common API for C programs and a common shell and utilities.
  • It was jointly published by IEEE and The Open Group, giving it authority.
the payoffStandardize the interface, not the implementationclever

what transfers

To make software portable, standardize the boundary between app and platform; you gain portability without forcing one internal design.

what came after

POSIX became IEEE 1003.1, ISO/IEC 9945 and an Open Group Standard, and the single-specification approach shaped Linux, macOS and most modern Unix-like systems.

references

spotted an error? The archive wants to know.

same kind of clever