LEARNING LINUX LINGO: POSIX

An acronym for Portable Operating System Interface For UNIX, POSIX is a set of standards that define the interface between UNIX applications and the various flavors of the UNIX operating system. The standard arose from the proliferation of incompatible variants of UNIX in the 1980s but has since been broadened to incorporate non-UNIX operating systems.

The Linux kernel is generally compatible with the earlier version of the POSIX standards (POSIX.1), and some Linux distributions have passed POSIX.1 compatibility tests. However, these standards are quite general and are, in the judgment of most experts, insufficient to enforce the degree of standardization that was initially envisioned when the POSIX effort was launched.

The latest POSIX standard, called POSIX 1b (officially, IEE Std 1003.1b-1993), defines a much more extensive set of system calls that can be passed between the operating system kernel and applications. Efforts are underway to bring the Linux kernel into greater compliance with the most recent POSIX standard.

Even with full POSIX compliance, standardization may still be an issue among the various Linux distributions. Tension exists between the creative and marketing efforts of Linux distribution designers, who want to exploit Linux's flexibility to create specialized distributions, and the interests of application programmers, who would prefer that their applications could install and run on a wide variety of distributions. Specific issues include file system standardization, binary compatibility across x86 distributions, incompatible binary packaging systems, and incompatible software installation utilities.

Some observers believe that the lack of standards is holding back Linux's acceptance, while others believe just as strongly that the vailability of varying flavors of Linux is a strength, not a weakness.