moses.md
#18

Unix vs Unix-like vs POSIX

Unix

Unix today is a trademark. Historically it was an operating system from AT&T's Bell Labs (1969), then a family of operating systems descended from the original AT&T Unix. Now, to legally call your OS "Unix", you need trademark certification from The Open Group.

macOS is certified Unix.

Unix-like

Unix-like means implementing the Unix interface:

  • Hierarchical file system rooted at /
  • Everything is a file (devices, sockets, pipes)
  • Text streams for input/output
  • Pipes to compose programs
  • A shell for scripting and interaction
  • The standard utilities (grep, sed, awk, cat, ls...)
  • Fork/exec process model
  • User/group permissions

Linux is Unix-like. It's not Unix™, but it's Unix in the ways that matter.

POSIX

POSIX (Portable Operating System Interface) is the IEEE standard that defines what "Unix-like" means technically. It specifies the system calls, shell behavior, and utilities that make Unix Unix. If your OS is POSIX-compliant, code written for Unix will run on it.

How they relate

  • Unix is the origin and the trademark
  • POSIX is the specification that captured what Unix is
  • Unix-like means "POSIX-compliant, spiritually Unix, but not branded"

The original Unix operating system died; the philosophy survived. See The world Unix made.