When you use Linux, you may hear people talking about POSIX compliance. What does that mean? This article will explain POSIX's relation to Linux and the attempt to standardize operating systems.
In the 1980s, Unix systems were gaining popularity in business and academia, but there were already two major variants: AT&T's System V and the University of California's Berkeley Software Distribution, or BSD. To make things even more complicated, Unix vendors would change things around on their own systems, such as offering "System V with BSD enhancements."
Like now, the Unix market was then fragmented. There was a growing sense of need among the Unix community to standardize the system.
The Institute of Electrical and Electronics Engineers (IEEE) began to draft a standard for operating systems, using Unix as a starting point. The standard 1003, was named "POSIX" for Portable Operating System Interface in 1988. The name was even coined by Richard Stallman.
The US Government required certain large computer purchases to be compliant with POSIX under FIPS-151. Today, POSIX standards are developed by the Austin Group, a joint effort with the IEEE, The Open Group, and ISO/IEC JTC 1.
The idea behind POSIX is that a developer should create an application and have it work on any system that complies with the standard.
The POSIX standard that will affect most end-users is POSIX.2, which governs the behavior of the shell and various standard utility programs.
On a POSIX-compliant system, all of the options should be the same, no matter which operating system variant you're using.
The other POSIX standards are mainly of interest to programmers. These include everything from threads to the standard C library.
Most Linux Distros Aren’t Officially POSIX-Compliant, but Close
Almost all the remaining commercial Unix versions are POSIX-certified. Because there are many different Linux distributions, and certification with POSIX is expensive, there are only two officially certified Linux distributions: Inspur K-UX and Huawei's EulerOS. While most Linux distros aren't certified, many of the major ones adhere to POSIX in practice to varying degrees.
The Linux community has had its own standardization effort, Linux Standard Base, but this has mostly fallen by the wayside. In the meantime, major distros like Red Hat Enterprise Linux (RHEL) and Ubuntu have become de facto standards in the Linux world. Because of concerns about interoperability, there will likely be more standardization efforts in the future.
Consistent Behavior Makes It Easy to Move From System to System
Standards like POSIX make it easy to move among different operating systems. You don't have to run a Unix-like operating system to take advantage of it. On Windows 10 or 11, you can install a (mostly) POSIX-compliant system using Windows Subsystem for Linux.
Need to use the Linux terminal on your Windows PC? Learn how to run Linux on Windows 10 with Windows Subsystem for Linux.